È possibile combinare RSA e AES? [chiuso]

1

Sto lavorando a un nuovo progetto che crittografa le cartelle sul mio personal computer. Non è coinvolto l'invio di file (networking). È solo per protezione e sicurezza. È possibile combinare RSA e AES per la crittografia / decrittografia delle cartelle con l'uso della password? (Questo è solo per scopi di ricerca)

    
posta John Carlo Medina 22.01.2017 - 00:58
fonte

3 risposte

3

Sì, certo. Questo è chiamato cryptosystem ibrido .

Lo schema generale è: creare una coppia di chiavi pubblica / privata RSA e crittografare la chiave privata con la password. Per questo è possibile utilizzare crittografia basata su password (PBE) . Assicurati di utilizzare un buon KBKDF (più comunemente noto come hashing della password) con un elevato fattore di lavoro / conteggio delle iterazioni.

Ora puoi generare chiavi di dati AES casuali per crittografare i dati. Cifra queste chiavi AES usando la chiave pubblica della coppia di chiavi e memorizzale con i dati. Se hai bisogno di decifrare, decifrare la chiave privata con la password, decrittografare la chiave di dati e infine decodificare i dati.

Questo è uno schema molto comune, che è stato utilizzato, ad es. OpenPGP per decenni. È ancora considerato sicuro per la crittografia sul posto. Se hai bisogno di qualcosa di più sicuro, dovresti spiegare quale parte del protocollo precedente consideri insicura . Non esiste un modo per migliorare un protocollo già considerato sicuro.

Se vuoi creare qualcosa di speciale, usa crittografia post-quantistica anziché RSA. Puoi anche usare solo costrutti moderni come RSA / OAEP e AES / GCM (usa comunque GCM, per file di grandi dimensioni / numero elevato di file).

    
risposta data 22.01.2017 - 16:06
fonte
3

Certo, questo è esattamente ciò che i browser Web fanno nelle pagine Web HTTPS.

Utilizzano RSA (crittografia asimmetrica) per condividere una chiave segreta (crittografia simmetrica con AES) per le comunicazioni server-client.

    
risposta data 22.01.2017 - 06:27
fonte
2

Sì, la crittografia simmetrica e la crittografia asimmetrica vengono spesso utilizzate insieme e spesso con hashing e altre tecniche per raggiungere un determinato obiettivo. Nel caso di TLS, la crittografia costosa, lenta e asimmetrica viene utilizzata per concordare una chiave simmetrica rapida ed economica utilizzata per lo scambio di dati. Le chiavi asimmetriche sono in genere di grandi dimensioni e generate dal computer, per renderle disponibili per l'uso ma protette nell'archiviazione (ad esempio in PGP o ssh) vengono spesso crittografate utilizzando un algoritmo simmetrico e una chiave scelta da un essere umano.

Poiché risolvono problemi diversi, non ha senso applicare entrambe le tecniche allo stesso compito.

we are required to make a software that would be somehow differ to the other existing folderlock software.

PERICOLO, ROBINSON !!!!!

Anche se si sta remixando un software di crittografia ben scritto, è probabile che si finisca con qualcosa che non è sicuro. La tua domanda mostra che hai ancora un lungo viaggio davanti a te.

La capacità di resistere alla decrittografia dipende principalmente dall'algoritmo e dalla dimensione della chiave. Il modo in cui questo viene imballato con altri componenti in uno strumento può potenzialmente aprire attacchi ai canali laterali (usando ecb piuttosto che, cbc, non usando un IV, lasciando la chiave in chiaro in un file, esponendo un metodo per sovvertire lo scambio di chiavi ...) . La complessità non è l'opposto della sicurezza, ma sono spesso forze opposte.

Ci sono molti strumenti scritti da esperti che hanno ancora queste vulnerabilità. Se vuoi scrivere qualcosa che si distingue nel mercato, prova a trovare un USP che non implichi dover crittografare in modo diverso da tutti gli altri; tutti gli altri lo fanno per una ragione.

    
risposta data 22.01.2017 - 02:43
fonte

Leggi altre domande sui tag