• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Privacy Preserving

Oblivious Transfer (OT)

Oblivious Transfer (OT)

In crittografia, l’oblivious transfer (OT) è un tipo di protocollo in cui il mittente trasmette un pezzo di informazione a un ricevitore, tra tante potenziali, ma rimane ignaro al mittente quale pezzo di informazione sia stato trasmesso.

Ammetto che la parola oblivious mi abbia inizialmente tratto in inganno, poiché da me erroneamente tradotta in ovvio. Significa invece ignaro. In effetti la somiglianza con la parola obvious porta in errore facilmente.

Paranoie grammaticali a parte, lasciami dirti una cosa.

Prima di addentarci nei meandri di quello che pare essere un argomento contorto e logicamente senza senso (i.e. Spiegami per quale motivo il mittente di un messaggio non dovrebbe conoscere quale informazione venga inviata? Spoiler, a breve ci arriviamo!), ripassiamo molto velocemente la storia dell’Oblivious Transfer.

La breve storia dell’Oblivious Transfer (OT)

Il primo protocollo di Oblivious Transfer (OT) fu introdotto nel 1981 da Michale O. Rabin, un matematico israeliano oggi quasi novantenne.

Nella sua forma iniziale, il protocollo consentiva a un mittente di inviare un messaggio con una probabilità del 50%, rimanendo così ignaro dell’effettiva ricezione da parte del destinatario.

Qualche anno dopo, altri ricercatori svilupparono una variante nota come 1-2 oblivious transfer affinché potesse essere usata per costruire protocolli di Secure Multiparty computation.

Questa variante particolare può essere generalizzata nella forma 1 out of n oblivious transfer, che applicata a un contesto client-server, permette a un utente di interrogare un database, senza che il server sappia quale elemento sia stato richiesto e senza che l’utente apprenda informazioni sugli dati presenti a database.

Ora si che inizia ad avere senso.

Come funziona l’OT?

Chiamiamo i nostri cari amici Alice e Bob, da sempre amanti della crittografia, affinché ci aiutino a capire come funzioni l’oblivious transfer.

Alice ha due messaggi, M0 e M1.

Bob è interessato a leggere il messaggio M0, e non vuole che Alice sappia che Bob abbia letto esattamente M0, e non M1 per esempio.

In effetti, l’intesa tra Alice e Bob è finita e oggi non si sopportano più. However…

Entrambe le parti concordano nel definire un generatore g, e scelgono un numero a testa, a e b, che mantengono privato.

Servono ancora alcune operazioni per rendere effettivo il nostro protocollo di oblivious transfer.

Ora entrambi calcolano un nuovo numero con l’ausilio del generatore e del numero privato, come segue:

  • Alice calcola A = g^a
  • Bob calcola B = g^b oppure B = A*g^b ( in base al messaggio che intende leggere)

Bob procede a inviare B ad Alice che può ora calcolare due valori, uno per messaggio grazie a B. Lo fa come segue:

  • K0 = Hash( B^a )
  • K1 = Hash( (B/A)^a )

Ora avviene la cifratura del messaggio. Usando le chiavi K0 e K1, Alice cripta i messaggi M0 e M1 generando E0 ed E1. Entrambi i messaggi cifrati sono quindi inviati a Bob.

Adesso Bob calcola la chiave di decifratura K = Hash( A ^b ) e prova a decifrare i messaggi E0 ed E1.

Ora, posso svelarti la meraviglia dell’oblivious transfer.

Il sistema attraverso cui abbiamo gestito i segreti e i messaggi, ci garantisce che Bob sia in grado di accedere unicamente al messaggio da lui scelto, e che non possa in alcun modo decifrare gli altri. Alice, dal canto suo, non può mai sapere quale messaggio sia stato decifrato, quindi letto.

A meno che i due non facciano pace e si rivelino vicendevolmente informazioni confidenziali.

L‘Oblivious Transfer è un concetto alla base delle Zero Knowledge Proofs, attraverso cui riuscire a creare un circuito che permetta a una persona di generare una funzione e a un’altra di calcolarla (evaluation) ottenendo il risultato.

Descriveremo questo passaggio esaminando i Garble Circuit.

Per il momento è tutto.

Per aspera, ad astra.

Un caldo abbraccio, Andrea

Written by Andrea Provino - Luglio 6, 2021
Tags | privacy

You Might Also Like

differential-privacy-example-privacy-differenziale-esempio-italiano-applicazioni-reali

Differential Privacy Example | Esempi di privacy differenziale

Febbraio 10, 2021
noise-accuracy-tradeoff-differential-privacy-randomized-response-plausible-deniability

Randomized Response e Plausible Deniability | Differential Privacy

Febbraio 14, 2020
apheris-ai-machine-learning-deep-leaniing-data-science-deep-learning-differential-privacy-distributed-analysis-federated-learning

Apheris AI: analisi su dati distribuiti e tutela della privacy

Maggio 23, 2020
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino