Pregunta

Estoy buscando una biblioteca de python (preferiblemente pura) para realizar el cifrado y descifrado AES 256.

Esta biblioteca debería admitir el modo de cifrado CBC y utilizar el relleno PKCS7 según a la respuesta a una pregunta anterior mía .

La biblioteca debería al menos funcionar en Mac OS X (10.4) y Windows XP. Idealmente, simplemente colocándolo en el directorio de origen de mi proyecto. He visto esto por Josh Davis , pero no estoy seguro de lo bueno que es y si hace el modo de cifrado CBC requerido ... Escanear la fuente sugiere que no lo hace

¿Fue útil?

Solución

PyCrypto debe ser el adecuado para usted.

Otros consejos

https://github.com/caller9/pythonaes

Eso es Python puro con relleno PKCS7. Admite los modos CBC, CFB y OFB.

El problema es que Python no es súper rápido para este tipo de cosas. El código de la bifurcación de serprex es un poco inescrutable, pero mucho más rápido que el mío debido al uso de todo tipo de trucos para exprimir hasta el último bit de velocidad de Python.

Realmente, sin embargo, las mejores bibliotecas para esto se compilan y se enganchan en material SSE / MMX.

También Intel está preparando instrucciones AES desde la línea de chips Core (tm).

Escribí mi versión para obtener una verdadera versión pura de Python para poder ejecutarla en cualquier arquitectura, multiplataforma y con 3.x y 2.7.

Como encontré esta pregunta al buscar lo mismo, me gustaría agregar otra a la lista:

SlowAES - http://code.google.com/p/slowaes/
Es un desarrollo del código de Josh Davis, con la ayuda de otras personas. Parece funcionar bien.

¿Qué tal ncrypt ? No es Python puro, pero como resultado es mucho más rápido. Básicamente es un buen contenedor de Python en OpenSSL, por lo que sabes que hay un código de calidad detrás de él.

PyCrypto no es claramente pitónico, por lo que puede tener problemas para compilarlo en algunas plataformas (AIX, HP-UX, etc.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top