2009-06-29 6 views
3

Я хочу зашифровать ключ сеанса с помощью открытого ключа. Как это делает программное обеспечение PGP? Может ли кто-нибудь указать процедуру или функцию шифрования в Python?python + encryption: Шифрование ключа сеанса с использованием открытого ключа

+0

Вы уверены, что вам нужен открытый ключ (асимметричная) шифрования? За исключением случаев, когда вам необходимо публично делиться сеансовым ключом между несколькими сайтами/приложениями, симметричное (например, AES или Serpent) шифрование должно быть лучше. – drdaeman

ответ

1

См. this post для получения справочной информации об основных технологиях. Это сообщение о шифровании в целом - для получения информации об использовании gpg из Python, например, см. this.

2

Там также модуль PyCrypto, который выглядит точно так же, как то, что вы ищете: http://www.dlitz.net/software/pycrypto/ АНИ документы здесь: http://www.dlitz.net/software/pycrypto/apidoc/ и некоторые интересные документы с основными примерами шифрования/дешифрования здесь: http://www.dlitz.net/software/pycrypto/doc/.

Я признаюсь, что не использовал этот модуль, но, похоже, вы создали сеанс с открытым ключом, а затем используете его для шифрования/дешифрования канала с помощью объекта Crypto.PublicKey. Затем выполните обычную работу по генерации сеансового ключа, сообщив, что по всему каналу у вас есть. Наконец, переключите канал на объект Crypto.Cipher, используя ключ сеанса.

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

Смежные вопросы