Toxant

Toxant

На Пикабу
поставил 5539 плюсов и 0 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу
1095 рейтинг 112 подписчиков 0 подписок 5 постов 4 в горячем

Формула Таппера и немного магии

В 2001 году Джефф Таппер вывел одну интересную формулу, которая выглядит вот так:

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

А интересна она тем, что если построить график этой формулы, то мы получим...

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

...ту же самую формулу!

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

На самом деле здесь есть небольшой подвох, а именно число k (слева от графика), которое является координатой У изображенного на графике места. А это k равно...

4858450636189713423582095962494202044581400587983244549483093085061934704708
8099284506447698655243648499972470249151191104116057391774078569197543265718
5544205721044573588368182982375413963433822519945219165128434833290513119319
9953502413758765239264874613394906870130562295813219481113685339535565290850
0238750928568926945559742815463865107300491067230589335860525440966643512653
4936364395712556569593681518433485760526694016125126695142155053955451915378
5457525756590740540157929001765967965480064427829131488548259914721248506352
686630476300

То есть это место находится очень очень высоко на графике. А что же находится ниже или еще выше?

Давайте поднимемся на координату:

88808336223154761030714691436082137759699306969369015299453621026500321593494
89076306688605919098661592594318081458423277798865139793897207964678409682896
72746215691619125741061856018086796621410667587081028205461581225999062047463
87135088129426584946230525533916314240548543514978997266792724462495194787432
16210675463208529943150955308635456368817547510671204040998114215298922890346
512758071962226310273111286972506958173758791690895895822336

И мы увидим...

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост
Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

Все дело в том, что эта формула строит абсолютно любой одноцветный рисунок, размером 106х17 точек. То есть любой рисунок указанного размера УЖЕ есть на этом графике, осталось только определить на какой высоте. На самом деле это очень просто. Берем рисунок необходимого размера (для наглядности я немного передвинул изображение).

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

Переходим в левый нижний угол...

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

И если первая точка белая, то записываем куда-нибудь 0, а если черная, то 1. Движемся вверх и повторяем то же самое.

Формула Таппера и немного магии Формула Таппера, Математика, Формула, Интересное, Гифка, Длиннопост

Продолжаем. У нас получается 1802-ух значное двоичное число: 0000000111110000000011111100110000... (первые 2 столбца).

Затем вспоминаем уроки информатики и переводим его в десятичную систему (есессно по хардкору, на листе бумаги). И, наконец, умножаем число на 17. Если вы не сойдете с ума, то у вас будет прекрасный ответ, на вопрос, чем вы занимались все выходные.

Показать полностью 5

Квантовая криптография

(Второй пост)

(Первый пост)

Квантовая криптография Криптография, Шифр, Yhwgm1tnppzb, Расшифровка, Шифрование, Наука, Познавательно, Длиннопост

Перед тем как приступить к квантовой криптографии, давайте выясним, зачем она вообще нужна.

Сначала разберемся с понятием криптографической стойкости.


Шифры бывают:


Недостаточно стойкие - это шифры которые легко расшифровать


Достаточно стойкие (например RSA) - это шифры которые теоретически возможно расшифровать, но для этого потребуется огромное количество времени (например, 10, 50, 100 и более лет).


Абсолютно стойкие - это шифры которые вообще невозможно расшифровать. Для всех таких шифров должны соблюдаться некоторые правила:


1. Длина ключа должна быть больше или равна длине сообщения.

2. Каждый ключ используется только один раз.

3. Все символы в ключе должны быть выбраны абсолютно случайно.

Абсолютно стойкий шифр не может быть взломан, так как все символы в зашифрованном сообщении случайны. Между ними невозможно найти никакой закономерности, которая бы помогла расшифровать сообщение. Давайте для примера попробуем зашифровать какое-нибудь короткое сообщение.


Пусть это будет "простойтекст". А в качестве ключа мы используем любую случайную последовательность букв, например "члъфлгчэхпрт". В самом первом посте я писал, что шифр Виженера при соблюдении некоторых правил становится абсолютно стойким, поэтому давайте использовать его.


При шифровании у нас получается текст "зэйжятврыыгё", который абсолютно не возможно расшифровать. Злоумышленник конечно может попробовать это сделать, но при этом он найдет все существующие сообщения такой же длины (например "ЯубилКеннеди" или "СлаваУкраине") и не сможет узнать, какое же из этих сообщений правильное.

Квантовая криптография Криптография, Шифр, Yhwgm1tnppzb, Расшифровка, Шифрование, Наука, Познавательно, Длиннопост

Ключ во всех подобных шифрах является самой уязвимой частью, так как его нужно безопасно передать, что невозможно сделать способами, описанными в прошлом посте.

Но квантовое шифрование в теории лишает шифр всех уязвимостей. В этом посте я приведу пример, как использовать квантовую запутанность для криптографии.

Очень хорошее объяснение квантовой запутанности было в этом посте (не мой). Коротко перескажу самое главное.

У фононов есть свойство, которое называется спин (с англ. Вращаться). Если два фотона будут находиться в запутанном состоянии, то зная спин первого, мы сможем легко узнать спин второго (он будет противоположен). Подробно я это объяснять не буду, так как для понимания квантового шифрования в общих чертах вам это не нужно. Вместо этого я приведу простой пример.

Представьте, что у вас и у вашего друга есть пульт, на котором есть только одна кнопка и одна лампочка. Если вы и ваш друг одновременно нажмете на кнопку, то лампочки либо загораются, либо гаснут. При этом, если у вас лампочка горит, то вы точно знаете, что у вашего друга она не горит, и наоборот. Вы с другом уезжаете в разные города/страны и по телефону договариваетесь, что каждую секунду вы нажимаете на кнопку и, если лампочка горит, то записываете в блокнот 1, а если не горит, то 0. Через некоторое время у вас и у вашего друга получается случайная последовательность 0 и 1, которую можно использовать в качестве ключа.

Квантовая криптография Криптография, Шифр, Yhwgm1tnppzb, Расшифровка, Шифрование, Наука, Познавательно, Длиннопост

Если вы захотите передать сообщение, то вы должны заменить в своей последовательности все 0 на 1, а все 1 на 0, чтобы у вас и у вашего друга был один и тот же ключ. Дальше вы просто переводите эту последовательность из двоичной, в обычные символы, шифруете ими сообщение и передаете это сообщение по тому же телефону, например.

Это не единственный способ квантового шифрования, но он самый простой. (Если интересно можете сами почитать в интернете о способе, основанном на поляризации фотонов).

Показать полностью 2

Приложение на android

Представьте, что вы находитесь рядом с каким-нибудь человеком, который начинает вас шантажировать/угрожать вам/требовать взятку/и тд. Или вы просто услышали какую-нибудь важную информацию, которую вам обязательно необходимо запомнить. В любом случае было бы хорошо, если бы у вас хранилась запись последнего разговора. Но перед каждым разговором включать диктофон лень, да и не факт, что вы услышите что-нибудь интересное. Итак, что я сделал? Я сделал приложение для android, которое ведет постоянную запись, но сохраняет только последние 5/10/30 минут записи. Если вы услышали что-нибудь важное, то вы просто заходите в приложение и сохраняете последние несколько минут.


Насчет энергопотребления ничего точного сказать не могу, потому что батарея на моем телефоне очень странно себя ведет. У меня приложение за ночь (8 часов) разрядило телефон на 2%.

Приложение на android Android, Приложение, Полезное, Диктофон, Запись

Пользоваться приложением очень просто. Красная кнопка включает/выключает обычный диктофон. Синяя включает/выключает режим постоянной записи, который описан выше. Если пролистнуть экран вправо, то вы уведите все записи, сделанные в приложении и сможете их прослушать. Если есть идеи по улучшению приложения, то можете описать их в комментариях. Скачать можно отсюда.

PS на некоторых телефонах могут быть ошибки (а могут и не быть).

Показать полностью 1

Современное шифрование

В этом посте я попытаюсь простыми словами объяснить симметричное и асимметричное шифрование.


(Предыдущий пост)

Современное шифрование Криптография, Расшифровка, За нами следят, Шифрование, Шифр, Наука, Познавательно, Длиннопост

Давайте сразу перейдем к проблеме распределения ключей. Что это за проблема? Давайте представим, что у нас есть сообщение, которое зашифровано каким-нибудь ключом. Нам нужно передать сообщение какому нибудь знакомому, но для того чтобы он расшифровал сообщение ему нужен ключ. А значит нам нужно отправить еще и ключ. Но если какой-нибудь человек перехватит сообщение и ключ, то он сам сможет его расшифровать и вся секретность пропадет. Вот эта проблема передачи ключа и называется проблемой распределения ключей. Раньше она решалась передачей сообщения по надежному источнику, например курьером, или при встрече отправителя и получателя. Почему бы тогда просто не передавать сообщения по такому же источнику? Есть несколько причин.


1. Обычно ключ намного короче сообщения.

2. Можно заранее передать много ключей и договориться, какой ключ когда использовать. (Например передать по одному ключу на каждый день месяца).

3. Обычно в зашифрованных сообщениях содержится срочная информация, а, используя ключи, ее можно быстро пересылать по открытым каналам связи, которые могут прослушиваться злоумышленниками (например, радио).

Раньше считалось, что для шифрования и расшифровки сообщения необходимо использовать одни и те же ключи, которые должны находится и у отправителя и у получателя. Но в прошлом веке человек по фамилии Диффи придумал , как обойтись без передачи ключей.

Представим, что вам необходимо переслать обычное, бумажное письмо вашему другу и вы очень хотите, чтобы это письмо никто, кроме его не смог прочитать. Вы кладете письмо в железный ящик, вешаете на него замок, ключ от которого есть только у вас, и отправляете ящик почтой, ключ оставив у себя. Ваш друг получает ящик, вешает на него еще один замок, но уже свой, и отправляет ящик обратно вам. Вы снимаете свой замок и на нем остается только замок вашего друга, который может открыть только он сам. Вы снова отправляете ящик, друг его получает, снимает замок и читает сообщение.

Современное шифрование Криптография, Расшифровка, За нами следят, Шифрование, Шифр, Наука, Познавательно, Длиннопост

В этом примере ключ от вашего замка всегда находился только у вас, а ключ друга, находился только у него. Поздравляю, вы передали сообщение без передачи ключей.

Но у этого способа есть маленький минус. Он абсолютно бесполезен в криптографии. Если вы зашифруете сообщение каким-нибудь сложным шифром, а потом зашифруете получившееся сообщение еще раз, то для того, чтобы расшифровать сообщение, вам сначала нужно снять второй шифр, а потом уже первый, иначе вместо сообщения получится бессмысленный набор символов. Можете представить, что вместо того, чтобы повесить второй замок, ваш друг положит ящик в еще один огромный ящик и запрет его. Но с простыми шифрами (например шифр Виженера или Цезаря, которые описаны в прошлом посте) это работает.

Несмотря на свою практическую бесполезность, этот шифр дал людям надежду, что обойти проблему распределения ключей возможно, и уже через несколько лет тот же человек (Уитфилд Диффи) придумал криптографию с открытым ключом.

Ее смысл заключается в том, что используются разные ключи: открытый для шифрования и закрытый для расшифровки. Представьте, что вы выкладываете на своей странице (или где угодно еще) свой открытый ключ, и если кто-то захочет вам написать секретное сообщение, то он зашифрует его этим ключом и отправит вам. Весь фокус состоит в том, что этим же ключом сообщение не возможно расшифровать. То есть, даже если кому-то удастся перехватить сообщение, и он найдет на вашей странице открытый ключ, то он ничего не сможет сделать. Когда вы получаете зашифрованное сообщение, вы расшифровываете его с помощью своего закрытого ключа, который держите в секрете.

Если же вы захотите отправить сообщение другу, то вы находите на его странице его открытый ключ, и повторяете тоже самое.

Если для расшифровки и шифровки используется один и тот же ключ, то это называется симметричным шифрованием. А если используются разные ключи (как в прошлом примере), то это асимметричное шифрование

Тем не менее несколько лет все это было лишь теорией, потому что никто не мог придумать как это реализовать.

Позже был создан алгоритм RSA, который является первым криптографическим алгоритмом с открытым ключом. Несмотря на то, что он был создан 40 лет назад, он до сих пор часто используется в современном мире (в том же телеграмме например). Кстати, первые современные шифры были созданы в Америке в 70-емидесятых годах, что очень пугало и нервировало правительство, так так все открытые каналы связи прослушивались. (с целью предотвращения терроризма, конечно же)

Алгоритм RSA основан на идее, что очень сложно найти множители, при умножении двух простых чисел. Например, любой человек легко сможет умножить числа 484215467 и 184354673 на калькуляторе. Но вот найти множители получившегося числа (89267384080327291) очень сложно. Если вам нечего делать, то можете сами попробовать найти множители подобного числа (например, 408598071611857). Подробнее о RSA я писать в этом посте не буду, так как это бы увеличило размер поста вдвое.

Минусом RSA является его низкая скорость шифрования, поэтому его часто применяют вместе с симметричным шифрованием. Сначала информация шифруется шифром с закрытым ключом, а потом ключ шифруется с помощью RSA.

Современное шифрование Криптография, Расшифровка, За нами следят, Шифрование, Шифр, Наука, Познавательно, Длиннопост

PS Я сделал полезное приложение для андроид, вы не будете против, если я о нем расскажу?

Показать полностью 3

Криптографии пост

Криптографии пост Криптография, Шифр, Расшифровка, Шифрование, Цезарь, Слежка, Виженер, Длиннопост

Криптография - это наука о зашифровывании информации.

Криптография долгое время использовалась только для передачи секретной информации во времена войн. В современном мире она используется для защиты наших данных от рук злоумышленников. В этом посте мы разберем простейшие способы шифрования.

Криптография может быть разделена на два направления: перестановка и замена.

В шифрах перестановки меняется порядок букв текста. Самый простой пример - это сообщение в котором меняются местами 1 и 2 буква, 3 и 4, 5 и 6, и тд.

анрпмиретэсооощбнееиыболазишрфвонатокамипссобомо

Другой способ:

1. Разделить сообщение пополам.

2. Первую часть написать сверху, а вторую снизу.

3. Выписывать буквы в таком порядке: 1 буква верхней части, 1 буква нижней части, 2 буква верхней части, 2 буква нижней части и тд.

Такой способ тоже ненадежен. Намного лучше если буквы будут выписываться по более сложной инструкции, которая известна только отправителю и получателю.

В шифрах замены одни символы заменяются другими. Я уверен, что вы иногда случайно пользовались самым простым шифром замены, хотя сами об этом не догадывались.

Ntgthm ljuflfkbcm j xtv bltn htxm?

Самыми старыми шифрами являются моноалфавитные (одноалфавитные) шифры.

В моноалфавитных шифрах одна буква может заменяться только одной другой. Шифр используемый выше является моноалфавитным, так как каждая буква заменяется той, которая находится на этой же клавише при другой раскладке клавиатуры. Другой известный шифр замены - это шифр Цезаря.

Криптографии пост Криптография, Шифр, Расшифровка, Шифрование, Цезарь, Слежка, Виженер, Длиннопост

В шифре цезаря каждая буква сдвигается на фиксированное число позиций в алфавите. Например, если фиксированное число (которое называется сдвиг) будет равно 3, то буква "а" будет заменяться на "г", "б" на "д", "я" на "в" и тд. Этот шифр тоже ненадежен, как и все шифры, описанные в этом посте ранее, потому что его можно легко расшифровать, перебрав все 32 варианта (для русского алфавита). Наука о методах расшифровки называется криптоанализ.

ъмшфцшмтъзудхгс тшрчъцзхзурпзъц — чшрицш луж чшцймлмхрж ъмшфцшмтъзудхцкц тшрчъцзхзурпз — етщчшмщщ-лмарьшцйзхрж рхьцшфзюрр уёицс щуцохцщър арьшцйтр й чшрщыъщъйрр хцщръмуж еъцс рхьцшфзюрр.

Все моноалфавитные шифры можно расшифровать частотным анализом текста, который подробно описан в этом посте. Минусом этого способа является его неэффективность при небольшом размере текста.

Более сложные шифры, пришедшие на смену моноалфавитным, называются полиалфавитные (многоалфавитные). В полиалфавитном шифре одна и та же буква может каждый раз заменяться разной буквой.


Самый знаменитый полиалфавитный шифр - это шифр Виженера.

Криптографии пост Криптография, Шифр, Расшифровка, Шифрование, Цезарь, Слежка, Виженер, Длиннопост

Шифр Виженера будет проще объяснить на примере. Для шифрования необходимо любое слово, которое будет являться ключом. Пусть это будет слово "Ктулху". В качестве сообщения, которое нам необходимо зашифровать возьмем определение с лурка.


Хтоничное божество с тентаклями и гипнокинезом, персонаж повести Говарда Лавкрафта «Зов Ктулху» и популярный мем рунета.

Для шифрования мы берем первую букву сообщения и сдвигаем ее на на число позиций, равное номеру первой буквы ключа в алфавите. Номер первой буквы сообщения равен 23. Номер первой буквы ключа в нашем случае равен 12. Складываем эти числа и ищем букву с таким номером. Если сумма превышает количество букв, то продолжаем отсчет с начала алфавита. Первая буква нашего зашифрованного сообщения будет "Б". Шифруем вторую букву сообщения второй буквой ключа, третью третьей и тд. Когда наш ключ закончится, повторяем его, до окончания сообщения. В итоге получаем такое зашифрованное сообщение:

бёгъялщвщ неырежое ё юшвяцячтбх я чфгвыбэщшьыг, дрдёыдфт ггоыёюь чышфьчф шцццдфбиф «увц чизчиз» х ёгыжалжвжэ бсг еябщяц.

Расшифровать шифр Виженера очень сложно. Но чем длиннее сообщение и чем короче ключ, тем проще это сделать. Способы расшифровки я описывать не буду, так как это бы заняло большую часть поста.

дбш аечазуьтэбщ цшэялыэд. рьбзпиюоылщ щръйшрбч я ипщвфьпвнтгео ющснюэьр в тибгш зщсаяиуих тъхмопх т ъхащл жбюхьокжьъ бщюфщуиэ авззн. юрёщэлбам эц пютар яярапехя, яэбнтбгы о лбюхащр, ипщяычпх онзэьзм й хрнчмщуй вцуноф, эбэтэы хьббв мвснээтзв й эя ыуищоцо гапщгцт ц евжуюх гбяюсягэу. бщуй тпапзаамён, оёбхржк оейпяльшё ннваэй, ипягфрёлэ п фздлылб. зщявб рььлоощ гиюзбщ, ымцгр р ллгтбёбёю псюз-тяю мьчяч зйёэыгсл ипяяаукжпря э юлиёюзщькздь эуакздь сзъщзон, вбоещуй пюелё, гыяцк мзтарцчпх г сдйэядф, ехеуе ипщзфаэ випьщёщ, кнншфбщ ёбяьгы ё, ип ыхгптзецэгапв, гщщжк втж ыхбьльп одаклжб.

Главная уязвимость шифра Виженера заключается в том, что ключ повторяется много раз.

Шифр Виженера можно сделать абсолютно невзламываемым, если в ключе, вместо слова использовать случайный набор символов, который длиннее сообщения и меняется после каждого сообщения.

Сегодня все перечисленные выше способы шифрования почти не применяются на практике.

Если тема будет интересна, то в следующих постах расскажу о более современных методах шифрования.

Показать полностью 3
Отличная работа, все прочитано!