Наиболее безопасный алгоритм шифрования - PullRequest
2 голосов
/ 10 февраля 2011

Мне задали эту гипотетическую проблему:

"Усама возвращается из мертвых и хочет отомстить. Теперь он хочет общаться со своими спящими клетками по всему миру и планировать атаку. Но он должен убедиться, что кто-то другой получает его и, следовательно, хотел бы отправить его в Зашифрованная форма. Он нанял вас на работу. Разработайте систему с модулями шифрования и дешифрования для текстового сообщения. "

В настоящее время я рассматриваю следующую схему шифрования / дешифрования:

enter image description here

Теперь я хочу узнать о лучших функциях PKC, SKC и Hash для реализации вышеуказанной схемы. Я провел небольшое исследование по сети на лучшем алгоритме и сузил свой выбор алгоритма до следующего:

Hash: MD5

PKC: RSA или Diffie-Hellman

SKC: АСС

Подскажите, пожалуйста, есть ли что-то, чего мне не хватает, или есть какой-нибудь лучший / новый алгоритм.

Я планирую реализовать это на python.

EDIT:

После прочтения ответов, я думаю, что я должен идти со следующим:

Hash: SHA-2

PKC: ECC

SKC: AES

Любой совет по библиотеке Python, который предоставит этот алгоритм.

Ответы [ 4 ]

2 голосов
/ 10 февраля 2011

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

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

Ваша проблема здесь похожа на «безопасную электронную почту», и для этого есть два основных протокола: OpenPGP и CMS (как используется в S / MIME ). Посмотрите на них: вы увидите, что решение вашей проблемы нелегко. Для реализации просто используйте существующую библиотеку, например, M2Crypto .

MD5, как известно, имеет слабые места с 1996 года, и считается, что он полностью сломан с 2004 года. Вам следует попытаться получить более свежие источники.

0 голосов
/ 03 сентября 2014

Много асимметричной криптографии уязвимо для квантовой криптографии. Если вы Усама, вы идете против АНБ, и можно с уверенностью сказать, что у них где-то стоит квантовый компьютер.

Единственная система, которая способна обеспечить идеальную секретность, - это One Time Pad , и именно поэтому саталиты используют его.

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

** Плюсы: ** * 1009 овальные *

  • Совершенная секретность

Минусы:

  • Ключ - длина сообщения.
  • Невозможно повторно использовать ключ без раскрытия текста обоих сообщений

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

Pycrypto - это библиотека Python, в которой есть все, что вам нужно для реализации этого самостоятельно.

0 голосов
/ 10 февраля 2011

Для вашего SKC AES является более современным стандартом, чем DSA, хотя DSA не нарушается так же, как MD5.

Строго говоря, вопрос не требует проверки подлинности отправителя или отказа в нем, поэтому цифровая подпись также не требуется.

0 голосов
/ 10 февраля 2011

Если вам действительно нужны «лучшие» алгоритмы:

Хеш: любой из SHA-2 семейства (sha-224/256/384/512)

PKC: ECC (криптография эллиптической кривой)

Другая связанная информация: Эллиптическая кривая Диффи – Хеллмана , Эллиптическая кривая DSA

Читайте также Прикладная криптография и другие книги Брюс Шнайер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...