32

AES 256 暗号化と復号化を行うための (できれば純粋な) Python ライブラリを探しています。

このライブラリは CBC 暗号モードをサポートし、私の以前の質問に対する回答に従ってPKCS7 パディングを使用する必要があります。

ライブラリは、少なくとも Mac OS X (10.4) および Windows XP で動作するはずです。理想的には、プロジェクトのソース ディレクトリにドロップするだけです。Josh Davis がこれを見たことがありますが、それがどれほど優れているか、必要な CBC 暗号モードを実行するかどうかはわかりません... ソースをスキャンすると、そうではないことが示唆されます

4

5 に答える 5

13

https://github.com/caller9/pythonaes

これは、PKCS7 パディングを使用した純粋な python です。CBC、CFB、および OFB モードをサポートします。

問題は、Python がこの種のものに対して超高速ではないことです。serprex のフォークからのコードは少し不可解ですが、あらゆる種類のトリックを使用して Python から最後の速度を絞り出すため、私のコードよりもはるかに高速です。

実際には、これに最適なライブラリはコンパイルされ、SSE/MMX のものにフックされます。

また、Intel は、Core(tm) ラインのチップ以降、AES 命令を焼き付けています。

私は、あらゆるアーキテクチャ、クロスプラットフォーム、および 3.x と 2.7 で実行できる真の純粋な Python バージョンを入手するために、自分のバージョンを作成しました。

于 2011-01-19T17:38:34.117 に答える
13

PyCryptoが最適です。

編集 02/10/2020: 残念ながら、この投稿は受け入れられた回答であるため、削除できません。人々がコメントで指摘したように、このライブラリはもう管理されておらず、おそらくセキュリティの観点からも脆弱です。代わりに、以下の回答をご覧ください。

于 2008-10-05T19:25:48.083 に答える
5

同じものを検索したときにこの質問を見つけたので、リストに別のものを追加したいと思います。

SlowAEShttp://code.google.com/p/slowaes/
Josh Davis のコードを開発したもので、他の人々の助けを借りています。それはうまくいくようです。

于 2010-06-08T23:19:03.383 に答える
4

ncryptはどうですか?これは純粋な python ではありませんが、結果としてはるかに高速です。これは基本的に OpenSSL の優れた Python ラッパーであるため、背後に高品質のコードがあることがわかります。

于 2008-10-05T22:38:06.010 に答える
1

PyCryptoは明らかにpythonicではないため、一部のプラットフォーム(AIX、HP-UXなど)でのコンパイルで問題が発生する可能性があります。

于 2009-07-05T23:29:42.293 に答える