Разминка для мозга пикабушников
Смысл задания заключается в том, чтобы определить Геопозицию кода (цифровой код нанесённый на столбе около загаданного объекта) в г. Севастополь (Крым).
Собственно само ЗАДАНИЕ:
Советский математик, автор стихов и пьес уже 6-й раз помогает студентам поступить во ВТУЗ:
224.3.8
306.11.3
11.5.8
95.8.1
159.4.3
335.6.4
45.2.27
190.2.1
95.4.4
137.1.2
215.7.1
101.10.20
229.8.28
97.2.15
131.4.5
323.11.1
Про шифровки в тексте
К посту про розыгрыш
За что я люблю людей так за то, что они очень любят усложнять себе жизнь. И делать из простого сложное. Почти всегда.
На самом деле составить такую шифровку намного проще, чем кажется. Вот на эту ушло всего полчаса. Да, она очень простая, не спорю. Могут быть косяки даже.
Но, если заморочиться сильнее и потратить немного больше времени, то можно составить сложную.
Протестировала на своих знакомых, которые любят страдать подобной фигнёй. Всего ответы прислало 7 человек из 12. 2 нашли ответ за 15 минут. Остальные не смогли дать ответ.
Вся фишка в алгоритме составления. Про него не буду писать. Он становится очевиден, когда найден ответ.
Если заморочиться от души, ещё можно пару ложных путей создать. Их можно сделать как обрывающимися, так и приводящими к якобы результату. Но неверному.
Вообще очень интересная штука. Мне само составление доставляет больше удовольствия, чем разгадывание загадки.
Квантовая криптография
Перед тем как приступить к квантовой криптографии, давайте выясним, зачем она вообще нужна.
Сначала разберемся с понятием криптографической стойкости.
Шифры бывают:
Недостаточно стойкие - это шифры которые легко расшифровать
Достаточно стойкие (например RSA) - это шифры которые теоретически возможно расшифровать, но для этого потребуется огромное количество времени (например, 10, 50, 100 и более лет).
Абсолютно стойкие - это шифры которые вообще невозможно расшифровать. Для всех таких шифров должны соблюдаться некоторые правила:
1. Длина ключа должна быть больше или равна длине сообщения.
2. Каждый ключ используется только один раз.
3. Все символы в ключе должны быть выбраны абсолютно случайно.
Абсолютно стойкий шифр не может быть взломан, так как все символы в зашифрованном сообщении случайны. Между ними невозможно найти никакой закономерности, которая бы помогла расшифровать сообщение. Давайте для примера попробуем зашифровать какое-нибудь короткое сообщение.
Пусть это будет "простойтекст". А в качестве ключа мы используем любую случайную последовательность букв, например "члъфлгчэхпрт". В самом первом посте я писал, что шифр Виженера при соблюдении некоторых правил становится абсолютно стойким, поэтому давайте использовать его.
При шифровании у нас получается текст "зэйжятврыыгё", который абсолютно не возможно расшифровать. Злоумышленник конечно может попробовать это сделать, но при этом он найдет все существующие сообщения такой же длины (например "ЯубилКеннеди" или "СлаваУкраине") и не сможет узнать, какое же из этих сообщений правильное.
Ключ во всех подобных шифрах является самой уязвимой частью, так как его нужно безопасно передать, что невозможно сделать способами, описанными в прошлом посте.
Но квантовое шифрование в теории лишает шифр всех уязвимостей. В этом посте я приведу пример, как использовать квантовую запутанность для криптографии.
Очень хорошее объяснение квантовой запутанности было в этом посте (не мой). Коротко перескажу самое главное.
У фононов есть свойство, которое называется спин (с англ. Вращаться). Если два фотона будут находиться в запутанном состоянии, то зная спин первого, мы сможем легко узнать спин второго (он будет противоположен). Подробно я это объяснять не буду, так как для понимания квантового шифрования в общих чертах вам это не нужно. Вместо этого я приведу простой пример.
Представьте, что у вас и у вашего друга есть пульт, на котором есть только одна кнопка и одна лампочка. Если вы и ваш друг одновременно нажмете на кнопку, то лампочки либо загораются, либо гаснут. При этом, если у вас лампочка горит, то вы точно знаете, что у вашего друга она не горит, и наоборот. Вы с другом уезжаете в разные города/страны и по телефону договариваетесь, что каждую секунду вы нажимаете на кнопку и, если лампочка горит, то записываете в блокнот 1, а если не горит, то 0. Через некоторое время у вас и у вашего друга получается случайная последовательность 0 и 1, которую можно использовать в качестве ключа.
Если вы захотите передать сообщение, то вы должны заменить в своей последовательности все 0 на 1, а все 1 на 0, чтобы у вас и у вашего друга был один и тот же ключ. Дальше вы просто переводите эту последовательность из двоичной, в обычные символы, шифруете ими сообщение и передаете это сообщение по тому же телефону, например.
Это не единственный способ квантового шифрования, но он самый простой. (Если интересно можете сами почитать в интернете о способе, основанном на поляризации фотонов).
Современное шифрование
В этом посте я попытаюсь простыми словами объяснить симметричное и асимметричное шифрование.
Давайте сразу перейдем к проблеме распределения ключей. Что это за проблема? Давайте представим, что у нас есть сообщение, которое зашифровано каким-нибудь ключом. Нам нужно передать сообщение какому нибудь знакомому, но для того чтобы он расшифровал сообщение ему нужен ключ. А значит нам нужно отправить еще и ключ. Но если какой-нибудь человек перехватит сообщение и ключ, то он сам сможет его расшифровать и вся секретность пропадет. Вот эта проблема передачи ключа и называется проблемой распределения ключей. Раньше она решалась передачей сообщения по надежному источнику, например курьером, или при встрече отправителя и получателя. Почему бы тогда просто не передавать сообщения по такому же источнику? Есть несколько причин.
1. Обычно ключ намного короче сообщения.
2. Можно заранее передать много ключей и договориться, какой ключ когда использовать. (Например передать по одному ключу на каждый день месяца).
3. Обычно в зашифрованных сообщениях содержится срочная информация, а, используя ключи, ее можно быстро пересылать по открытым каналам связи, которые могут прослушиваться злоумышленниками (например, радио).
Раньше считалось, что для шифрования и расшифровки сообщения необходимо использовать одни и те же ключи, которые должны находится и у отправителя и у получателя. Но в прошлом веке человек по фамилии Диффи придумал , как обойтись без передачи ключей.
Представим, что вам необходимо переслать обычное, бумажное письмо вашему другу и вы очень хотите, чтобы это письмо никто, кроме его не смог прочитать. Вы кладете письмо в железный ящик, вешаете на него замок, ключ от которого есть только у вас, и отправляете ящик почтой, ключ оставив у себя. Ваш друг получает ящик, вешает на него еще один замок, но уже свой, и отправляет ящик обратно вам. Вы снимаете свой замок и на нем остается только замок вашего друга, который может открыть только он сам. Вы снова отправляете ящик, друг его получает, снимает замок и читает сообщение.
В этом примере ключ от вашего замка всегда находился только у вас, а ключ друга, находился только у него. Поздравляю, вы передали сообщение без передачи ключей.
Но у этого способа есть маленький минус. Он абсолютно бесполезен в криптографии. Если вы зашифруете сообщение каким-нибудь сложным шифром, а потом зашифруете получившееся сообщение еще раз, то для того, чтобы расшифровать сообщение, вам сначала нужно снять второй шифр, а потом уже первый, иначе вместо сообщения получится бессмысленный набор символов. Можете представить, что вместо того, чтобы повесить второй замок, ваш друг положит ящик в еще один огромный ящик и запрет его. Но с простыми шифрами (например шифр Виженера или Цезаря, которые описаны в прошлом посте) это работает.
Несмотря на свою практическую бесполезность, этот шифр дал людям надежду, что обойти проблему распределения ключей возможно, и уже через несколько лет тот же человек (Уитфилд Диффи) придумал криптографию с открытым ключом.
Ее смысл заключается в том, что используются разные ключи: открытый для шифрования и закрытый для расшифровки. Представьте, что вы выкладываете на своей странице (или где угодно еще) свой открытый ключ, и если кто-то захочет вам написать секретное сообщение, то он зашифрует его этим ключом и отправит вам. Весь фокус состоит в том, что этим же ключом сообщение не возможно расшифровать. То есть, даже если кому-то удастся перехватить сообщение, и он найдет на вашей странице открытый ключ, то он ничего не сможет сделать. Когда вы получаете зашифрованное сообщение, вы расшифровываете его с помощью своего закрытого ключа, который держите в секрете.
Если же вы захотите отправить сообщение другу, то вы находите на его странице его открытый ключ, и повторяете тоже самое.
Если для расшифровки и шифровки используется один и тот же ключ, то это называется симметричным шифрованием. А если используются разные ключи (как в прошлом примере), то это асимметричное шифрование
Тем не менее несколько лет все это было лишь теорией, потому что никто не мог придумать как это реализовать.
Позже был создан алгоритм RSA, который является первым криптографическим алгоритмом с открытым ключом. Несмотря на то, что он был создан 40 лет назад, он до сих пор часто используется в современном мире (в том же телеграмме например). Кстати, первые современные шифры были созданы в Америке в 70-емидесятых годах, что очень пугало и нервировало правительство, так так все открытые каналы связи прослушивались. (с целью предотвращения терроризма, конечно же)
Алгоритм RSA основан на идее, что очень сложно найти множители, при умножении двух простых чисел. Например, любой человек легко сможет умножить числа 484215467 и 184354673 на калькуляторе. Но вот найти множители получившегося числа (89267384080327291) очень сложно. Если вам нечего делать, то можете сами попробовать найти множители подобного числа (например, 408598071611857). Подробнее о RSA я писать в этом посте не буду, так как это бы увеличило размер поста вдвое.
Минусом RSA является его низкая скорость шифрования, поэтому его часто применяют вместе с симметричным шифрованием. Сначала информация шифруется шифром с закрытым ключом, а потом ключ шифруется с помощью RSA.
PS Я сделал полезное приложение для андроид, вы не будете против, если я о нем расскажу?
Криптографии пост
Криптография - это наука о зашифровывании информации.
Криптография долгое время использовалась только для передачи секретной информации во времена войн. В современном мире она используется для защиты наших данных от рук злоумышленников. В этом посте мы разберем простейшие способы шифрования.
Криптография может быть разделена на два направления: перестановка и замена.
В шифрах перестановки меняется порядок букв текста. Самый простой пример - это сообщение в котором меняются местами 1 и 2 буква, 3 и 4, 5 и 6, и тд.
анрпмиретэсооощбнееиыболазишрфвонатокамипссобомо
Другой способ:
1. Разделить сообщение пополам.
2. Первую часть написать сверху, а вторую снизу.
3. Выписывать буквы в таком порядке: 1 буква верхней части, 1 буква нижней части, 2 буква верхней части, 2 буква нижней части и тд.
Такой способ тоже ненадежен. Намного лучше если буквы будут выписываться по более сложной инструкции, которая известна только отправителю и получателю.
В шифрах замены одни символы заменяются другими. Я уверен, что вы иногда случайно пользовались самым простым шифром замены, хотя сами об этом не догадывались.
Ntgthm ljuflfkbcm j xtv bltn htxm?
Самыми старыми шифрами являются моноалфавитные (одноалфавитные) шифры.
В моноалфавитных шифрах одна буква может заменяться только одной другой. Шифр используемый выше является моноалфавитным, так как каждая буква заменяется той, которая находится на этой же клавише при другой раскладке клавиатуры. Другой известный шифр замены - это шифр Цезаря.
В шифре цезаря каждая буква сдвигается на фиксированное число позиций в алфавите. Например, если фиксированное число (которое называется сдвиг) будет равно 3, то буква "а" будет заменяться на "г", "б" на "д", "я" на "в" и тд. Этот шифр тоже ненадежен, как и все шифры, описанные в этом посте ранее, потому что его можно легко расшифровать, перебрав все 32 варианта (для русского алфавита). Наука о методах расшифровки называется криптоанализ.
ъмшфцшмтъзудхгс тшрчъцзхзурпзъц — чшрицш луж чшцймлмхрж ъмшфцшмтъзудхцкц тшрчъцзхзурпз — етщчшмщщ-лмарьшцйзхрж рхьцшфзюрр уёицс щуцохцщър арьшцйтр й чшрщыъщъйрр хцщръмуж еъцс рхьцшфзюрр.
Все моноалфавитные шифры можно расшифровать частотным анализом текста, который подробно описан в этом посте. Минусом этого способа является его неэффективность при небольшом размере текста.
Более сложные шифры, пришедшие на смену моноалфавитным, называются полиалфавитные (многоалфавитные). В полиалфавитном шифре одна и та же буква может каждый раз заменяться разной буквой.
Самый знаменитый полиалфавитный шифр - это шифр Виженера.
Шифр Виженера будет проще объяснить на примере. Для шифрования необходимо любое слово, которое будет являться ключом. Пусть это будет слово "Ктулху". В качестве сообщения, которое нам необходимо зашифровать возьмем определение с лурка.
Хтоничное божество с тентаклями и гипнокинезом, персонаж повести Говарда Лавкрафта «Зов Ктулху» и популярный мем рунета.
Для шифрования мы берем первую букву сообщения и сдвигаем ее на на число позиций, равное номеру первой буквы ключа в алфавите. Номер первой буквы сообщения равен 23. Номер первой буквы ключа в нашем случае равен 12. Складываем эти числа и ищем букву с таким номером. Если сумма превышает количество букв, то продолжаем отсчет с начала алфавита. Первая буква нашего зашифрованного сообщения будет "Б". Шифруем вторую букву сообщения второй буквой ключа, третью третьей и тд. Когда наш ключ закончится, повторяем его, до окончания сообщения. В итоге получаем такое зашифрованное сообщение:
бёгъялщвщ неырежое ё юшвяцячтбх я чфгвыбэщшьыг, дрдёыдфт ггоыёюь чышфьчф шцццдфбиф «увц чизчиз» х ёгыжалжвжэ бсг еябщяц.
Расшифровать шифр Виженера очень сложно. Но чем длиннее сообщение и чем короче ключ, тем проще это сделать. Способы расшифровки я описывать не буду, так как это бы заняло большую часть поста.
дбш аечазуьтэбщ цшэялыэд. рьбзпиюоылщ щръйшрбч я ипщвфьпвнтгео ющснюэьр в тибгш зщсаяиуих тъхмопх т ъхащл жбюхьокжьъ бщюфщуиэ авззн. юрёщэлбам эц пютар яярапехя, яэбнтбгы о лбюхащр, ипщяычпх онзэьзм й хрнчмщуй вцуноф, эбэтэы хьббв мвснээтзв й эя ыуищоцо гапщгцт ц евжуюх гбяюсягэу. бщуй тпапзаамён, оёбхржк оейпяльшё ннваэй, ипягфрёлэ п фздлылб. зщявб рььлоощ гиюзбщ, ымцгр р ллгтбёбёю псюз-тяю мьчяч зйёэыгсл ипяяаукжпря э юлиёюзщькздь эуакздь сзъщзон, вбоещуй пюелё, гыяцк мзтарцчпх г сдйэядф, ехеуе ипщзфаэ випьщёщ, кнншфбщ ёбяьгы ё, ип ыхгптзецэгапв, гщщжк втж ыхбьльп одаклжб.
Главная уязвимость шифра Виженера заключается в том, что ключ повторяется много раз.
Шифр Виженера можно сделать абсолютно невзламываемым, если в ключе, вместо слова использовать случайный набор символов, который длиннее сообщения и меняется после каждого сообщения.
Сегодня все перечисленные выше способы шифрования почти не применяются на практике.
Если тема будет интересна, то в следующих постах расскажу о более современных методах шифрования.
ШИФР - Интересно, кто сможет разгадать)
;_:=!?,+»*_%!<»«;_~t»% . +»*(_$!_??^(!>_=:<@ . )(!:+»*;!~?_%!;^(!_~t«\^)»<=%?@,)(»^»?;@^»%=!@«\)»>!:\%»>^(!)_%,+»*/?_+!;_@+»*)!%!_<!%>_:~»>/!%! . ^(!:~!/!»/?!)!%!_//?_*;@»?=^^?!_\^!%+»*%!:^%_:~! . !$!%+»:!\!?^^(=@ .With good wishes, Lexsina
Вызов был принят.
Картинка из этого комментария
Люблю головоломки и в детстве я делал что-то подобное.
Основные моменты увидел сразу:
- повернуто правильно
- язык русский
Исходный текст доставляет отдельно) Рекомендую к расшифровке.
Говорят, если гуманитарий пройдет это головоломку до конца, он может считать себя технарем
А еще получит ачивку в профиль. Рискнете?