Pycrypto - использование Crypto.Random для генерации секретного ключа и вектора инициализации - PullRequest
4 голосов
/ 02 ноября 2011

Можно ли использовать Crypto.Random для безопасной генерации надежного секретного ключа и вектора инициализации?

Ответы [ 2 ]

9 голосов
/ 02 ноября 2011

Согласно документам PyCryto ответ - да:

from Crypto.PublicKey import RSA
from Crypto import Random
rng = Random.new().read
RSAkey = RSA.generate(1024, rng) 
0 голосов
/ 15 декабря 2012

Использование pycrypto ( Эта ссылка для получения дополнительной информации )

>>> from Crypto.Hash import MD5
>>> MD5.new('abc').hexdigest()
'900150983cd24fb0d6963f7d28e17f72'

Больше безопасности ( Для получения дополнительной информации )?

>>> from versile.quick import VCrypto, VX509Crypto
>>> purpose  = 'Versily Python Demo Services'
>>> personal = 'I like Monty Python humor'
>>> password = 'kLqnr37ubG'
>>> identity = VCrypto.lazy().dia(1024, purpose, personal, password)
>>> type(identity)
<class 'versile.crypto.local._VLocalRSAKey'>
>>> x509_pubkey = VX509Crypto.export_public_key(identity.public)
>>> print(x509_pubkey) 
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBANpspNSQPXlq/tEBIq8pT31WYzcKFtX8b41k9ec5YqiJhgOf9WyK0UqTScOzLiySKun2
XBVjXRhok5kvyT32K+JYh2VwoOnS0J6KFOhaatKMvDmVIFyhAdZ7xC3+jf1zT0n/vAQE0+DEGKfS
de7je8eA/T4C7uwLKn98aY+oudFtAgMBAAE=
-----END RSA PUBLIC KEY-----
...