AES 256の暗号化と復号化を行うための(できれば純粋な)pythonライブラリを探しています。
このライブラリは、CBC暗号モードをサポートし、PKCS7パディングを使用する必要があります 私の以前の質問への回答によると 。
ライブラリは、少なくともMac OS X(10.4)およびWindowsXPで動作するはずです。理想的には、プロジェクトのソースディレクトリにドロップするだけです。私は これはJosh Davisによる を見たことがありますが、それがどれほど優れているか、そしてそれが必要なCBC暗号モードを実行するかどうかはわかりません...ソースをスキャンすると、そうではないことがわかります
PyCrypto はあなたのためのものでなければなりません。
https://github.com/caller9/pythonaes
これは純粋なpython PKCS7パディング付きです。CBC、CFB、およびOFBモードをサポートします。
問題は、pythonは、この種のことでは超高速ではないということです。serprexのフォークからのコードは少し不可解ですが、あらゆる種類のトリックを使用してすべてを絞るため、私のコードよりもはるかに高速です。 Pythonの最後のスピード。
しかし実際には、これに最適なライブラリがコンパイルされ、SSE/MMXのものにフックされます。
また、IntelはCore(tm)チップライン以来、AES命令を取り入れています。
真の純粋なPythonバージョンを入手して、任意のアーキテクチャ、クロスプラットフォーム、3.xおよび2.7で実行できるようにバージョンを作成しました。
同じものを検索したときにこの質問を見つけたので、リストに別の質問を追加したいと思います。
SlowAES– http://code.google.com/p/slowaes/
これは、他の人の助けを借りて、JoshDavisのコードを開発したものです。うまくいくようです。
ncrypt はどうですか?純粋ではありませんpythonですが、結果としてはるかに高速です。基本的にはOpenSSLのNice pythonラッパーなので、背後に高品質のコードがあることがわかります。 。
PyCryptoは明らかにPythonicではないため、一部のプラットフォーム(AIX、HP-UXなど)でのコンパイルで問題が発生する可能性があります。