2008-10-05 2 views
30

Я ищу (предпочтительно чистую) библиотеку python для шифрования и дешифрования AES 256.Какая (чистая) библиотека Python для шифрования AES 256?

Эта библиотека должна поддерживать режим шифрования CBC и использовать дополнение PKCS7 according to the answer to an earlier question of mine.

Библиотека должна по крайней мере работать с Mac OS X (10.4) и Windows XP. В идеале просто отбросив его в исходный каталог моего проекта. Я видел this by Josh Davis, но не уверен, насколько он хорош, и если он делает требуемый режим шифрования CBC ... Сканирование источника предполагает, что оно не

ответ

21

PyCrypto должно быть для вас.

+0

Существует также обертка, называемая ezPyCrypto. Увы, оба находятся в печальном состоянии, так как PyCrypto в настоящее время переключает сопровождающих, и новый парень не выпустит. – 2008-10-08 18:35:48

+0

PyCrypto с тех пор выпустил 2.1.0. – 2010-01-03 03:56:00

+3

PyCrypto требует GMP, для которого требуются Make и GCC и, возможно, некоторые другие библиотеки и программы – Seth 2011-07-30 16:13:50

4

Как насчет ncrypt? Это не чистый питон, но в результате он намного быстрее. Это в основном хорошая оболочка python на OpenSSL, поэтому вы знаете, что за ней стоит качественный код.

3

PyCrypto четко не вещий, так что вы можете получить проблемы компиляции на некоторых платформах (AIX, HP-UX и т.д.)

5

Так как я нашел этот вопрос при поиске той же, что я хотел бы добавить еще один к список:

SlowAES - http://code.google.com/p/slowaes/
Это разработка кода Джоша Дэвиса, с помощью некоторых других людей. Кажется, он работает нормально.

12

https://github.com/caller9/pythonaes

Это чистая питона с pkcs7 набивкой. Поддерживает режимы CBC, CFB и OFB.

Проблема в том, что python не является супер быстрым для этого типа вещей. Код из вилки serprex немного непостижим, но намного быстрее, чем у меня из-за использования всех трюков, чтобы выжать каждый последний бит скорости из Python.

Действительно, лучшие библиотеки для этого компилируются и подключаются к SSE/MMX.

Также Intel готовит инструкции AES с линии чипов Core (tm).

Я написал свою версию, чтобы получить настоящую чистую версию Python, чтобы работать на любой архитектуре, кросс-платформенной платформе и с 3.x, а также 2.7.