2011-10-31 25 views
13

¿Alguien sabe de una biblioteca python o envoltorio alrededor de una biblioteca c que proporcionará fácilmente AES autenticado a través de GCM mode?AES en modo GCM en Python

PyCrypto no lo soporta y no parece que pyOpenSSL admite el acceso directo a las porciones de cifrado simétrico de OpenSSL

+0

está haciendo una llamada al sistema para OpenSSL es una opción? – jnic

Respuesta

1

Estoy buscando exactamente lo mismo, y, curiosamente no puedo encontrar ninguna solución "oficiales" , sólo los que:

Parece que la respuesta anterior (que he modificado) es correcta, usted mismo tiene que hacer las matemáticas ... Es una lástima que no haya un contenedor de Python para una biblioteca C/assembly porque las últimas CPU proporcionan hardware aceleración para esos cálculos, y no nos beneficiaremos de aquellos con una solución de python pura.

+1

Recuerde que "la respuesta anterior" es una referencia que a menudo no se puede rastrear con éxito. El orden de las respuestas en la página es dinámico. En mi pantalla, la respuesta de la que estás hablando aparece debajo de la tuya (y se borra de todos modos). Hacer referencia a una respuesta con el nombre de la persona que la escribió suele ser bastante duradera. Puede usar la URL del enlace "compartir" si quiere ser realmente preciso. – LarsH

0

PyCrypto ha agregado compatibilidad con AES-GCM en la versión 2.7a1. Estoy bastante seguro de que esta es una versión alfa en este momento.

https://github.com/dlitz/pycrypto

+3

Desafortunadamente, 3 años después PyCrypto v2.7 todavía parece ser una versión beta no publicada. Al menos el repositorio utilizado por pip solo tiene v2.6.1. – Robert

3

acabo de terminar en busca de un algoritmo de cifrado AES modo EAX o GCM en Python. Esta fue una búsqueda particularmente difícil porque no pude descargar la versión PyCrypto alpha, que incluye ambos, debido a un problema de dependencia.

Finalmente, recurrí a una rama de pycrypto que puede instalarse sin problemas y tiene una versión estable de GCM.

http://pycryptodome.readthedocs.org/en/latest/src/introduction.html