Сейчас на форуме: Kybyx (+3 невидимых) |
![]() |
eXeL@B —› Оффтоп —› Криптография |
Посл.ответ | Сообщение |
|
Создано: 11 августа 2017 01:52 · Поправил: Doctor_Moriary · Личное сообщение · #1 Приветствую вас, мои дорогие друзья! Сегодня мы будем наркоманить криптографию. Напишем небольшую программу. С начала вспомним,что такое вообще XOR. XOR - это операция логического исключающего ИЛИ, которая имеет . 0 xor 1 = 1 1 xor 0 = 1 0 xor 0 = 0 1 xor 1 = 0 Например,буква "А" "латинская" в кодировке ASCII имеет код 41h лил 1000001 в двоичном виде, а цифра "1" 31h=110001. Проксорим эти буквы (точнее их коды) А = 1000001 XOR 1 = 0110001 _________ p = 1110000 Получился ответ 1110000 , а это есть двоичный ASCII-код буквы (р) . На этом принципе и основа шифровка XOR!Ну а что если дан ключ " 3456". Закодируем с помощью него фразу "Cracker Cracker Cracker Cracker". программа на Си. Code:
str: Cracker Cracker Cracker Cracker xor: 3456 3456 3456 3456 3456 3456 key: ytyu sdfg lgso &twt u843 *1|p bnz Как видишь,одна и та же буква может быть закодирована по-разному, например буква (С) в шифротексте принимает следующие значения (y) (&) (p) XOR ,по сути,шифр Вижнера.Такой шифр частотным анализом вскрыть невозможно!) ![]() |
|
Создано: 11 августа 2017 03:21 · Поправил: plutos · Личное сообщение · #2 Doctor_Moriary пишет: Например,буква "А" "латинская" в кодировке ASCII имеет код 41h Кто бы мог подумать... Вот спасибо! PS. Alan Turing смотрит с одобрением .... ----- Give me a HANDLE and I will move the Earth. ![]() |
|
Создано: 11 августа 2017 06:29 · Личное сообщение · #3 |
|
Создано: 11 августа 2017 07:24 · Личное сообщение · #4 |
|
Создано: 11 августа 2017 08:42 · Личное сообщение · #5 |
|
Создано: 11 августа 2017 08:56 · Поправил: VodoleY · Личное сообщение · #6 |
|
Создано: 11 августа 2017 10:15 · Личное сообщение · #7 |
|
Создано: 11 августа 2017 12:13 · Личное сообщение · #8 |
|
Создано: 11 августа 2017 12:19 · Поправил: Oott · Личное сообщение · #9 Doctor_Moriary пишет: XOR ,по сути,шифр Вижнера.Такой шифр частотным анализом вскрыть невозможно!) Ксор надежен только если размер ключа равен размеру шифротекста. В остальном это вскрывается еще более упрощенным частотным анализом. Предполагаем символ с наибольшей частотой вхождения(для текстов это пробел для банарников ноль), при ксоре этот символ вероятнее всего будет выпадать на каждый символ ключа, это и используется. ![]() |
|
Создано: 11 августа 2017 12:28 · Личное сообщение · #10 |
|
Создано: 11 августа 2017 13:02 · Личное сообщение · #11 rmn пишет: сгенерить ключ размером с данные зависит от размера данных и способа "хранения" ключа, бывают случаи, когда такое не подойдет. rmn пишет: инструкцию xor хорошенько отморфить в 10к кода, разбавив антиотладкой ...что вообще никак не связано c сабжем ![]() аналогично предложению накрыть процедуру вмпротом, только речь слегка не об этом. ![]() |
|
Создано: 11 августа 2017 13:12 · Личное сообщение · #12 VOLKOFF пишет: зависит от размера данных и способа "хранения" ключа, бывают случаи, когда такое не подойдет. Разумеется, никто в здравом уме не будет просить пользователя придумать пароль размеров в гиг. Ключ можно генерировать по ходу шифрования. Например, вначале считаем md5 от пароля пользователя и шифруем этим хешем 16 байт, затем считаем md5 от хеша и т.д. На ключ размером с данные любого размера затраты памяти - 16 байт. VOLKOFF пишет: ...что вообще никак не связано c сабжем Как это не связано? Тут просто все такие гуру криптографии набижали, хотя то, что незнание алгоритма делает шифрование ненадежным вовсе не означает, что любой школьник сможет его как орех расщелкать. Шифрует же ксор очень даже пиздато при правильной реализации ![]() ![]() |
|
Создано: 11 августа 2017 14:19 · Поправил: cppasm · Личное сообщение · #13 Вы определитесь для начала что такое криптостойкий алгоритм, а потом спорьте. По определению это алгоритм, при котором наличие любого количества порций открытых и зашифрованных данных никак не упрощает расшифровку новой порции данных при взломе. XOR таковым не является. А что там сможет школьник расщёлкать (или не сможет) к криптографии имеет слабое отношение. Защита, основанная на том что алгоритм модификации данных неизвестен - это не криптография. Это по поводу морфа, вмпротов и т.п. ![]() |
|
Создано: 11 августа 2017 14:33 · Личное сообщение · #14 |
|
Создано: 11 августа 2017 14:50 · Личное сообщение · #15 |
|
Создано: 11 августа 2017 14:53 · Личное сообщение · #16 |
|
Создано: 11 августа 2017 15:02 · Личное сообщение · #17 |
|
Создано: 11 августа 2017 15:18 · Личное сообщение · #18 Следуя логика ТС - с таким же успехом вместо XOR можно ADD/SUB (с ключом 4 байта) кинуть и производить арифметическую операцию блоками по те же 4 байта, используя статический ключ. Или динамику прицепить - используя результат от предыдущего блока. Но вообще, в 100% программ, которых я видел (и все остальные, кто здесь присутствует), XOR используется в самом примитивном виде и не представляет никакого секрета при расшифровке. ![]() |
|
Создано: 11 августа 2017 15:37 · Личное сообщение · #19 rmn пишет: Да, но ты не можешь его факторизовать именно потому, что алгоритм факторизации за приемлемое время не известен. Так неизвестен алоритм факторизации, а не алгоритм RSA - это разные вещи. И не неизвестен, а его не существует просто. По сути ты говоришь что нет эффективного алгоритма взлома. И что? RSA (как и любой другой криптоалгоритм) основан не на том что ты не знаешь как он шифрует, а на том что для взлома надо решить математически сложную задачу. Алгоритм шифрования известен. ![]() |
|
Создано: 11 августа 2017 15:49 · Личное сообщение · #20 |
|
Создано: 11 августа 2017 15:49 · Личное сообщение · #21 cppasm пишет: И не неизвестен, а его не существует просто. Докажи ![]() cppasm пишет: Алгоритм шифрования известен. А алгоритм дешифрования - нет. Просто он не симметричный, как ксор, но по сути его стойкость так же основана на незнании алгоритма, как и стойкость отморфленного ксора, переведенного на брейнфак и накрытого вмпротом. ![]() |
|
Создано: 11 августа 2017 16:21 · Личное сообщение · #22 rmn пишет: А алгоритм дешифрования - нет. Чувак, не пиши ерунду. Алгоритм дешифрования описан в спецификации. Как и алгоритм шифрования. rmn пишет: Просто он не симметричный, как ксор, но по сути его стойкость так же основана на незнании алгоритма, как и стойкость отморфленного ксора, переведенного на брейнфак и накрытого вмпротом Нет. Ты не в теме. ![]() |
|
Создано: 11 августа 2017 16:29 · Личное сообщение · #23 rmn пишет: А алгоритм дешифрования - нет поделись травой, чувак ----- SaNX ![]() |
|
Создано: 11 августа 2017 17:01 · Поправил: rmn · Личное сообщение · #24 |
|
Создано: 11 августа 2017 17:01 · Личное сообщение · #25 Doctor_Moriary пишет: 2.Будем ее исследовать. Что именно "исследовать"? Где Archer?) ![]() |
|
Создано: 11 августа 2017 17:30 · Личное сообщение · #26 |
|
Создано: 11 августа 2017 17:36 · Личное сообщение · #27 |
|
Создано: 11 августа 2017 17:39 · Личное сообщение · #28 |
|
Создано: 11 августа 2017 17:44 · Личное сообщение · #29 |
|
Создано: 14 августа 2017 21:50 · Поправил: ntldr · Личное сообщение · #30 Эх, вспомнил самого себя в школьном возрасте. ----- PGP key ![]() |
![]() |
eXeL@B —› Оффтоп —› Криптография |