Pull to refresh
222
0
Алексей @NeverWalkAloner

Пользователь

Send message
Совершенный метод шифрования не «заслужил» всеобщего использования из-за огромного количества гаммы, которая требуется при его использовании.
1. Метод описанный в топике. Поиск начальной настройки Энигмы по известной паре открытый-закрытый текст. После нахождения начального положения роторов, можно восстановить соединения коммутационной панели, использую известную пару. И после этого читать все сообщения, зашифрованный с применением этого ключа. Обычно ключ менялся раз в день. Т.е. при успешной реализации алгоритма, союзники получали доступ ко всей дневной переписке немецких войск.

2. Это означает что при шифровании сообщения буква N была соединена на коммутационной панеле с буквой V. При расшифровке роторы нужно установить в позицию XLV. А кольца в позицию AAL. Сегодня обновлю код, чтобы возвращался более понятный вывод.
Не совсем понял почему вы сделали такой вывод. Энигма чрезвычайно уязвима по современным критериям безопасности. И тем не менее, при соблюдении определенных условий, таких шифрование только очень коротких сообщений, постоянное изменение стартовых настроек для шифрования разных сообщений, лучшим способ взлома Энигмы по прежнему считается брут форс. Например, по ссылке для взлома Энигмы используются распределенные вычисления.
Идея классная, только что то у меня не получается создать чат.
Подскажите, пожалуйста, куда надо тыкнуть, чтобы сгенерировать ссылку. Вижу вот такую надпись:, при нажатии кнопки connect появляется ошибка «Error: Could not get an ID from the server. If you passed in a `path` to your self-hosted PeerServer, you'll also need to pass in that same path when creating a new Peer… Type:server-error».
И о том, что кто-нибудь тебя обязательно спасёт.

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

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

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


Вот в этом документе написано. В частности:
2. Minimisation of the largest non-trivial correlation between linear combinations of input bits and linear combination of output bits;
2. Resistance against attacks using truncated differentials [Kn95];
3. Resistance against the Square attack [DaKnRi97];
• Attacks in which part of the Cipher Key is known to the cryptanalyst;
• Attacks where the Cipher Key is known or can be chosen[Kn95a];
• Related-key attacks [Bi93], [KeScWa96].
Простите, действительно не стал лезть в код и не увидел что S-box у вас все-таки есть.
Но даже в этом случае надо провести очень тщательное исследование, чтобы убедиться, что s-box обеспечивает приемлемый уровень нелинейности.
Я это к тому, что проектирование криптоалгоритма это не только ловкое жонглирование битовыми операциями, но и предугадывание возможных атак.

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

Как на счет линейного криптоанализа?
В DES для того чтобы скрыть зависимость шифртекста от раундового ключа используются S-боксы.

В вашем же шифре, если я правильно понял, операция обеспечивающая нелинейность отсутствует. Соответвенно, если разобрать все перестановки и убрать байты «вектора инициализации», используемые на первом шаге алгоритма, можно получить уравнение вида C1^C2^C3^P1^P2^P3=K1^K2^K3, выполняющееся со 100% вероятностью. Что уже автоматически делает ваш алгоритм гораздо более слабым, чем тот же DES.
Спасибо, кстати вот еще одна интересная статья на тему: Первые несколько миллисекунд HTTPS соединения.
Исправил схему, спасибо.
Материала для продолжения пока особо и нет, но если будет что добавить постараюсь в дальнейшем обновлять топик.
А знаете вы меня переубедили. Я почему то когда говорил о рандомизации держал в уме RSA. Но для ECDSA, вариант описанный Ivan_83 действительно лишен недостатков наивного RSA и при этом избавляет от проблем с PRNG.
Спасибо за ответы, Ivan_83 и grich
Я просто не согласен с тем, что подпись одного сообщения должна быть всегда одинакова. Это я не о какой то конкретной реализации говорю, а в целом. К примеру, если валидная подпись сообщения всегда одинакова, то это открывает широкие перспективы для всякого рода replay attack.
А по хорошему подпись одного и того же сообщения и должна быть всегда одинаковой, если ключ не менялся.

А как же такое понятие как семантическая стойкость и утечки информации об открытом тексте в детерминированных криптосистемах? Рандомизация это очень даже полезно, не стоит от нее добровольно отказываться, еще неизвестно выиграешь от этого или проиграешь.
NDggNjEgNzAgNzAgNzkgMjAgNDMgNmYgNmQgNzAgNzUgNzQgNjUgNzIgMjAgNTMgNjUgNjMgNzUgN
zIgNjkgNzQgNzkgMjAgNDQgNjEgNzkgMjE=
Вспоминается диалог из чудесного сериала Spaced:
-«Скрытую угрозу» показывали полтора года назад!
-Да, но до сих пор больно!
Для ЭЦП и шифрования нужен еще симметричный шифр (такой, как AES) и/или криптографический хеш (такой, как SHA-256)

Там кстати еще нужно схемы дополнений реализовывать, типа OAEP. Или вы как раз о них?
Можно подробнее, как знание открытой экспоненты e поможет найти открытый текст?

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer
Senior
Python
Docker
PostgreSQL
Git
OOP
English
Django
RabbitMQ
Fastapi
asyncio