Blog.

Introduzione alla Crittografia (Cryptography) | Differential Privacy


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
AI, Privacy Preserving

enigma-cripthography-cypbersecurity-data-science-machine-learning-homomorphic-encryption-additive-secret-sharing-deep-learning-privacy-preserving

La crittografia (Cryptography) è un campo di studi che si occupa di comunicazione segreta, sviluppando metodi di offuscamento dell’informazione.

Come può un blog di machine learning e data science, come il nostro, parlare di crittografia pur rimanendo all’interno della sua area di studi?

Domanda molto interessante.

Come sai, recentemente abbiamo condotto alcune analisi tecniche sulle esigenze avanzate che un’applicazione di tracing richiede per funzionare efficientemente, garantendo al contempo la privacy degli utilizzatori.

La missione compiuta fa parte di un più vasto programma di ricerca e sviluppo nel settore della privacy-preserving, con un focus nell’ambito del machine learning.

Il motivo è semplice: come possiamo dominare questo campo, se per compiere le nostre analisi, attraverso tecniche di Data Science, e sviluppare modelli, con l’ausilio del machine learning, non abbiamo accesso a informazioni di alta qualità, spesso sensibili e private?

In nostro soccorso un’area di studi raffinata e dalle infinite potenzialità: la Differential Privacy.

In questo post, che ti consiglio caldamente di leggere così da aumentare la tua cultura a riguardo, abbiamo introdotto l’argomento ma grattato appena la superficie.

Per comprendere la Differential Privacy più profondamente dobbiamo necessariamente arricchire il nostro lessico, e bagaglio culturale, con termini, e definizioni, proprie della crittografia (cryptography).

La meta è chiara.

Il mare calmo e il vento favorevole ci aiuteranno nella navigazione: ammainiamo le vele, e andiamo tutta velocità verso la meta!

Cryptography

La crittografia è un campo di studi che si occupa di comunicazione segreta, sviluppando metodi di offuscamento dell’informazione.

Come può esserci utile?

È presto detto.

Qualora volessimo condividere un messaggio con qualcuno, avendo la certezza matematica che nessuno fuorché il destinatario possa riceverlo, dovremmo fare ricorso alla crittografia.

In questo modo potremmo scongiurare, usando i termini tecnici, l’attacco (attack) mosso da un avversario (adversary), una terza parte intenta a catturare il contenuto del messaggio.

Esistono modalità differenti con cui un fantomatico avversario possa interferire (attaccare) nel flusso di comunicazione.

È certamente un’interessantissima area di studi e la copriremo prossimamente. Per il momento, concentriamoci sull’essenziale.

Encryption

Per nascondere efficacemente il contenuto del messaggio usiamo un sistema generalmente noto come encryption, che in italiano potremmo tradurre come criptazione.

Affermiamo con certezza che un messaggio sia criptato quando l’informazione è matematicamente codificata, assumendo un aspetto casuale, privo di senso a tutti fuorché al legittimo destinatario.

Ok, semplifichiamo leggermente le cose.

Un testo in chiaro (plain text) può essere matematicamente criptato (encrypted) usando una chiave segreta (secret key) e divenendo un testo cifrato (cipher text), di fatto illeggibile.

Uno degli obiettivi di sicurezza che si pone la criptazione è quello di assicurare che il testo cifrato sia indistinguibile da uno casuale.

Security Goal of Encryption

Ovviamente, molteplici sono gli algoritmi per effettuare operazioni di criptazione e decriptazione dei messaggi.

Una forma di criptazione, particolarmente utile per comprendere il protocollo di Private Set Intersection, è definita di Homomorphic Encryption.

A questo punto, ti lascio in buone mani consigliandoti di leggere l’approfondimento sull’Homorphic Encryption e l’Additive Secret Sharing, due argomenti fondamentali nel nostro viaggio alla scoperta della Differential Privacy con l’aiuto della fantastica community di OpenMined.

Secure Multi-party Computation (SMPC)

Oltre alla criptazione, la crittografia sottende anche un’area definita si Secure multi-party computation che si occupa della protezione dei dati di più parti in comunicazione tra loro, facendo in modo che nessuno abbia accesso a informazioni extra.

Una delle tecniche impiegate per garantire questa condizione è definita di Private Set Intersection, che consente di calcolare l’intersezione dei dataset di due parti, assicurando la privacy individuale.

Abbiamo approfondito questa tecnica qui!

Source: OpenMined

Un caldo abbraccio, Andrea.

Taggeddeep learningdifferential privacyprivacy


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum