La crittografia è stata un'area vitale nello sviluppo della tecnologia blockchain, ma ciò non sarebbe possibile senza lo sviluppo di un concetto di base per essa: cifratura probabilistica.
Quando parliamo di crittografia probabilistica ci riferiamo a un algoritmo in grado di applicare la casualità a un meccanismo di crittografia. In questo modo, ciò che cerca lo sviluppatore di questa funzione crittografica è qualcosa di molto semplice: per ogni input di dati, ottenere un output diverso per ogni interazione effettuata. Pertanto, gli algoritmi di crittografia probabilistica cercano di offrire un livello di sicurezza più elevato rispetto a quello raggiunto dalle attuali tecniche deterministiche.
Questa idea serve a migliorare i sistemi di crittografia asimmetrica che sappiamo E da questo punto, possiamo capire la sua importanza: la crittografia probabilistica è l'elemento fondamentale per proteggere la privacy della nostra vita digitale, non solo in blockchain, ma anche in Internet e in ogni altro aspetto legato a questo mondo ora e nel prossimo futuro.
Il primo sistema di crittografia probabilistica
L'origine del primo sistema di cifratura probabilistica può essere fatta risalire allo sviluppo di Ralph Merkle con il suo lavoro Comunicazioni sicure su canali non sicuri. Questo lavoro era così in anticipo sui tempi che alla sua presentazione iniziale all'Association for Computing Machinery (ACM) nel 1975, fu liquidato come impossibile.
Ma nel 1978, un anno dopo il lavoro di Whitfield Diffie y Martin Hellmann e il suo protocollo crittografico asimmetrico Diffie-Hellman, è stato finalmente considerato come qualcosa di possibile chiarendo una cosa: la nascita della crittografia probabilistica e dei sistemi a chiave pubblica non erano solo una possibilità ma il futuro della crittografia.
Pertanto, le proposte di Ralph Merkle, Whitfield Diffie e Martin Hellman sono diventate le prime proposte crittografiche che utilizzavano elementi di crittografia probabilistica per il loro funzionamento. Il suo successo sta nel fatto che questo nuovo schema è stato in grado di garantire qualsiasi canale di comunicazione anche in un ambiente di comunicazione insicuro.
Questo progresso è stato ciò che ha portato alla creazione di uno dei primi sistemi di crittografia asimmetrica con gli elementi probabilistici più utilizzati al mondo: l'algoritmo RSA. RSA è ancora utilizzato oggi su Internet e in molti sistemi digitali in tutto il mondo. Naturalmente, tutto questo schema è utilizzato anche nel resto dei sistemi crittografici asimmetrici, come quelli noti ECDSA, EdDSA, Schnorr, tra gli altri, il che rende evidente il livello di importanza di questo progresso.
Migliorare il sistema
Ora, l'uso di algoritmi probabilistici in RSA è in realtà piuttosto ridotto. In genere, viene utilizzato per una funzione di base: i produttori di numeri pseudo-casuali o PRNG (generatore di numeri pseudo-casuali). Ricordiamo che i PRNG hanno il compito di aiutarci a ottenere i numeri e l'entropia che possiamo considerare sicuri e, quindi, sono la base della sicurezza dei nostri attuali algoritmi di crittografia asimmetrica. Questi PRNG vengono creati utilizzando algoritmi probabilistici e, quindi, gli algoritmi di crittografia asimmetrica sono considerati algoritmi di crittografia probabilistici, anche se non applicano completamente tale schema.
Sebbene questo sia abbastanza sicuro, anche per i nostri standard attuali, la sicurezza di questi algoritmi può essere estesa estendendo l'uso delle proprietà probabilistiche al resto dell'algoritmo di crittografia. Vale a dire, applicare la casualità non solo al generatore di numeri, ma anche all'intero sistema di crittografia, che sarebbe un enorme progresso paragonabile alla nascita stessa della crittografia asimmetrica.
Fu proprio questo il lavoro che diedero vita a due grandi crittografi, Shafi goldwasser y Silvio Micali (creatore di Algorand). Nel 1982, Goldwasser e Micali hanno introdotto il noto protocollo crittografico Goldwasser-Micali. Il suo più grande passo avanti è che questo è il primo sistema crittografico completamente probabilistico conosciuto in tutto il mondo.
Il lavoro di Goldwasser e Micali crea un sistema asimmetrico sicuro basato sul problema dei residui quadratici descritto da Carl Friedrich Gauss nell'anno 1801. Questo problema matematico è ampiamente utilizzato in crittografia, il miglior esempio della sua implementazione è l'algoritmo PRNGBBS (generatore di numeri pseudocasuali BBS), creato nel 1986 da Lenore Blum, Manuel Blum e Michael Shub.
È sulla base di questo sistema che Goldwasser e Micali hanno creato un algoritmo in grado di generare una funzione probabilistica a cascata in cui ogni valore generato dalla fattorizzazione di numeri generati casualmente serve ad alimentare un algoritmo di cifratura interamente probabilistico. Pertanto, un testo può essere preso e crittografato in sequenza, in questo modo ogni sequenza dà un risultato totalmente diverso, non vedrai mai lo stesso file con una crittografia identica, indipendentemente dal numero di iterazioni di crittografia eseguite. Puoi leggere un'estesa spiegazione matematica del sistema in questo link.
Sicurezza probabilistica del sistema crittografico
Ora, perché raggiungere questo livello? La risposta è semplice: migliorare la nostra sicurezza. Il sistema di cifratura probabilistica introdotto da Goldwasser e Micali è forse uno dei più grandi enigmi di crittoanalisi che si possano creare.
Per esempio, un testo di 500 caratteri avrebbe più di 10^100000 diverse combinazioni di crittografia, che presuppone un livello di risultato computazionalmente non analizzabile al momento. È persino maggiore delle capacità di crittografia che possono essere raggiunte con algoritmi come AES, ECDSA ed EdDSA, messi insieme.
Il problema con i sistemi di crittografia probabilistici è che la loro creazione utilizzando macchine deterministiche crea sempre un vuoto o uno spazio in cui non possiamo verificarne completamente la sicurezza. In parole povere, teoricamente sono ottime, ma formalmente a livello di implementazione algoritmica non possiamo garantire la loro totale sicurezza. Questo in sostanza potrebbe essere risolto con il prossimo salto nell'era dei computer: i computer quantistici, poiché per loro natura sono probabilistici e potremmo verificare completamente la sicurezza di questi sistemi crittografici.
Oltre a creare algoritmi efficienti, poiché le implementazioni di crittografia probabilistica esistenti sono computazionalmente inefficienti e non compensano la loro sicurezza rispetto alla potenza computazionale e alle prestazioni che offrono. Detto questo, c'è ancora molto da ricercare in quest'area fino a quando non potremo finalmente sviluppare algoritmi complessi che sfruttino tutto il potenziale di questo nuovo miglioramento nei nostri sistemi di crittografia, ma per ora dovremo aspettare ancora un po' e migliorare il basi probabilistiche che già proteggono le nostre attuali implementazioni.
Corso avanzato di Bitcoin
Livello avanzatoAlla Bit2Me Academy ti offriamo questo corso avanzato gratuito di Bitcoin per farti diventare il prossimo Satoshi Nakamoto.