Quale algoritmo crittografico dovrebbe essere usato sul lato client per crittografare il file prima di caricarlo su un cloud che è solo per scopi di archiviazione?

-3

Voglio sviluppare un sito web che preleva i file dal mio computer per crittografarlo con la mia chiave e caricarlo su cloud che è solo per scopi di archiviazione e decrittografarlo dopo averlo scaricato sul mio computer. Per questo quale algoritmo crittografico dovrei usare quali sono disponibili in tutte le librerie crittografiche.

    
posta nitin desai 20.07.2016 - 04:41
fonte

4 risposte

2

Quello che devi fare è crittografare i file prima di caricarli sul cloud provider e decrittografarli al download.

Ipotesi

  • Non si desidera che il provider cloud sia in grado di leggere (decrittografare) questi file.
  • Ti piacerebbe qualcosa di semplice da implementare

Fai questo

Utilizzare un algoritmo simmetrico per crittografare i file. L'algorthm sicuro più comune è AES

Ci sono molte implementazioni, vedi Implementazioni AES

Un esempio sta usando 7-zip per crittografare i file usando AES, quindi caricarli sul server cloud . Questo è considerato sicuro e dovrebbe reggere contro tutti gli avversari assumendo che tu scelga buone impostazioni (lunghezza della chiave, ecc.)

Vuoi sicurezza perfetta?

Se vuoi veramente essere sicuro di sapere mai vedere questi file, puoi crittografarli con un One Time Pad , che renderebbe i file matematicamente infrangibili in assoluto *, ma ti darebbe una chiave delle stesse dimensioni dei file. Normalmente non pratico.

* ipotizzando la generazione di una chiave casuale

    
risposta data 20.07.2016 - 20:07
fonte
0

Il tuo bisogno è solo per archiviare il file nel cloud e supponendo che la chiave sarà sempre con te e solo con te.

Ecco l'elenco di algoritmi che puoi usare:

  1. Triple DES
  2. RSA
  3. Blowfish
  4. Twofish
  5. AES

Puoi criptare con chiunque di questi e caricarli su cloud e per decrittografare, avrai solo la chiave.

    
risposta data 20.07.2016 - 11:45
fonte
-1

AES è disponibile in qualsiasi libreria crittografica. Usa AES. O meglio, usa una libreria blackbox come NaCl o libsodium con i valori predefiniti, che è stata progettata da un cryptographer di prim'ordine, il che significa che non devi preoccuparti di rovinare l'implementazione che probabilmente stai facendo molto probabilmente prova e implementalo tu stesso

    
risposta data 20.07.2016 - 16:53
fonte
-1

Quello che soddisfa i tuoi requisiti.

  • Se vuoi solo caricarlo e scaricarlo, non crittografarlo.

  • Se vuoi crittografarlo perché la crittografia suona così bene, basta XOR con 01010101b.

  • Se vuoi crittografarlo per sicurezza, definisci ciò che significa sicuro per te.

    • Vuoi impedire al provider cloud di analizzare automaticamente il tuo file?
    • Vuoi impedire al provider cloud di decifrare il tuo file ora?
    • Vuoi impedire al provider cloud di decrittografare i file in 1/10/100 anni?
    • Vuoi impedire ai governi potenti (ad esempio NSA) di decodificare il tuo file ora / in 1/10/100 anni?
    • ...
  • Quante risorse della CPU puoi usare per la crittografia?

  • L'hardware che utilizzi supporta alcuni tipi di crittografia come AES-NI ?
  • Ci sono delle regole legali / regolamentari che devi rispettare?
  • ...

Con le poche informazioni che hai fornito, nessuno può rispondere correttamente a questa domanda.

Se non ti interessa, scarica questo rapporto e scegli un codice a caso tra le pagine 23 o 27

    
risposta data 20.07.2016 - 12:08
fonte