8

メッセージの暗号化にM2CryptoのAESを使用していますが、強力なランダムセッションキーを生成する方法とその長さについて混乱しています。M2Cryptoは、ランダムキーを生成するための機能を提供しますか?

4

3 に答える 3

16

AES - 128には128ビットキー=16バイトがあります。

random_key = os.urandom(16)

ほとんどの用途には十分なはずです。このランダムな値をM2(または任意の暗号ライブラリ)にフィードすると、内部で暗号化に実際に使用される「キースケジュール」に変換されます。

于 2011-02-15T08:55:29.790 に答える
4

M2Crypto は適切なドキュメントがないことで有名です。

テストケースから収集できるものは次のとおりです。

import os
from M2Crypto import EVP

k = EVP.Cipher(alg='aes_128_cbc', key=os.urandom(16), iv=os.urandom(16), op=enc)
于 2011-02-15T10:38:00.943 に答える
0

別の当事者に送信するために暗号化する場合は、Diffie Hellman や ECDH 鍵交換などを行って共有秘密を確立する必要があります。ストレージを暗号化したいだけなら、安全な乱数ジェネレーターが必要です。M2Crypto がこれを提供するとは思いませんか?

M2Crypto は Diffie Hellman をサポートしているようです。

于 2011-02-15T09:50:17.887 に答える