Криптография сегодня как никогда в моде. Если простыми словами, то это наука о способах безопасной передачи данных в присутствии третьих лиц. Если ещё проще, то это наука о шифровании.
Сегодня, когда ЦРУ прослушивает даже президентов и канцлеров, вопрос шифрования стоит очень остро. И не только в мессенджерах. Но и в банковских переводах и платежах. Да и много где ещё.
А вот эта задачка в своё время совершила переворот в теории криптографии. Попробуйте её решить и испытать катарсис первооткрывателя.
Вы хотите отправить посылкой бриллиантовое колье своей любимой. Другого способа кроме почты у вас нет. На посылку можно навесить любое количество замков, и будем считать, что открыть посылку без ключа от замка никто не может. И других способов вскрытия посылки как будто бы тоже не существует.
Как поступить, чтобы возлюбленная точно смогла открыть посылку и достать свой подарок, не отправляя ей ключи от замка?
Ниже есть решение, но я прошу — не лишайте себя возможности получить удовольствие от решения этой задачи. Напоминаю, что задача совершила переворот в теории криптографии, так что не надо искать какие-то подвохи и лазейки в условии. Решение должно быть как-то связано с шифрованием.
Решение
Получив посылку с замком, но без ключа, ваша любимая, очевидно, не сможет открыть посылку и забрать своё бриллиантовое колье. Но так как количество замков на посылке неограниченно, она может навесить на посылку свой замок и отправить её обратно.
Когда посылка вернется к вам, вы снимаете свой замок своим ключом и снова отправите посылку любимой. Теперь уже на посылке будет только один замок, тот который навесила сама девушка. От этого замка у неё есть ключ, поэтому когда посылка придет к ней во второй раз, она спокойно её откроет и заберет свои бриллианты.
Как видите, ключи никому не пересылались. А раз они не пересылались, то и перехватить их нельзя. В общем, если вы поняли эту задачу, то вы поняли основной принцип криптографии. Испытали катарсис?
Не забываем, что у меня есть Инстаграм и много других интересных задач на канале, например, вот эти: