Domanda

Sto cercando una libreria Python (preferibilmente pura) per eseguire la crittografia e la decrittografia AES 256

Questa libreria dovrebbe supportare la modalità di cifratura CBC e utilizzare il padding PKCS7 secondo alla risposta a una mia domanda precedente .

La libreria dovrebbe funzionare almeno su Mac OS X (10.4) e Windows XP. Idealmente semplicemente rilasciandolo nella directory di origine del mio progetto. Ho visto questo di Josh Davis , ma non sono sicuro di quanto sia buono e se fa la modalità di cifratura CBC richiesta ... Scansionare la fonte suggerisce che non

È stato utile?

Soluzione

PyCrypto dovrebbe essere quello che fa per te.

Altri suggerimenti

https://github.com/caller9/pythonaes

Questo è puro pitone con imbottitura PKCS7. Supporta le modalità CBC, CFB e OFB.

Il problema è che python non è super veloce per questo tipo di cose. Il codice dalla forcella di serprex è un po 'imperscrutabile, ma molto più veloce del mio a causa dell'utilizzo di tutti i tipi di trucchi per spremere ogni ultimo bit di velocità da Python.

In realtà, le migliori librerie per questo sono compilate e agganciate alle cose SSE / MMX.

Anche Intel sta fornendo le istruzioni AES dalla linea di chip Core (tm).

Ho scritto la mia versione per ottenere una vera versione Python pura là fuori per poter funzionare su qualsiasi architettura, multipiattaforma e con 3.xe 2.7.

Dato che ho trovato questa domanda durante la ricerca della stessa cosa, vorrei aggiungerne un'altra alla lista:

SlowAES - http://code.google.com/p/slowaes/
È uno sviluppo del codice di Josh Davis, con l'aiuto di altre persone. Sembra funzionare bene.

Che ne dici di ncrypt ? Non è puro pitone ma di conseguenza è molto più veloce. Fondamentalmente è un bel wrapper Python su OpenSSL, quindi sai che c'è dietro un codice di qualità.

PyCrypto non è chiaramente pitonico quindi puoi avere problemi a compilarlo su alcune piattaforme (AIX, HP-UX ecc.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top