Сложностная криптография , весна 2008: Привязка к биту:...
Transcript of Сложностная криптография , весна 2008: Привязка к биту:...
Ñëîæíîñòíàÿ êðèïòîãðàôèÿ
Ýäóàðä Àëåêñååâè÷ Ãèðø
http://logic.pdmi.ras.ru/~hirsch
ÏÎÌÈ ÐÀÍ
30 ìàðòà 2008 ã.
1 / 13
Îïðåäåëåíèå (Bit commitment)
. . . ýòî ïðîòîêîë îáùåíèÿ äâóõ ïîëèíîìèàëüíî îãðàíè÷åííûõ
ó÷àñòíèêîâ, äëÿ êîòîðîãî
I âõîä ó÷àñòíèêà A � áèò α,âõîä îáîèõ ó÷àñòíèêîâ A,B � ïàðàìåòð íàä¼æíîñòè 1n;
I ïî îêîí÷àíèè ïðîòîêîëà âûõîä B � áèò α′′ ëèáî �îøèáêà�;
I ïîñëå íåêîòîðîãî ðàóíäà ïðîòîêîëà ñèòóàöèÿ òàêîâà:èìååòñÿ çíà÷åíèå α′, òàêîå, ÷òî
I äëÿ �÷åñòíîãî� A èòîãîâûé îòâåò B áóäåò α′′ = α′ = α;I äëÿ ëþáîãî A′ (âìåñòî A) âåðîÿòíîñòü α′′ 6= α′ ìàëà (< 1
nk);
I íèêàêîé B ′ (âìåñòî B) åù¼ íå ìîæåò âûäàòü α ñî ñêîëü-íèáóäüñóùåñòâåííîé âåðîÿòíîñòüþ ( 1
2+ 1
nk);
èíôîðìàöèÿ, ïîëó÷åííàÿ B ê ýòîìó ìîìåíòó, íàçûâàåòñÿ
ïðèâÿçêîé (commitment).
Ïðîòîêîëû: (A,A) � íåèíòåðàêòèâíûé, (AB...,AB...) � èíòåðàêòèâíûé.
3 / 13
Íåèíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå owp(A,A)-ïðîòîêîë
Ïóñòü f : {0, 1}n 7→ {0, 1}n � owp, B � å¼ òðóäíûé áèò.
Ïðèâÿçêà (f (s),B(s)⊕ α), ãäå ñëó÷àéíîå s ∈ {0, 1}n, íàä¼æíà:ïîñëå å¼ îòïðàâêè
I Áîá íå ìîæåò óçíàòü α: òàêîãî Áîáà ìîæíî ïðîñèòü íàéòè B(s);
I óçíàâ s ïîòîì, Áîá íàéä¼ò α;
I Àëèñà íå ìîæåò äàòü äðóãîå s ′, äëÿ êîòîðîãî f (s) = f (s ′) (åãî íåò!).
Óïðàæíåíèå
Ìîæíî áûëî îáîéòèñü è èíúåêòèâíîé owf f , îïðåäåë¼ííîé íå íà
{0, 1}n, à íà ñòðîêàõ, âûäàâàåìûõ samplerîì. Êàêîå äîïîëíèòåëüíîå
ñâîéñòâî îò owf ïîíàäîáèëîñü áû?
Îòâåò:
ïîëèíîìèàëüíàÿ ðàçðåøèìîñòü îáëàñòè îïðåäåëåíèÿ f .
4 / 13
Íåèíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå owp(A,A)-ïðîòîêîë
Ïóñòü f : {0, 1}n 7→ {0, 1}n � owp, B � å¼ òðóäíûé áèò.
Ïðèâÿçêà (f (s),B(s)⊕ α), ãäå ñëó÷àéíîå s ∈ {0, 1}n, íàä¼æíà:ïîñëå å¼ îòïðàâêè
I Áîá íå ìîæåò óçíàòü α: òàêîãî Áîáà ìîæíî ïðîñèòü íàéòè B(s);
I óçíàâ s ïîòîì, Áîá íàéä¼ò α;
I Àëèñà íå ìîæåò äàòü äðóãîå s ′, äëÿ êîòîðîãî f (s) = f (s ′) (åãî íåò!).
Óïðàæíåíèå
Ìîæíî áûëî îáîéòèñü è èíúåêòèâíîé owf f , îïðåäåë¼ííîé íå íà
{0, 1}n, à íà ñòðîêàõ, âûäàâàåìûõ samplerîì. Êàêîå äîïîëíèòåëüíîå
ñâîéñòâî îò owf ïîíàäîáèëîñü áû?
Îòâåò:
ïîëèíîìèàëüíàÿ ðàçðåøèìîñòü îáëàñòè îïðåäåëåíèÿ f .
4 / 13
Íåèíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå owp(A,A)-ïðîòîêîë
Ïóñòü f : {0, 1}n 7→ {0, 1}n � owp, B � å¼ òðóäíûé áèò.
Ïðèâÿçêà (f (s),B(s)⊕ α), ãäå ñëó÷àéíîå s ∈ {0, 1}n, íàä¼æíà:ïîñëå å¼ îòïðàâêè
I Áîá íå ìîæåò óçíàòü α: òàêîãî Áîáà ìîæíî ïðîñèòü íàéòè B(s);
I óçíàâ s ïîòîì, Áîá íàéä¼ò α;
I Àëèñà íå ìîæåò äàòü äðóãîå s ′, äëÿ êîòîðîãî f (s) = f (s ′) (åãî íåò!).
Óïðàæíåíèå
Ìîæíî áûëî îáîéòèñü è èíúåêòèâíîé owf f , îïðåäåë¼ííîé íå íà
{0, 1}n, à íà ñòðîêàõ, âûäàâàåìûõ samplerîì. Êàêîå äîïîëíèòåëüíîå
ñâîéñòâî îò owf ïîíàäîáèëîñü áû?
Îòâåò:
ïîëèíîìèàëüíàÿ ðàçðåøèìîñòü îáëàñòè îïðåäåëåíèÿ f .
4 / 13
Íåèíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå owp(A,A)-ïðîòîêîë
Ïóñòü f : {0, 1}n 7→ {0, 1}n � owp, B � å¼ òðóäíûé áèò.
Ïðèâÿçêà (f (s),B(s)⊕ α), ãäå ñëó÷àéíîå s ∈ {0, 1}n, íàä¼æíà:ïîñëå å¼ îòïðàâêè
I Áîá íå ìîæåò óçíàòü α: òàêîãî Áîáà ìîæíî ïðîñèòü íàéòè B(s);
I óçíàâ s ïîòîì, Áîá íàéä¼ò α;
I Àëèñà íå ìîæåò äàòü äðóãîå s ′, äëÿ êîòîðîãî f (s) = f (s ′) (åãî íåò!).
Óïðàæíåíèå
Ìîæíî áûëî îáîéòèñü è èíúåêòèâíîé owf f , îïðåäåë¼ííîé íå íà
{0, 1}n, à íà ñòðîêàõ, âûäàâàåìûõ samplerîì. Êàêîå äîïîëíèòåëüíîå
ñâîéñòâî îò owf ïîíàäîáèëîñü áû?
Îòâåò: ïîëèíîìèàëüíàÿ ðàçðåøèìîñòü îáëàñòè îïðåäåëåíèÿ f .
4 / 13
Èíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå PRG(BA,A)-ïðîòîêîë
Ïóñòü G � 3n�ãåíåðàòîð.
Alice: Bob:α rñëó÷àéíîå r ∈ {0, 1}3n←−�����������
G (s)⊕ (r · α)�����������−→
G (s) ëèáîG (s)⊕ r
. . . æèçíü. . .
s
�����������−→α
5 / 13
Èíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå PRG(BA,A)-ïðîòîêîë
Ïóñòü G � 3n�ãåíåðàòîð.
Alice: Bob:α rñëó÷àéíîå r ∈ {0, 1}3n←−�����������
G (s)⊕ (r · α)�����������−→
G (s) ëèáîG (s)⊕ r
. . . æèçíü. . .
s
�����������−→α
5 / 13
Èíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå PRG(BA,A)-ïðîòîêîë
Ïóñòü G � 3n�ãåíåðàòîð.
Alice: Bob:α rñëó÷àéíîå r ∈ {0, 1}3n←−�����������
G (s)⊕ (r · α)�����������−→
G (s) ëèáîG (s)⊕ r
. . . æèçíü. . .
s
�����������−→α
5 / 13
Èíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå PRGÍàä¼æíîñòü (BA,A)-ïðîòîêîëà
1. Áîá (äàæå âûáèðàâøèé r !) íå ìîæåò îòëè÷èòü G (s) îò G (s)⊕ r :
G (Un) ïîõîæå íà U3n ïîõîæå íà U3n ⊕ r ïîõîæå íà G (Un)⊕ r .
2. Àëèñà íå ìîæåò ïîäìåíèòü α:
G (s1) = G (s2)⊕ r îçíà÷àåò r = G (s1)⊕ G (s2).
Òàêèõ ïàð (s1, s2) èìååòñÿ 22n, è äëÿ êàæäîé èç íèõ îäíî r .
À âîçìîæíûõ r èìååòñÿ 23n.
Âåðîÿòíîñòü, ÷òî Áîá ïîïàä¼ò â ïëîõîå r � ìåíåå 22n
23n= 1
2n.
6 / 13
Èíòåðàêòèâíàÿ ïðèâÿçêà íà îñíîâå PRGÍàä¼æíîñòü (BA,A)-ïðîòîêîëà
1. Áîá (äàæå âûáèðàâøèé r !) íå ìîæåò îòëè÷èòü G (s) îò G (s)⊕ r :
G (Un) ïîõîæå íà U3n ïîõîæå íà U3n ⊕ r ïîõîæå íà G (Un)⊕ r .
2. Àëèñà íå ìîæåò ïîäìåíèòü α:
G (s1) = G (s2)⊕ r îçíà÷àåò r = G (s1)⊕ G (s2).
Òàêèõ ïàð (s1, s2) èìååòñÿ 22n, è äëÿ êàæäîé èç íèõ îäíî r .
À âîçìîæíûõ r èìååòñÿ 23n.
Âåðîÿòíîñòü, ÷òî Áîá ïîïàä¼ò â ïëîõîå r � ìåíåå 22n
23n= 1
2n.
6 / 13
1-out-of-2 Oblivious TransferÏåðåäà÷à îäíîãî áèòà èç äâóõ âîçìîæíûõ
Àëèñà îòäà¼ò îäèí èç äâóõ ïðåäìåòîâ (ñàìà íå çíàåò, êàêîé!).
Áîá ïîëó÷àåò òîëüêî îäèí èç íèõ (íè÷åãî íå çíàåò î äðóãîì!).
Ôèçè÷åñêàÿ ðåàëèçàöèÿ:
I Âçÿòü äâà ïðåäìåòà, ïåðåìåøàòü ñ çàêðûòûìè ãëàçàìè.
I Â ëåâîé ðóêå èëè â ïðàâîé? Òîæå ñ çàêðûòûìè ãëàçàìè.
I Îñòàâøååñÿ âûáðàñûâàåì.
Íàä¼æíîñòü, êîíå÷íî, õðîìàåò. . . (êòî ïðîâåðèò Àëèñó?). Ê òîìó æå,
Áîá íå ìîæåò âûáðàòü òîãî ïðåäìåòà, êîòîðûé åìó íóæåí, à âûíóæäåí
íà ñàìîì äåëå áðàòü ñëó÷àéíûé.
7 / 13
1-out-of-2 Oblivious TransferÏåðåäà÷à îäíîãî áèòà èç äâóõ âîçìîæíûõ
Àëèñà îòäà¼ò îäèí èç äâóõ ïðåäìåòîâ (ñàìà íå çíàåò, êàêîé!).
Áîá ïîëó÷àåò òîëüêî îäèí èç íèõ (íè÷åãî íå çíàåò î äðóãîì!).
Ôèçè÷åñêàÿ ðåàëèçàöèÿ:
I Âçÿòü äâà ïðåäìåòà, ïåðåìåøàòü ñ çàêðûòûìè ãëàçàìè.
I Â ëåâîé ðóêå èëè â ïðàâîé? Òîæå ñ çàêðûòûìè ãëàçàìè.
I Îñòàâøååñÿ âûáðàñûâàåì.
Íàä¼æíîñòü, êîíå÷íî, õðîìàåò. . . (êòî ïðîâåðèò Àëèñó?). Ê òîìó æå,
Áîá íå ìîæåò âûáðàòü òîãî ïðåäìåòà, êîòîðûé åìó íóæåí, à âûíóæäåí
íà ñàìîì äåëå áðàòü ñëó÷àéíûé.
7 / 13
Îïðåäåëåíèå ((1,2)�Oblivious Transfer, (1,2)�OT)
. . . ýòî ïðîòîêîë îáùåíèÿ äâóõ ïîëèíîìèàëüíî îãðàíè÷åííûõ
ó÷àñòíèêîâ, äëÿ êîòîðîãî. . .
I Âõîä ó÷àñòíèêà A � äâà áèòà α0, α1,âõîä ó÷àñòíèêà B � èíäåêñ i ∈ {0, 1},âõîä îáîèõ ó÷àñòíèêîâ A,B � ïàðàìåòð íàä¼æíîñòè 1n.
I Âûõîä ïî îêîí÷àíèè ïðîòîêîëà:I âûõîä B � ïàðà1 áèòîâ (β0, β1);I âûõîä A � èíäåêñ2 j .
I Ôóíêöèîíàëüíîñòü: äëÿ ÷åñòíûõ β0 = αi .
I Íàä¼æíîñòü:I äëÿ ëþáîãî B ′ (âìåñòî B) âåðîÿòíîñòü β1 = α1−i ìàëà (< 1
2+ 1
nk);
I íèêàêîé A′ (âìåñòî A) åù¼ íå ìîæåò âûäàòü j = i ñî ñêîëü-íèáóäüñóùåñòâåííîé âåðîÿòíîñòüþ ( 1
2+ 1
nk).
1×åñòíûé B âûäà¼ò òîëüêî îäèí áèò.2×åñòíûé A íè÷åãî íå âûäà¼ò.
8 / 13
Ïðîòîêîë äëÿ (1,2)�OT èç ðàñøèðåííîãî tdpf
Ðàñøèðåííîå tdpf (e, s, s ′, d) ñ òðóäíûì áèòîì B :
åñòü äîïîëíèòåëüíûé sampler s ′ ïî îáðàçó:
I s ′(r ′) ðàñïðåäåëåíî ïîõîæå íà e(s(r)) äàæå äëÿ òîãî, êòî çíàåò d ,
I íî d(s ′(r ′)) òðóäíî íàéòè áåç d , äàæå çíàÿ r ′.
Ïðåäïîëîæèì, ÷òî ó÷àñòíèêè ïàññèâíî ÷åñòíû (semi-honest): ñëåäóþò
ïðîòîêîëó, íî ìîãóò âû÷èñëÿòü ÷òî-òî ëèøíåå íà îñíîâå óâèäåííîãî.
Ïðîòîêîë:
1. Àëèñà ãåíåðèðóåò (e, s, s ′, d) è ïîñûëàåò (e, s, s ′) Áîáó.
2. Áîá âû÷èñëÿåò ai = e(s(r)) è a1−i = s ′(r ′) è îòïðàâëÿåò Àëèñå.
3. Àëèñà âû÷èñëÿåò ∀k ck = bk ⊕ B(d(ak)), ïîñûëàåò Áîáó (c0, c1).
4. Áîá âû÷èñëÿåò bi = B(s(r))⊕ ci è âûäàåò åãî.
9 / 13
Ïðîòîêîë äëÿ (1,2)�OT èç ðàñøèðåííîãî tdpf
Ðàñøèðåííîå tdpf (e, s, s ′, d) ñ òðóäíûì áèòîì B :
åñòü äîïîëíèòåëüíûé sampler s ′ ïî îáðàçó:
I s ′(r ′) ðàñïðåäåëåíî ïîõîæå íà e(s(r)) äàæå äëÿ òîãî, êòî çíàåò d ,
I íî d(s ′(r ′)) òðóäíî íàéòè áåç d , äàæå çíàÿ r ′.
Ïðåäïîëîæèì, ÷òî ó÷àñòíèêè ïàññèâíî ÷åñòíû (semi-honest): ñëåäóþò
ïðîòîêîëó, íî ìîãóò âû÷èñëÿòü ÷òî-òî ëèøíåå íà îñíîâå óâèäåííîãî.
Ïðîòîêîë:
1. Àëèñà ãåíåðèðóåò (e, s, s ′, d) è ïîñûëàåò (e, s, s ′) Áîáó.
2. Áîá âû÷èñëÿåò ai = e(s(r)) è a1−i = s ′(r ′) è îòïðàâëÿåò Àëèñå.
3. Àëèñà âû÷èñëÿåò ∀k ck = bk ⊕ B(d(ak)), ïîñûëàåò Áîáó (c0, c1).
4. Áîá âû÷èñëÿåò bi = B(s(r))⊕ ci è âûäàåò åãî.
9 / 13
Ïðîòîêîë äëÿ (1,2)�OT èç ðàñøèðåííîãî tdpf
Ðàñøèðåííîå tdpf (e, s, s ′, d) ñ òðóäíûì áèòîì B :
åñòü äîïîëíèòåëüíûé sampler s ′ ïî îáðàçó:
I s ′(r ′) ðàñïðåäåëåíî ïîõîæå íà e(s(r)) äàæå äëÿ òîãî, êòî çíàåò d ,
I íî d(s ′(r ′)) òðóäíî íàéòè áåç d , äàæå çíàÿ r ′.
Ïðåäïîëîæèì, ÷òî ó÷àñòíèêè ïàññèâíî ÷åñòíû (semi-honest): ñëåäóþò
ïðîòîêîëó, íî ìîãóò âû÷èñëÿòü ÷òî-òî ëèøíåå íà îñíîâå óâèäåííîãî.
Ïðîòîêîë:
1. Àëèñà ãåíåðèðóåò (e, s, s ′, d) è ïîñûëàåò (e, s, s ′) Áîáó.
2. Áîá âû÷èñëÿåò ai = e(s(r)) è a1−i = s ′(r ′) è îòïðàâëÿåò Àëèñå.
3. Àëèñà âû÷èñëÿåò ∀k ck = bk ⊕ B(d(ak)), ïîñûëàåò Áîáó (c0, c1).
4. Áîá âû÷èñëÿåò bi = B(s(r))⊕ ci è âûäàåò åãî.
9 / 13
Óïðàæíåíèÿ
Óïðàæíåíèå
Íàïèñàòü ôîðìàëüíî äîêàçàòåëüñòâî íàä¼æíîñòè (BA,A)-ïðîòîêîëà.
Óêàçàíèå: ñ ïîìîùüþ âîçìîæíîãî ïðîòèâíèêà ìîæíî âçëîìàòü ëèáî
òðóäíûé áèò, ëèáî îäíî èç ñâîéñòâ ðàñøèðåííîãî tdpf.
Óïðàæíåíèå
Èçâëå÷ü owf èç ïðîòîêîëà bit commitment.
Óïðàæíåíèå
À ÷òî ìîæíî èçâëå÷ü èç ïðîòîêîëà (1,2)-OT?
10 / 13
Secure Function Evaluation (SFE)
Àëèñà è Áîá èìåþò ïî ïîëîâèíå àðãóìåíòîâ ôóíêöèè
c = f (a1, . . . , am, b1, . . . , bm) è õîòÿò å¼ âû÷èñëèòü, ñîõðàíèâ ñâîè
àðãóìåíòû â òàéíå.
Ïàññèâíî-÷åñòíàÿ Àëèñà íå ìîæåò âû÷èñëèòü íè÷åãî, êðîìå
ïîëèíîìèàëüíî âû÷èñëèìîé ôóíêöèè îò a1, . . . , am è c :
∀g ∀k ∀ ïîëèí. A′ ∃ ïîëèí. A′′Pr{A′(÷òî âèäåëà Àëèñà) = g(~a,~b)} ≤ Pr{A′′(~a, f (~a,~b)) = g(~a,~b)}+ 1
nk.
Òî æå è Áîá.
11 / 13
SFE: àëãîðèòì Yao
Àëèñà êîäèðóåò ôóíêöèþ f (áóëåâó ñõåìó): òàáëèöà èñòèííîñòè
êàæäîãî ãåéòà êîäèðóåòñÿ ñëó÷àéíûìè ñòðî÷êàìè, ðåçóëüòàòû
øèôðóþòñÿ:
0 0 1
0 1 0
1 0 1
1 1 0
7→u0 v0 Eu0(Ev0(w1))u0 v1 Eu0(Ev1(w0))u1 v0 Eu1(Ev0(w1))u1 v1 Eu1(Ev1(w0))
ïåðåñòàâèòü
Áîá âñ¼ âû÷èñëÿåò, äëÿ ýòîãî ïîëó÷àåò
I çàøèôðîâàííóþ ñõåìó,
I êîäû âõîäîâ Àëèñû,
I êîäû ñâîèõ âõîäîâ ïðè ïîìîùè (1,2)�OT: ÷òî-òî èç v0 è v1,
I ïîñëå âû÷èñëåíèÿ � êëþ÷ äëÿ ðàñøèôðîâêè îòâåòà.
12 / 13
SFE: àëãîðèòì Yao
Àëèñà êîäèðóåò ôóíêöèþ f (áóëåâó ñõåìó): òàáëèöà èñòèííîñòè
êàæäîãî ãåéòà êîäèðóåòñÿ ñëó÷àéíûìè ñòðî÷êàìè, ðåçóëüòàòû
øèôðóþòñÿ:
0 0 1
0 1 0
1 0 1
1 1 0
7→
u0 v0
Eu0(Ev0(w1))
u0 v1
Eu0(Ev1(w0))
u1 v0
Eu1(Ev0(w1))
u1 v1
Eu1(Ev1(w0))
ïåðåñòàâèòü
Áîá âñ¼ âû÷èñëÿåò, äëÿ ýòîãî ïîëó÷àåò
I çàøèôðîâàííóþ ñõåìó,
I êîäû âõîäîâ Àëèñû,
I êîäû ñâîèõ âõîäîâ ïðè ïîìîùè (1,2)�OT: ÷òî-òî èç v0 è v1,
I ïîñëå âû÷èñëåíèÿ � êëþ÷ äëÿ ðàñøèôðîâêè îòâåòà.
12 / 13