Come criptare un file con il codice? [chiuso]

-3

Come posso crittografare un file usando il mio codice di programmazione?
Sono un principiante, voglio imparare la crittografia.

    
posta novice programmer 04.03.2017 - 16:01
fonte

2 risposte

1

Ci sono due parti per la mia risposta:

  1. Per il codice di produzione, dovresti MAI utilizzare la tua crittografia personale. SEMPRE utilizza una libreria crittografica testata e revisionata. Se la tua domanda si riferisce al codice di produzione, utilizza una libreria nel tuo linguaggio di programmazione di destinazione. Per alcune librerie per le lingue popolari vedi qui .

  2. Se solo intende imparare da questo, puoi utilizzare alcune informazioni gratuite sulla crittografia dalle seguenti risorse: Cryptography Primer , Un corso di laurea in Crittografia applicata e un corso online sulla crittografia . Probabilmente avrai bisogno di un po 'di esperienza in programmazione, ma questo non è il punto da cui partire se non ne hai. Gli algoritmi di crittografia possono variare in difficoltà di implementazione, quindi ti suggerisco di iniziare con un semplice cifrario e aprirti la strada.

risposta data 04.03.2017 - 16:17
fonte
1
  1. Questa è una domanda molto ampia con molte risorse online che avrebbero già risposto alla tua domanda se le avessi cercate.
  2. Stai anche facendo una domanda relativa al codice sul sito Web StackEurprise di sicurezza delle informazioni, mentre di solito le domande relative al codice devono essere poste su StackOverflow.

Tuttavia, penso che questa sia una buona domanda per avere una risposta canonica, quindi fornirò una risposta generale per indirizzarti nella giusta direzione, senza dare un codice specifico.

Effettuare correttamente la crittografia è non facile . Significa leggere e imparare molto. Puoi utilizzare la crittografia per sperimentare, ma dovresti non fidarti del tuo codice per fornire sicurezza adeguata. Se si desidera utilizzare la crittografia in un prodotto che deve essere utilizzato da altre persone o anche da aziende, si prega di chiedere a un esperto di esaminarlo (come consulente). Se lo si utilizza in un progetto open source, è necessario aggiungere avvisi che la crittografia potrebbe contenere vulnerabilità sconosciute.

Con quello fuori mano, ecco cosa dovresti cercare:

  • Come utilizzare una libreria (nel linguaggio di programmazione di tua scelta) per crittografare un file, utilizzando un algoritmo di crittografia sicuro.
  • Funzionamento della crittografia autenticata, in modo da poter rilevare quando il file è stato modificato dopo che è stato crittografato.
  • Come trasformare una password in una chiave adatta per l'uso in un algoritmo di crittografia. La frase che dovresti trovare è una funzione di derivazione della chiave .

Prima di utilizzare un algoritmo specifico, come AES o RC4 o MD5, guarda su Wikipedia per vedere se è noto e se ha qualche vulnerabilità. Ad esempio, non è più consigliabile utilizzare RC4 e MD5. Altri algoritmi che le persone pubblicano online (che hanno fatto da soli) non sono ben conosciuti e testati e sono quasi sempre infranti. Questo è meno comune in questi giorni rispetto a dieci anni fa, ma ancora qualcosa a cui prestare attenzione.

Se si desidera utilizzare AES-256 in modalità CTR con PBKDF2-SHA256 come KDF e HMAC-SHA256 come codice di autenticazione, ora ci sono molte cose da cercare: AES-256 è sicuro? PBKDF2 è sicuro e come dovrebbe essere usato? SHA256 è sicuro? E HMAC è sicuro? Dovresti prima calcolare l'HMAC e poi criptarlo, o viceversa? Come dovrebbe essere utilizzata la modalità CTR? Ecc.

Un altro buon punto di partenza per conoscere la crittografia in generale è il corso Crypto 1 su Coursera . Fornisce una solida panoramica, ma non è molto pratico. A seconda di quanto desiderosi di immergerti nel programmare qualcosa da te, questo può o meno essere un corso da seguire.

    
risposta data 04.03.2017 - 16:27
fonte

Leggi altre domande sui tag