1

M2Cryptoを使用するPythonで、RSA暗号化を使用するハードウェアデバイスの動作テストがあります。次に、3DES暗号化を使用する同様のデバイスをテストする必要があります。しかし、M2Cryptoを使用してトリプルDES暗号化を行う方法がわかりません。

私はそれがこのチャートから可能であるべきだと知っています。しかし、残念ながら、私が見つけたM2Cryptoのドキュメントは大雑把です。http://chandlerproject.org/のホームページはChandlerと一緒になくなったようです。)

3DESと「OpenSSLAPI」を検索したところ、復号化のためにCコードを取得するのが難しいため、M2Crypto.EVP.Cipherを使用する必要があるように見えました。しかし、DESに使用した例は見つかりませんでした。私が見つけた最も近いものは、AES暗号化にそれを使用することに関するこのブログ投稿です。の正しい引数を理解する必要があるようM2Crypto.EVP.Cipher.__init__()です。掘り下げていきますが、この質問を投稿する価値があると思いました。

4

2 に答える 2

3

ここを参照してください。次のDES暗号の参照があります:'des_ede_ecb'、'des_ede_cbc'、'des_ede_cfb'、'des_ede_ofb'、'des_ede3_ecb'、'des_ede3_cbc'、'des_ede3_cfb'、'des_ede3_ofb'。

ホームページは今ここにあるようです。

于 2010-08-22T23:09:38.390 に答える
0

次のコードは私のために働いた:

with open(keyfile, 'rb') as f:
    key = f.read()
encrypt = 1
cipher = Cipher(alg='des_ede3_ecb', key=key, op=encrypt, iv='\0'*16)
ciphertext = cipher.update(plaintext)
ciphertext += cipher.final()

キーファイルは24バイト(バイナリ)ファイルであり、DESで必要になる場合があるようにパリティが設定されていることに注意してください。

'des_ede3_ecb'を使用する場合、iv引数は(私は信じていますが)無視されますが、渡すことができなかったことにも注意してくださいNone。)

于 2010-08-23T23:37:48.727 に答える