Qualunque sia la ragione per cui vuoi creare un programma di crittografia, crearne uno può essere divertente e molto impegnativo. Tuttavia, potrebbe essere difficile capire come farlo se è la prima volta. Questo articolo tratta l'idea generale e i passaggi di base necessari per creare un programma di crittografia funzionale e realistico.
Passi
Parte 1 di 2: creazione del metodo di crittografia
Passaggio 1. Progettare l'algoritmo
Un algoritmo generale è la spina dorsale di tutti i metodi di crittografia. RSA utilizza proprietà matematiche di grandi numeri primi per crittografare in modo rapido e sicuro i dati privati. Bitcoin utilizza una versione di RSA per proteggere i pagamenti in modo sicuro e garantire che il mittente voglia effettivamente inviare bitcoin a un altro utente. Dovresti fare ricerche su vari tipi di algoritmi di crittografia, come la crittografia a chiave privata e pubblica. Va notato che nessuna crittografia, se si prevede di recuperare i dati, è indistruttibile. La crittografia può solo scoraggiare il ficcanaso occasionale e ritardare gli attacchi gravi. Si consiglia di imparare cos'è il binario, renderà la creazione del tuo algoritmo molto più semplice e più rilevante per la crittografia dei dati.
Passaggio 2. Testa il tuo algoritmo
Una volta che pensi di avere un buon algoritmo, dovresti provare a crittografare a mano un messaggio molto breve. Questo dovrebbe richiedere più di qualche minuto per buoni algoritmi di crittografia. Una buona regola pratica è che, se puoi crittografare il messaggio nella tua testa, non è sicuro per una crittografia seria. Se il messaggio finale sembra in qualche modo simile al messaggio originale, potrebbe non essere sicuro.
Passaggio 3. Considera la decrittazione
Deve esserci un modo per le parti autorizzate di accedere ai dati crittografati dal tuo algoritmo. Dovresti assicurarti di poter decodificare facilmente i dati se conosci la chiave e rendere difficile per gli aggressori imbattersi accidentalmente nella chiave attraverso tentativi ed errori.
Se non vuoi che i dati siano affatto recuperabili, prendi in considerazione la creazione di un algoritmo di hashing. Un algoritmo di hashing accetta un input e crea un valore unidirezionale basato su questo input. È possibile passare dall'input di origine a un valore con hash, ma idealmente è impossibile tornare all'input di origine dal valore con hash. Ciò è particolarmente utile per la protezione tramite password. Quando crei un account su un sito Web con una password, etico i siti Web eseguiranno l'hashing della tua password prima di memorizzarla. Questo ha molti vantaggi, come ritardare gli aggressori dal decifrare la tua password. Tuttavia, se dimentichi la password, sarai costretto a crearne una nuova.
Passaggio 4. Disegna lo pseudocodice
Questo dovrebbe essere relativamente facile una volta creato e testato il tuo algoritmo per dimostrare che funziona. Lo pseudocodice dovrebbe leggere come un inglese semplice e istruttivo, essere abbastanza leggibile da essere compreso da una persona normale e abbastanza istruttivo da consentire a un programmatore di implementare facilmente l'algoritmo in un linguaggio come C, Java, ecc.
Parte 2 di 2: Pubblica l'algoritmo
Passaggio 1. Condividi il tuo algoritmo con altri appassionati di crittografia dei dati
Ciò ti consentirà di scoprire possibili trappole nella crittografia e ottenere feedback sulla sicurezza e sulla fattibilità dell'algoritmo. Se il tuo algoritmo è così complesso che nessuno può capirlo, nessuno lo userà. Ma lo stesso vale se l'algoritmo è così semplice che chiunque può decodificare un messaggio con il minimo sforzo.
Passaggio 2. Pubblica una sfida su un forum
Ci sono forum dedicati alla risoluzione e alla decodifica dei dati, prova a pubblicare un breve messaggio che hai crittografato insieme a suggerimenti sull'algoritmo utilizzato. Se ti senti sicuro, puoi persino dare loro il tuo algoritmo e vedere quanto tempo impiegano gli altri a decifrarlo con la forza bruta.
Suggerimenti
- Inizia imparando come funzionano altri algoritmi di crittografia popolari. RSA è unico e ampiamente utilizzato nel mondo reale per la crittografia dei dati.
- Creare un buon algoritmo di crittografia non è mai facile, soprattutto se è la prima volta. Inizia con un'idea e costruisci su di essa. Se noti un difetto, potrebbe essere più facile ricominciare da capo invece di provare a correggere il difetto.
Avvertenze
- Un algoritmo di crittografia dovrebbe funzionare a livello di bit delle informazioni. Evita semplicemente di creare un codice che funzioni solo cambiando le lettere in un messaggio in qualcosa di leggermente diverso. Questi sono sempre insicuri.
- A meno che tu non abbia una laurea in teoria o sicurezza dell'informazione, probabilmente non dovresti usare la tua crittografia per proteggere le tue password o altre informazioni private.
- Nessuna crittografia è perfetta. Se hai intenzione di recuperare i dati che crittografi, questo da solo crea un buco nella tua crittografia. Anche quando non vuoi recuperare i dati, possono comunque essere, almeno in teoria, craccati e scoperti.