Quanto è sicuro usare questo modulo (p3 Python) per crittografare un file?

1

Recentemente ho cercato un buon metodo (abbastanza) per crittografare i file, e mi sono imbattuto in questa cosa . Dice che è un

Simple p3 encryption "algorithm": it's just SHA used as a stream cipher in output feedback mode.

Onestamente non so cosa significhi, a parte sapere che SHA è una funzione di hash. La prima cosa che so della crittografia è che la creazione di un buon algoritmo è difficile . Ecco perché non sto facendo qualcosa di sciocco come rotolare la mia semplice crittografia XOR.

Se uso una passphrase di 10-20 caratteri con questo programma, quanto sarebbero sicuri i miei file?

    
posta Wayne Werner 09.05.2012 - 04:39
fonte

2 risposte

4

Rendere il proprio algoritmo crittografico è considerato una cattiva idea a meno che non si sia un crittografo e sia disposto a impiegare molto tempo a crearlo / testarlo.

L'algoritmo in P3 è (secondo le mailing list) creato da un ragazzo che conosce le sue cose, ma non è uno standard. Suggerisco invece di utilizzare AES se si desidera utilizzare password (AES è un algoritmo di crittografia simmetrica).

Il problema al momento è che non ci sono moduli prontamente disponibili per Python 3 forniti con il supporto AES. Per Python 2.x c'è Pycrypto , un'eccellente libreria per qualsiasi algoritmo crittografico, ma in questo momento viene ancora trasferito a Python 3. Tuttavia esiste un ramo che contiene già AES qui .

Ora quanto sarebbe difficile rompere AES con una password da 10 a 20 caratteri? Molto difficile. Se si utilizza il più sicuro (che è AES 256 al momento) e la password è composta solo da numeri, lettere maiuscole e minuscole. Allora avresti (26 + 26 + 10 possibilità per una lettera) ^ 10 (tutte le combinazioni possibili). Questo è un numero enorme di password che dovresti provare (statisticamente metà della quantità effettivamente). A causa della complessità e del carico della CPU che AES può causare, ci vorrebbe più di centomila anni per craccarlo.

    
risposta data 09.05.2012 - 08:20
fonte
1

Sarei piuttosto riluttante a usarlo, semplicemente perché la crittografia è fragile, roba sottile. Paul Rubin (l'autore di p3) conosce le sue cose, ma ancora. C'è già un buon strumento per la crittografia dei file, uno che è stato ampiamente esaminato dagli esperti di crittografia: GPG. Sarei piuttosto scettico sull'usare qualcosa di nuovo invece che sul vecchio GPG.

Ad esempio, p3 ricava i suoi codici crittografici prendendo un semplice hash della password. Potrebbe non essere la migliore idea al mondo, dato che le password spesso non hanno abbastanza entropia. Sarebbe meglio usare PBKDF2 o somesuch.

    
risposta data 10.05.2012 - 08:52
fonte

Leggi altre domande sui tag