Historia Alicji i Boba

Transkrypt

Historia Alicji i Boba
Historia Alicji i Boba
Stefan Dziembowski
http://www.mimuw.edu.pl/ std
Instytut Informatyki
Uniwersytet Warszawski
Stefan Dziembowski
Historia Alicji i Boba – p.1/54
Zarys historii kryptografii
Kryptografia rozwija sie˛ od czasów starożytnych.
Poczatkowo
˛
celem było zapewnienie
bezieczeństwa komunikacji.
Stefan Dziembowski
Historia Alicji i Boba – p.2/54
Zarys historii kryptografii
Kryptografia rozwija sie˛ od czasów starożytnych.
Poczatkowo
˛
celem było zapewnienie
bezieczeństwa komunikacji.
Obecnie kryptografia przeżywa burzliwy rozwój.
W dużej mierze zwiazany
˛
z zastosowaniami w
e-gospodarce.
Stefan Dziembowski
Historia Alicji i Boba – p.2/54
Tradycyjny cel kryptografii [1/2]
bezpieczna komunikacja.
Stefan Dziembowski
Historia Alicji i Boba – p.3/54
Tradycyjny cel kryptografii [1/2]
bezpieczna komunikacja.
Zwykle zakładamy, że komunikujace
˛ sie˛ strony to
Alicja
Bob
Stefan Dziembowski
Historia Alicji i Boba – p.3/54
Tradycyjny cel kryptografii [1/2]
bezpieczna komunikacja.
Zwykle zakładamy, że komunikujace
˛ sie˛ strony to
Alicja
Bob
Komunikaty przesyłane pomiedzy
˛
nimi
przeciwnik Ewa może
podsłuchiwać,
modyfikować i fabrykować.
Stefan Dziembowski
Historia Alicji i Boba – p.3/54
Tradycyjny cel kryptografii [2/2]
Stworzenie protokołów zabezpieczajacych
˛
przed
podsłuchem:
szyfrowanie
oraz przed modyfikowaniem i fabrykowaniem:
autentykacja
Stefan Dziembowski
Historia Alicji i Boba – p.4/54
Co to jest protokół
Protokół dla Alicji i Boba to para programów
komputerowych:
program dla Alicji
program dla Boba.
W każdym z tych programów Alicja możne użyć
komend:
i
.
(podobnie w przypadku Boba).
Za pomoca˛ tych komend odbywa sie˛
komunikacja miedzy
˛
Alicja˛ i Bobem.
Stefan Dziembowski
Historia Alicji i Boba – p.5/54
Co jeszcze moga˛ robić Alicja i Bob?
Ogólnie: Alicja i Bob
moga˛ wykonywać wspólnie jakieś zadanie
nie ufajac
˛ sobie nawzajem.
Stefan Dziembowski
Historia Alicji i Boba – p.6/54
Co jeszcze moga˛ robić Alicja i Bob?
Ogólnie: Alicja i Bob
moga˛ wykonywać wspólnie jakieś zadanie
nie ufajac
˛ sobie nawzajem.
(Zakładany, że Alicja i Bob maja˛ do dyspozycji
bezpieczne łacze).
˛
Stefan Dziembowski
Historia Alicji i Boba – p.6/54
Co jeszcze moga˛ robić Alicja i Bob?
Ogólnie: Alicja i Bob
moga˛ wykonywać wspólnie jakieś zadanie
nie ufajac
˛ sobie nawzajem.
(Zakładany, że Alicja i Bob maja˛ do dyspozycji
bezpieczne łacze).
˛
Ten dział kryptografii nazywa sie˛
bezpieczne obliczenia wielopodmiotowe
(ang. secure multiparty computations).
Stefan Dziembowski
Historia Alicji i Boba – p.6/54
Plan
1. Wstep
˛
.
2. Przykłady bezpieczne obliczeń
wielopodmiotowych.
3. Definicje i przeglad
˛ modeli.
4. Implementacje.
5. Ogólna dyskusja o założeniach potrzebnych
do dowiedzenia bezpieczeństwia.
Stefan Dziembowski
Historia Alicji i Boba – p.7/54
Przykłady
Stefan Dziembowski
Historia Alicji i Boba – p.8/54
Przykład 1: Problem miłosny[1/3]
Alicja i Bob chca˛ sprawdzić, czy sie˛ nawzajem
kochaja˛ nie ujawniajac
˛ sobie swoich uczuć.
Stefan Dziembowski
Historia Alicji i Boba – p.9/54
Przykład 1: Problem miłosny[1/3]
Alicja i Bob chca˛ sprawdzić, czy sie˛ nawzajem
kochaja˛ nie ujawniajac
˛ sobie swoich uczuć.
Niech:
jeśli Alicja kocha Boba
jeśli Alicja nie kocha Boba
jeśli Bob kocha Alicje˛
jeśli Bob nie kocha Alicji
Stefan Dziembowski
Historia Alicji i Boba – p.9/54
Przykład 1: Problem miłosny[2/3]
i .
Jeśli
, to
tajemnicy nie ma mowy.
bez ujawniania sobie nawzajem wartości
Celem Alicji i Boba jest poznanie wartości funkcji
i o żadnej
Stefan Dziembowski
Historia Alicji i Boba – p.10/54
Przykład 1: Problem miłosny[2/3]
i .
bez ujawniania sobie nawzajem wartości
Celem Alicji i Boba jest poznanie wartości funkcji
i o żadnej
Jeśli
, to
tajemnicy nie ma mowy.
Ale, jeśli
, to
, niezależnie od
wartości . Zatem Alicja nie bedzie
˛
wiedzieć,
czy Bob ja˛ kocha, czy nie.
Stefan Dziembowski
Historia Alicji i Boba – p.10/54
Przykład 1: Problem miłosny[3/3]
Jak to zrobić?
Metoda tradycyjna:
Stefan Dziembowski
Historia Alicji i Boba – p.11/54
Przykład 1: Problem miłosny[3/3]
Jak to zrobić?
Metoda tradycyjna:
Użyć zaufanej strony trzeciej.
Stefan Dziembowski
Historia Alicji i Boba – p.11/54
Przykład 1: Problem miłosny[3/3]
Jak to zrobić?
Metoda tradycyjna:
Użyć zaufanej strony trzeciej.
Metoda kryptograficzna:
Stefan Dziembowski
Historia Alicji i Boba – p.11/54
Przykład 1: Problem miłosny[3/3]
Jak to zrobić?
Metoda tradycyjna:
Użyć zaufanej strony trzeciej.
Metoda kryptograficzna:
Skonstruować protokół!
Taki protokół istnieje.
Stefan Dziembowski
Historia Alicji i Boba – p.11/54
Przykład 2: Rozwód
Alicja i Bob musza˛ zdecydować o podziale
majatku.
˛
Aby zdecydować o tym kto dostanie samochód
postanawiaja˛ rzucić moneta.
˛
Stefan Dziembowski
Historia Alicji i Boba – p.12/54
Przykład 2: Rozwód
Alicja i Bob musza˛ zdecydować o podziale
majatku.
˛
Aby zdecydować o tym kto dostanie samochód
postanawiaja˛ rzucić moneta.
˛
Problem: jak to zrobić bez spotykania sie˛
(kontaktujac
˛ sie˛ wyłacznie
˛
przez telefon)?
Stefan Dziembowski
Historia Alicji i Boba – p.12/54
Przykład 2: Rozwód
Alicja i Bob musza˛ zdecydować o podziale
majatku.
˛
Aby zdecydować o tym kto dostanie samochód
postanawiaja˛ rzucić moneta.
˛
Problem: jak to zrobić bez spotykania sie˛
(kontaktujac
˛ sie˛ wyłacznie
˛
przez telefon)?
Rozwiazanie:
˛
użyć protokołu kryptograficznego.
Taki protokół istnieje!
Stefan Dziembowski
Historia Alicji i Boba – p.12/54
Ogólniejszy przykład
Czy można grać w karty przez telefon?
Stefan Dziembowski
Historia Alicji i Boba – p.13/54
Ogólniejszy przykład
Czy można grać w karty przez telefon?
Tak
(istnieje protokół kryptograficzny).
Stefan Dziembowski
Historia Alicji i Boba – p.13/54
Wi˛eksze grupy uczestników
Ogólniej, zamiast pary
Alicja, Bob
ma swój prywatny
Z których każdy
argument .
możemy rozważać wieksze
˛
grupy uczestników:
Stefan Dziembowski
Historia Alicji i Boba – p.14/54
Przykład 3: Problem miłosny
Ten problem można uogólnić na grupe˛ osób
Stefan Dziembowski
Historia Alicji i Boba – p.15/54
Przykład 3: Problem miłosny
Ten problem można uogólnić na grupe˛ osób
Każda osoba
które kocha.
w nastepuj
˛ acy
˛ sposób:
ma swoja˛ prywatna˛ liste˛ osób
Wynikiem działania protokołu jest lista
pasujacych
˛
par.
Taki protokół istnieje.
Stefan Dziembowski
Historia Alicji i Boba – p.15/54
Przykład 4: Problem milionerów
Grupa milionerów chce sprawdzić który jest
najwiecej
˛
zarabia.
Nie chca˛ przy tym zdradzić wysokości swoich
zarobków.
Stefan Dziembowski
Historia Alicji i Boba – p.16/54
Przykład 5: Głosowanie[1/2]
jest za wejściem RP do UE
jest przeciwny wejściu RP do UE
jeśli
jeśli
Każdy uczestnik określa wartość swojego
argumentu w nastepuj
˛ acy
˛ sposób:
Obliczana funkcja jest suma˛ argumentów:
Stefan Dziembowski
Historia Alicji i Boba – p.17/54
Przykład 5: Głosowanie[2/2]
Protokoły kryptograficzne protokoły do
głosowania elektronicznego istnieja˛ i moga˛ być
użyte w praktyce.
Stefan Dziembowski
Historia Alicji i Boba – p.18/54
Przykład 5: Głosowanie[2/2]
Protokoły kryptograficzne protokoły do
głosowania elektronicznego istnieja˛ i moga˛ być
użyte w praktyce.
Pewnym problemem jest zaewnienie
niepokwitowalności
Stefan Dziembowski
Historia Alicji i Boba – p.18/54
Przykład 6: Szpitale [1/3]
Szpitale sa˛ zobowiazane
˛
do zachowania tajności
danych swoich pacjentów.
Dla potrzeb medycznych potrzeba
przeprowadzać badania statystyczne na tych
danych.
Stefan Dziembowski
Historia Alicji i Boba – p.19/54
Przykład 6: Szpitale [1/3]
Szpitale sa˛ zobowiazane
˛
do zachowania tajności
danych swoich pacjentów.
Dla potrzeb medycznych potrzeba
przeprowadzać badania statystyczne na tych
danych.
Na przykład: chcemy wiedzieć ilu pacjentów
chorujacych
˛
na raka leczyło sie˛ psychiatrycznie.
(Mogli sie˛ leczyć w różnych szpitalach.)
Stefan Dziembowski
Historia Alicji i Boba – p.19/54
Przykład 6: Szpitale [2/3]
Problem ten rozwiazuje
˛
sie˛ obecnie za pomoca˛
zaufanej strony trzeciej.
Stefan Dziembowski
Historia Alicji i Boba – p.20/54
Przykład 6: Szpitale [2/3]
Problem ten rozwiazuje
˛
sie˛ obecnie za pomoca˛
zaufanej strony trzeciej.
Roziazanie
˛
to wiaże
˛ sie˛ z nastepuj
˛ acymi
˛
niedogodnościami:
jest kosztowne,
i podatne na oszustwa.
Stefan Dziembowski
Historia Alicji i Boba – p.20/54
Przykład 6: Szpitale [3/3]
Czy da sie˛ to zrobić bez zaufanej strony trzeciej?
W zasadzie:
Tak.
Stefan Dziembowski
Historia Alicji i Boba – p.21/54
Przykład 6: Szpitale [3/3]
Czy da sie˛ to zrobić bez zaufanej strony trzeciej?
W zasadzie:
Tak.
W praktyce:
Nie . . .
Problemem sa˛ bardzo duże rozmiary danych.
Stefan Dziembowski
Historia Alicji i Boba – p.21/54
-podział sekretu
Przykład 7:
oraz
Ustalmy grupe˛ osób:
.
parametr
Załóżmy, że znamy tajna˛ liczbe˛ .
Stefan Dziembowski
Historia Alicji i Boba – p.22/54
-podział sekretu
Przykład 7:
Ustalmy grupe˛ osób:
oraz
.
parametr
Załóżmy, że znamy tajna˛ liczbe˛ . Chcemy żeby:
osób
dowolna grupa co najmniej
potrafiła obliczyć .
dowolna grupa maksymalnie osób nie miała
żadnej wiedzy na temat , oraz
Istnieje odpowiedni protokół (pokażemy go za
chwile).
˛
Stefan Dziembowski
Historia Alicji i Boba – p.22/54
Prywatne pozyskiwanie danych
Załóżmy, że mamy baz˛e danych reprezentowana˛
jako wektor bitów:
Chcemy poznać jedna˛ ze współrz˛ednych w taki
sposób, że baza danych nie bedzie
˛
wiedziała o
która˛ współrz˛edna˛ nam chodzi.
Stefan Dziembowski
Historia Alicji i Boba – p.23/54
Prywatne pozyskiwanie danych
Załóżmy, że mamy baz˛e danych reprezentowana˛
jako wektor bitów:
Chcemy poznać jedna˛ ze współrz˛ednych w taki
sposób, że baza danych nie bedzie
˛
wiedziała o
która˛ współrz˛edna˛ nam chodzi.
Baza danych wysyła nam
Trywialne rozwiazanie:
˛
cała˛ swoja˛ zawartość.
Stefan Dziembowski
Historia Alicji i Boba – p.23/54
Prywatne pozyskiwanie danych
Załóżmy, że mamy baz˛e danych reprezentowana˛
jako wektor bitów:
Chcemy poznać jedna˛ ze współrz˛ednych w taki
sposób, że baza danych nie bedzie
˛
wiedziała o
która˛ współrz˛edna˛ nam chodzi.
Baza danych wysyła nam
Trywialne rozwiazanie:
˛
cała˛ swoja˛ zawartość.
Istnieje protokół kryptograficzny, który ma
złożoność komunikacyjna˛ znacznie niższa˛ niż .
Stefan Dziembowski
Historia Alicji i Boba – p.23/54
Definicje i modele
Stefan Dziembowski
Historia Alicji i Boba – p.24/54
Definicje
Co to znaczy, że
dany protokół dla graczy bezpiecznie
oblicza funkcje˛ ?
Stefan Dziembowski
Historia Alicji i Boba – p.25/54
Definicje
Co to znaczy, że
dany protokół dla graczy bezpiecznie
oblicza funkcje˛ ?
Nieformalnie: Oszukujacy
˛ gracz nie może
zaszkodzić bardziej niż jakby funkcja była
obliczona przez zaufana˛ strone˛ trzecia.
Stefan Dziembowski
Historia Alicji i Boba – p.25/54
Definicje
Co to znaczy, że
dany protokół dla graczy bezpiecznie
oblicza funkcje˛ ?
Nieformalnie: Oszukujacy
˛ gracz nie może
zaszkodzić bardziej niż jakby funkcja była
obliczona przez zaufana˛ strone˛ trzecia.
W szczególności. Alicja może fałszywie
zadeklarować, że kocha Boba. (Tego nie da sie˛
uniknać.)
˛
Stefan Dziembowski
Historia Alicji i Boba – p.25/54
Modele
Z reguły przyjmuje sie,
˛ że oszuści działaja˛ w
koalicjach. Jaki jest maksymalny rozmiar
takiej koalicji?
Stefan Dziembowski
Historia Alicji i Boba – p.26/54
Modele
Z reguły przyjmuje sie,
˛ że oszuści działaja˛ w
koalicjach. Jaki jest maksymalny rozmiar
takiej koalicji?
Czy oszuści działaja˛ zgodnie z protokołem
(pasywnie), czy niezgodnie (aktywnie)?
Stefan Dziembowski
Historia Alicji i Boba – p.26/54
Modele
Z reguły przyjmuje sie,
˛ że oszuści działaja˛ w
koalicjach. Jaki jest maksymalny rozmiar
takiej koalicji?
Czy oszuści działaja˛ zgodnie z protokołem
(pasywnie), czy niezgodnie (aktywnie)?
Jaka˛ moca˛ obliczeniowa˛ dysponuja˛ oszuści?
Stefan Dziembowski
Historia Alicji i Boba – p.26/54
Modele
Z reguły przyjmuje sie,
˛ że oszuści działaja˛ w
koalicjach. Jaki jest maksymalny rozmiar
takiej koalicji?
Czy oszuści działaja˛ zgodnie z protokołem
(pasywnie), czy niezgodnie (aktywnie)?
Jaka˛ moca˛ obliczeniowa˛ dysponuja˛ oszuści?
Czy kanały miedzy
˛
uczestnikami sa˛
bezpieczne?
..
.
Stefan Dziembowski
Historia Alicji i Boba – p.26/54
Jak to zrobić?
Stefan Dziembowski
Historia Alicji i Boba – p.27/54
przez
.
1. Alicja losuje bit
Bob losuje bit
Alicja i Bob chca˛ zalosować bit
telefon.
Pierwszy pomysł
Losowanie bitu przez telefon [1/2]
.
Stefan Dziembowski
Historia Alicji i Boba – p.28/54
przez
.
1. Alicja losuje bit
Bob losuje bit
Alicja i Bob chca˛ zalosować bit
telefon.
Pierwszy pomysł
Losowanie bitu przez telefon [1/2]
.
2. Strony wysyłaja˛ sobie nawzajem to co
wylosowały.
Stefan Dziembowski
Historia Alicji i Boba – p.28/54
przez
.
1. Alicja losuje bit
Bob losuje bit
Alicja i Bob chca˛ zalosować bit
telefon.
Pierwszy pomysł
Losowanie bitu przez telefon [1/2]
.
2. Strony wysyłaja˛ sobie nawzajem to co
wylosowały.
(
.
3. Wynikiem losowania jest
)
Stefan Dziembowski
Historia Alicji i Boba – p.28/54
Losowanie bitu przez telefon [2/2]
z prawdopodobieństwem
z prawdopodobieństwem
Stefan Dziembowski
Zauważmy, że wystarczy, żeby co najmniej jedna
z liczb i była wybrana losowo, żeby
Historia Alicji i Boba – p.29/54
Losowanie bitu przez telefon [2/2]
z prawdopodobieństwem
z prawdopodobieństwem
Zauważmy, że wystarczy, żeby co najmniej jedna
z liczb i była wybrana losowo, żeby
Protokół ma jednak pewien problem:
Stefan Dziembowski
Historia Alicji i Boba – p.29/54
Losowanie bitu przez telefon [2/2]
z prawdopodobieństwem
z prawdopodobieństwem
Zauważmy, że wystarczy, żeby co najmniej jedna
z liczb i była wybrana losowo, żeby
Protokół ma jednak pewien problem:
jak zagwarantować, żeby strony wysłały sobie
bity i dokładnie w tym samym momencie?
Stefan Dziembowski
Historia Alicji i Boba – p.29/54
Losowanie bitu przez telefon [2/2]
z prawdopodobieństwem
z prawdopodobieństwem
Zauważmy, że wystarczy, żeby co najmniej jedna
z liczb i była wybrana losowo, żeby
Protokół ma jednak pewien problem:
jak zagwarantować, żeby strony wysłały sobie
bity i dokładnie w tym samym momencie?
w praktyce (internet, telefon) nie da sie˛ . . .
Stefan Dziembowski
Historia Alicji i Boba – p.29/54
Protokół zobowiazania
˛
bitowego
Załóżmy, że Alicja wybrała bit .
Zobowiazanie
˛
Alicja wysyła do Boba jaka˛ś informacje˛ .
Na podstawie Bob nie potrafi obliczyć .
Stefan Dziembowski
Otworzenie Alicja wysyła do Boba informacje˛ , taka,
˛ że
.
Bob może obliczyć
.
Alicja nie jest w stanie podać takiego, że
Historia Alicji i Boba – p.30/54
Protokół zobowiazania
˛
bitowego
Załóżmy, że Alicja wybrała bit .
Zobowiazanie
˛
Alicja wysyła do Boba jaka˛ś informacje˛ .
Na podstawie Bob nie potrafi obliczyć .
Otworzenie Alicja wysyła do Boba informacje˛ , taka,
˛ że
.
Bob może obliczyć
.
Alicja nie jest w stanie podać takiego, że
Intuicja: jest pudełkiem w którym Alicja zamyka , liczba
jest kluczem do tego pudełka.
Stefan Dziembowski
Historia Alicji i Boba – p.30/54
Przykład zobowiazania
˛
bitowego
— funkcja szyfrowania w ustalonym
kryptosystemie klucza publicznego.
— bit Alicji.
Zobowiazanie
˛
Alicja wybiera klucz publiczny
oraz losowa˛ wiadomość . Niech
i
niech
oznacza ostatni bit .
i
do Boba.
Alicja wysyła
Stefan Dziembowski
Historia Alicji i Boba – p.31/54
Przykład zobowiazania
˛
bitowego
— funkcja szyfrowania w ustalonym
kryptosystemie klucza publicznego.
— bit Alicji.
Zobowiazanie
˛
Alicja wybiera klucz publiczny
oraz losowa˛ wiadomość . Niech
i
niech
oznacza ostatni bit .
i
do Boba.
Alicja wysyła
Otworzenie Alicja wysyła do Boba. Bob
. Jeśli tak, to oblicza a.
sprawdza, czy
Stefan Dziembowski
Historia Alicji i Boba – p.31/54
.
1. Alicja losuje bit
Bob losuje bit
Poprawiony protokół
.
Stefan Dziembowski
Historia Alicji i Boba – p.32/54
.
1. Alicja losuje bit
Bob losuje bit
Poprawiony protokół
.
2. Alicja zobowiazuje
˛
sie˛ do bitu .
Stefan Dziembowski
Historia Alicji i Boba – p.32/54
.
1. Alicja losuje bit
Bob losuje bit
Poprawiony protokół
.
3. Bob wysyła do Alicji bit
2. Alicja zobowiazuje
˛
sie˛ do bitu .
Stefan Dziembowski
Historia Alicji i Boba – p.32/54
.
1. Alicja losuje bit
Bob losuje bit
Poprawiony protokół
.
3. Bob wysyła do Alicji bit
2. Alicja zobowiazuje
˛
sie˛ do bitu .
4. Alicja otwiera zobowiazanie
˛
do
Stefan Dziembowski
Historia Alicji i Boba – p.32/54
.
1. Alicja losuje bit
Bob losuje bit
Poprawiony protokół
.
3. Bob wysyła do Alicji bit
2. Alicja zobowiazuje
˛
sie˛ do bitu .
4. Alicja otwiera zobowiazanie
˛
do
.
5. Wynikiem losowania jest
Stefan Dziembowski
Historia Alicji i Boba – p.32/54
.
1. Alicja losuje bit
Bob losuje bit
Poprawiony protokół
.
3. Bob wysyła do Alicji bit
2. Alicja zobowiazuje
˛
sie˛ do bitu .
4. Alicja otwiera zobowiazanie
˛
do
.
5. Wynikiem losowania jest
Jeśli Alicja odmówiła otworzenia zobowiazania,
˛
to automatycznie przegrywa.
Stefan Dziembowski
Historia Alicji i Boba – p.32/54
. Aby
-podzielić sekret
Ustalmy ciało
.
-podział sekretu
stopnia
wysyłamy
Do każdego gracza
Wybieramy losowy wielomian
maksymalnie taki, że
.
Stefan Dziembowski
Historia Alicji i Boba – p.33/54
-podział sekretu: intuicja
p
s
1
2
3
4 ...
Stefan Dziembowski
Historia Alicji i Boba – p.34/54
-podział sekretu: rekonstrukcja
Jeśli grupa graczy
chce
zrekonstruować sekret wówczas:
każdy gracz
oznajmia pozostałym liczbe,
˛
, która˛ otrzymał.
na podstawie tych wartości gracze interpoluja˛
wartość wielomianu dla argumentu .
Stefan Dziembowski
Historia Alicji i Boba – p.35/54
-podział sekretu: prywatność
Z właściwości wielomianów wynika, że dowolna
grupa co najwyżej graczy nie ma żadnej
informacji na temat sekretu.
˛ jeśli znamy tylko punktów
Nieformalnie mówiac:
wielomianu, to nic nie wiemy na temat jego
wartości w zerze.
Stefan Dziembowski
Historia Alicji i Boba – p.36/54
-podział sekretu: prywatność
Z właściwości wielomianów wynika, że dowolna
grupa co najwyżej graczy nie ma żadnej
informacji na temat sekretu.
˛ jeśli znamy tylko punktów
Nieformalnie mówiac:
wielomianu, to nic nie wiemy na temat jego
wartości w zerze.
Pytanie do zastanowienia sie:
˛
Jak to zformalizować?
Stefan Dziembowski
Historia Alicji i Boba – p.36/54
-podział sekretu: addytywność
Powyższy protokół ma dodatkowa˛ własność:
addytywność.
Stefan Dziembowski
Historia Alicji i Boba – p.37/54
-podział sekretu: addytywność
Powyższy protokół ma dodatkowa˛ własność:
addytywność.
Załóżmy, że podzielone zostały dwa sekrety:
i za pomoca˛ wielomianów i .
Stefan Dziembowski
Historia Alicji i Boba – p.37/54
-podział sekretu: addytywność
Powyższy protokół ma dodatkowa˛ własność:
addytywność.
,
-podział
podstawi
utworza˛
Jeśli każdy gracz
to wartości
.
sekretu
Załóżmy, że podzielone zostały dwa sekrety:
i za pomoca˛ wielomianów i .
Stefan Dziembowski
Historia Alicji i Boba – p.37/54
-podział sekretu: addytywność
Powyższy protokół ma dodatkowa˛ własność:
addytywność.
,
-podział
podstawi
utworza˛
Jeśli każdy gracz
to wartości
.
sekretu
Załóżmy, że podzielone zostały dwa sekrety:
i za pomoca˛ wielomianów i .
Pytanie dodatkowe: Co z mnożeniem?
Stefan Dziembowski
Historia Alicji i Boba – p.37/54
Protokół głosowania
Addytywności możemy użyć przy konstrukcji
nastepuj
˛ acego
˛
protokołu do głosowania w grupie
graczy:
Każdy gracz
-dzieli swój głos
pomiedzy
˛
pozostałych graczy (za pomoca˛
wielomianu ).
Stefan Dziembowski
Historia Alicji i Boba – p.38/54
Protokół głosowania
Addytywności możemy użyć przy konstrukcji
nastepuj
˛ acego
˛
protokołu do głosowania w grupie
graczy:
Każdy gracz
-dzieli swój głos
pomiedzy
˛
pozostałych graczy (za pomoca˛
wielomianu ).
Gracze wspólnie rekonstruuja˛ sekret
interpolujac
˛ wielomian
.
Stefan Dziembowski
Historia Alicji i Boba – p.38/54
Problem z protokołem głosowania
Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z
protokołem, to wszystko jest OK.
Stefan Dziembowski
Historia Alicji i Boba – p.39/54
Problem z protokołem głosowania
Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z
protokołem, to wszystko jest OK.
Ale jeśli któryś z graczy zacznie aktywnie
oszukiwać, wówczas może on zaburzyć wynik.
Stefan Dziembowski
Historia Alicji i Boba – p.39/54
Problem z protokołem głosowania
Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z
protokołem, to wszystko jest OK.
Ale jeśli któryś z graczy zacznie aktywnie
oszukiwać, wówczas może on zaburzyć wynik.
Protokól zabezpieczajacy
˛ przed aktywnymi
oszustami istnieje, ale jest znacznie bardziej
skomplikowany!
Stefan Dziembowski
Historia Alicji i Boba – p.39/54
Problem z protokołem głosowania
Jeśli wszyscy gracze zachowuja˛ sie˛ zgodnie z
protokołem, to wszystko jest OK.
Ale jeśli któryś z graczy zacznie aktywnie
oszukiwać, wówczas może on zaburzyć wynik.
Protokól zabezpieczajacy
˛ przed aktywnymi
oszustami istnieje, ale jest znacznie bardziej
skomplikowany!
Jest to przykład ogólnego zjawiska
Stefan Dziembowski
Historia Alicji i Boba – p.39/54
Modularność [1/2]
Protokoły można konstruować modularnie:
1. Konstrujemy pod-protokół do wykonania
konkretnego pod-zadania.
2. Użwamy tego pod-protokołu do
skonstruowania głównego protokołu.
Stefan Dziembowski
Historia Alicji i Boba – p.40/54
Modularność [1/2]
Protokoły można konstruować modularnie:
1. Konstrujemy pod-protokół do wykonania
konkretnego pod-zadania.
2. Użwamy tego pod-protokołu do
skonstruowania głównego protokołu.
Przykład: Używamy protokołu zobowiazania
˛
bitowego do konstrukcji protokołu losowania bitu.
Stefan Dziembowski
Historia Alicji i Boba – p.40/54
Modularnośc [2/2]
Okazuje sie,
˛ że w zasadzie dowolny protokół
można skonstruować korzystajac
˛ z jednego
protokołu.
Stefan Dziembowski
Historia Alicji i Boba – p.41/54
Modularnośc [2/2]
Okazuje sie,
˛ że w zasadzie dowolny protokół
można skonstruować korzystajac
˛ z jednego
protokołu. Ten protokół, to
transfer utajniony (ang. oblivious transfer).
Stefan Dziembowski
Historia Alicji i Boba – p.41/54
Transfer utajniony
argument Boba: bit
argument Alicji: pare˛ liczb
Protokół transferu utajnionego działa w
nastepuj
˛ acy
˛ sposób:
.
W wyniku wykonania protokołu.
OT
Bob poznaje liczbe˛
wiecej).
˛
Alicja nie dowiaduje sie˛ niczego.
(i nic
Stefan Dziembowski
Historia Alicji i Boba – p.42/54
Problem miłosny
Jak Alicja i Bob moga˛ obliczyć koninukcje˛ swoich
argumentów
(w modelu z pasywnymi
oszustwami)?
Stefan Dziembowski
Historia Alicji i Boba – p.43/54
Problem miłosny
Jak Alicja i Bob moga˛ obliczyć koninukcje˛ swoich
argumentów
(w modelu z pasywnymi
oszustwami)?
Bob wysyła
wynik.
Alicja i Bob wykonuja˛ protokół transferu
dla Alicji i
utajnionego z argumentem
dla Boba. Niech
OT
bedzie
˛
wynikiem.
do Alicji. Oboje uznaja˛ za
Stefan Dziembowski
Historia Alicji i Boba – p.43/54
i prywatny
i wysyła
Stefan Dziembowski
Alicja wybiera klucz publiczny
go do Boba.
— argument Boba.
– argument Alicji,
Implementacja transferu utajnionego
Historia Alicji i Boba – p.44/54
Bob wybiera losowo i , podstawia
oraz
i wysyła
do Alicji.
i wysyła
i prywatny
Alicja wybiera klucz publiczny
go do Boba.
— argument Boba.
– argument Alicji,
Implementacja transferu utajnionego
Stefan Dziembowski
Historia Alicji i Boba – p.44/54
Bob wybiera losowo i , podstawia
oraz
i wysyła
do Alicji.
i wysyła
i prywatny
Alicja wybiera klucz publiczny
go do Boba.
— argument Boba.
– argument Alicji,
Implementacja transferu utajnionego
Alicja odszyfrowuje i . Niech
beda˛ ostatnimi
bitami odszyfrowanych wiadmości. Alicja wysyła
Bobowi.
Stefan Dziembowski
Historia Alicji i Boba – p.44/54
Bob wybiera losowo i , podstawia
oraz
i wysyła
do Alicji.
i wysyła
i prywatny
Alicja wybiera klucz publiczny
go do Boba.
— argument Boba.
– argument Alicji,
Implementacja transferu utajnionego
, wiec
˛ może obliczyć
Bob zna
Alicja odszyfrowuje i . Niech
beda˛ ostatnimi
bitami odszyfrowanych wiadmości. Alicja wysyła
Bobowi.
.
Stefan Dziembowski
Historia Alicji i Boba – p.44/54
Jak policzyć dowolna˛ funkcj˛e
Dowolna˛ wydajnie obliczalna˛ -argumentowa˛
funkcje˛ można bezpiecznie obliczyć za pomoca˛
protokołu dla graczy (
).
Stefan Dziembowski
Historia Alicji i Boba – p.45/54
Jak policzyć dowolna˛ funkcj˛e
Dowolna˛ wydajnie obliczalna˛ -argumentowa˛
funkcje˛ można bezpiecznie obliczyć za pomoca˛
protokołu dla graczy (
).
Idea: przedstawiamy funkcje˛ jako obwód
logiczny.
Stefan Dziembowski
Historia Alicji i Boba – p.45/54
Obwód logiczny
wynik
and
and
neg
and
and
and
and
neg
and
argumenty
Stefan Dziembowski
Historia Alicji i Boba – p.46/54
Idea działania protokołu
Na poczatku
˛
każdy uczestnik dzieli swój
argument miedzy
˛
pozostałych uczestników.
Tworzymy pod-protokoły, które na podstawie
podziałów sekretów i pozwala graczom
uzyskać podział
negacji .
Aby uzyskać wynik gracze używaja˛ protokołu
rekonstrukcji sekretu.
Stefan Dziembowski
Historia Alicji i Boba – p.47/54
Protokół dla 2 graczy
Sekret
jest dzielony miedzy
˛
Alicje˛ i
Boba przez wybranie losowej pary bitów
takich, że
. Bit
jest przydzielany
jest przydzielany Bobowi.
Alicji, a bit
Stefan Dziembowski
Historia Alicji i Boba – p.48/54
Protokół dla 2 graczy
Sekret
jest dzielony miedzy
˛
Alicje˛ i
Boba przez wybranie losowej pary bitów
takich, że
. Bit
jest przydzielany
jest przydzielany Bobowi.
Alicji, a bit
Rekonstrukcja jest trywialna.
Stefan Dziembowski
Historia Alicji i Boba – p.48/54
Protokół dla 2 graczy
Sekret
jest dzielony miedzy
˛
Alicje˛ i
Boba przez wybranie losowej pary bitów
takich, że
. Bit
jest przydzielany
jest przydzielany Bobowi.
Alicji, a bit
Rekonstrukcja jest trywialna.
Negacja też jest prosta: Alicja o prostu neguje
swój bit, a Bob nic nie robi.
Stefan Dziembowski
Historia Alicji i Boba – p.48/54
OT
a
OT
i
. Wykonywane sa˛ protokoły:
Alicja losuje bity
Załóżmy, że mamy 2 sekrety i . Alicja zna bity
i
takie, że
i
Bob zna bity
Protokół dla 2 graczy: mnożenie
Stefan Dziembowski
Historia Alicji i Boba – p.49/54
Podział
OT
a
OT
i
. Wykonywane sa˛ protokoły:
Alicja losuje bity
Załóżmy, że mamy 2 sekrety i . Alicja zna bity
i
takie, że
i
Bob zna bity
Protokół dla 2 graczy: mnożenie
tworza:
˛
Stefan Dziembowski
Historia Alicji i Boba – p.49/54
a
.
Cz˛eść Alicji:
tworza:
˛
Podział
OT
i
. Wykonywane sa˛ protokoły:
Alicja losuje bity
OT
Załóżmy, że mamy 2 sekrety i . Alicja zna bity
i
takie, że
i
Bob zna bity
Protokół dla 2 graczy: mnożenie
Stefan Dziembowski
Historia Alicji i Boba – p.49/54
Stefan Dziembowski
Cz˛eść Boba:
.
Cz˛eść Alicji:
tworza:
˛
Podział
OT
OT
. Wykonywane sa˛ protokoły:
Alicja losuje bity
a
i
Załóżmy, że mamy 2 sekrety i . Alicja zna bity
i
takie, że
i
Bob zna bity
Protokół dla 2 graczy: mnożenie
.
Historia Alicji i Boba – p.49/54
Ogólna dyskusja o założeniach
potrzebnych do dowiedzenia
bezpieczeństwia
Stefan Dziembowski
Historia Alicji i Boba – p.50/54
Założenia złożonościowe
Praktycznie wszystki współczesne szyfry
opieraja˛ swe bezpieczeństwo na założeniu, że
moc obliczeniowa przeciwnika jest ograniczona.
Stefan Dziembowski
Historia Alicji i Boba – p.51/54
Założenia złożonościowe
Praktycznie wszystki współczesne szyfry
opieraja˛ swe bezpieczeństwo na założeniu, że
moc obliczeniowa przeciwnika jest ograniczona.
Jak pokazał Claude Schannon w latach 40tych
takie założenie jest konieczne.
Inaczej mówiac:
˛ nie ma praktycznych szyfrów,
które byłyby bezpieczne bez takiego założenia.
Stefan Dziembowski
Historia Alicji i Boba – p.51/54
Nieudowodnione hipotezy
Co gorsza: nikt nie potrafi dowieśc bezpieczeństwa
żadnego praktycznego szyfru (w oparciu o założenie, że
moc przeciwnika jest ograniczona).
Stefan Dziembowski
Historia Alicji i Boba – p.52/54
Nieudowodnione hipotezy
Co gorsza: nikt nie potrafi dowieśc bezpieczeństwa
żadnego praktycznego szyfru (w oparciu o założenie, że
moc przeciwnika jest ograniczona).
W praktyce opieramy wiec
˛ bezpieczeństwo na założeniu,
że jakiś problem (np. faktoryzacja dużych liczb
naturalnych) nie daje sie˛ rozwiaza
˛ ć za pomoca˛ praktycznie
dostepnych
˛
mocy obliczeniowych.
Stefan Dziembowski
Historia Alicji i Boba – p.52/54
Nieudowodnione hipotezy
Co gorsza: nikt nie potrafi dowieśc bezpieczeństwa
żadnego praktycznego szyfru (w oparciu o założenie, że
moc przeciwnika jest ograniczona).
W praktyce opieramy wiec
˛ bezpieczeństwo na założeniu,
że jakiś problem (np. faktoryzacja dużych liczb
naturalnych) nie daje sie˛ rozwiaza
˛ ć za pomoca˛ praktycznie
dostepnych
˛
mocy obliczeniowych.
Pokazanie bezpieczeństwa jakiegokolwiek szyfru
implikowałoby rozwiazanie
˛
problemu „P=NP”, który jest
bardzo znanym problemem.
Stefan Dziembowski
Historia Alicji i Boba – p.52/54
Protokoły wielopodmiotowe
(jeśli oszukuja˛
Liczba oszustów nie przekracza
pasywnie).
Liczba oszustów nie przekracza
aktywnie).
Nieco lepiej rzecz sie˛ ma z protokołami
wielopodmiotowymi. Bez jakichkolwiek założeń możemy
policzyć dowolna˛ funkcje˛ w gronie graczy, pod
warunkiem, że:
(jeśli oszukuja˛
Jeśli oszustów jest wiecej,
˛
to protokoły musza˛ opierać sie˛
na nieudowodnionych założeniach.
Stefan Dziembowski
Historia Alicji i Boba – p.53/54
Koniec
Te slajdy zostana˛ umieszczone na stronie
http://www.mimuw.edu.pl/ std.
Stefan Dziembowski
Historia Alicji i Boba – p.54/54