Problema MPC e circuiti cifrati di Yao
Comprenda il calcolo sicuro tra due parti tramite circuiti booleani cifrati.
Problema MPC e circuiti cifrati di Yao è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Il problema del calcolo sicuro multipartitico
MPC consente a n partecipanti, ciascuno in possesso dell'input privato x_i, di calcolare congiuntamente f(x_1,...,x_n) senza rivelarsi reciprocamente i propri input, come se il calcolo fosse eseguito da una terza parte fidata.
Esempio classico: il problema dei milionari
Il problema dei milionari di Yao del 1982: Alice e Bob vogliono sapere chi è più ricco senza rivelare la propria ricchezza. Non esiste alcuna terza parte fidata. MPC risolve il problema con garanzie crittografiche.
Obiettivi di sicurezza in MPC
1. Riservatezza: i partecipanti apprendono solo l'output e ciò che possono dedurne. 2. Correttezza: l'output è corretto anche se alcuni partecipanti sono compromessi. 3. Esistono varianti per avversari semi-onesti e malevoli.
I circuiti booleani come modello di calcolo
Qualsiasi funzione può essere espressa come circuito booleano, composto da porte AND, XOR e NOT. I protocolli MPC operano spesso a livello di circuito, valutando ogni porta in modo sicuro.
Costruzione del circuito garbled di Yao
Alice (garbler) assegna due etichette casuali a ciascun filo: una per 0 e una per 1. Cifra la tabella della verità di ogni porta usando le etichette dei fili di ingresso. Bob (evaluator) apprende le etichette dei propri input tramite Oblivious Transfer.
Valutazione delle porte garbled
Bob riceve tabelle garbled, con 4 cifrature per ogni porta AND. Decifra esattamente una riga usando le etichette dei propri input e ottiene l'etichetta di output, senza sapere se rappresenta 0 o 1.
Ottimizzazione Point-and-Permute
Si associ un "select bit" casuale a ogni etichetta. Bob usa i select bit per trovare la riga garbled corretta in O(1), invece di provare tutte e quattro le decifrature. Il calcolo si riduce di 4×.
Ottimizzazione Free-XOR
Kolesnikov e Schneider (2008): si scelga un offset globale Δ. Quindi, per ogni filo, label_1 = label_0 ⊕ Δ. Le porte XOR diventano gratuite, perché non richiedono cifratura, con un risparmio di circa il 30% sulla larghezza di banda.
Half-Gates: porte AND minime
Zahur et al. (2015): ogni porta AND richiede soltanto 2 testi cifrati, invece di 4. In combinazione con Free-XOR, questa tecnica dimezza la larghezza di banda dei circuiti garbled standard.
Garbling a due parti e multipartitico
I circuiti garbled classici coinvolgono 2 partecipanti. Le estensioni multipartitiche, ad esempio il protocollo BMR, parallelizzano il garbling tra tutti i partecipanti, ma richiedono una comunicazione O(n²). Sono pratiche per valori piccoli di n.
Verifica delle conoscenze
Nel protocollo del circuito garbled di Yao, come ottiene Bob le etichette dei fili corrispondenti ai bit del proprio input privato?
Riepilogo della lezione
MPC consente ai partecipanti di calcolare congiuntamente senza rivelare gli input. I circuiti garbled codificano le funzioni booleane come tabelle della verità cifrate. Le ottimizzazioni (Free-XOR, Half-Gates, Point-and-Permute) li rendono pratici. OT fornisce privatamente a Bob le etichette dei suoi input.
Domande Frequenti
La lezione «Problema MPC e circuiti cifrati di Yao» è gratuita?
Sì — il testo completo di «Problema MPC e circuiti cifrati di Yao» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «Problema MPC e circuiti cifrati di Yao»?
Comprenda il calcolo sicuro tra due parti tramite circuiti booleani cifrati. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Problema MPC e circuiti cifrati di Yao»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Problema MPC e circuiti cifrati di Yao
- Protocollo GMW e oblivious transfer
- SPDZ e MPC aritmetico su condivisioni segrete
- Applicazioni MPC: intersezione privata di insiemi e machine learning