Problém Yaos Millionaires - Yaos Millionaires problem - Wikipedia
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Problém Yao's Millionaires je bezpečný výpočet více stran problém zavedený v roce 1982 počítačovým vědcem a výpočetním teoretikem Andrew Yao. Problém pojednává o dvou milionářích, Alice a Bobovi, kteří mají zájem vědět, který z nich je bohatší, aniž by odhalili jejich skutečné bohatství.
Tento problém je analogický obecnějšímu problému, kde jsou dvě čísla a a cílem je zjistit, zda je nerovnost je true nebo false bez odhalení skutečných hodnot a .
Problém milionářů je důležitým problémem kryptografie, jehož řešení se používá v elektronický obchod a dolování dat. Komerční aplikace někdy musí porovnávat čísla, která jsou důvěrná a jejichž bezpečnost je důležitá.
Pro problém bylo zavedeno mnoho řešení, mezi nimiž bylo první řešení, které představil sám Yao, exponenciální v čase a prostoru.[1]
Protokoly a důkazy
Protokol Hsiao-Ying Lin a Wen-Guey Tzeng
Nechat být binární řetězec délky n.
Označte 0 kódování s tak jako a 1-kódování s tak jako
Potom protokol[2] je založeno na následujícím nároku:
- Předpokládat, že A a b jsou binární řetězce délky n bity.
- Pak pokud sady a mají společný prvek (kde A a b jsou binární kódování odpovídajících celých čísel).
Protokol využívá tuto myšlenku k praktickému řešení problému Yao's Millionaires provedením a soukromá množinová křižovatka mezi a .
Protokol Ioannidis a Ananth
Protokol[3] používá variantu lhostejný přenos, nazvaný 1-2 zapomenutý převod. V tom přenosu jeden bit se přenáší následujícím způsobem: odesílatel má dva bity a . Přijímač si vybere a odesílatel odešle s lhostejným přenosovým protokolem takovým
- přijímač neobdrží žádné informace o ,
- hodnota není vystaven odesílateli.
Pro popis protokolu je Alice číslo označeno jako Bobovo číslo jako , a předpokládá se, že délka jejich binární reprezentace je menší než pro některé . Protokol provede následující kroky.
- Alice vytvoří matici velikosti z -bitová čísla, kde je délka klíče v lhostejném protokolu přenosu. Kromě toho si vybere dvě náhodná čísla a , kde a .
- bude -tý bit čísla, které se objeví v buňce (kde označuje nejméně významný bit ). Navíc, je označen jako -tý kousek Aliceho čísla . Pro každého , Alice provádí následující akce.
- Za každý kousek ona nastaví a na náhodné bity.
- Li , nechť , jinak nech a pro každého soubor na náhodný bit.
- Pro soubor a na .
- Pro každého , bude náhodný -bitové číslo a bude další počet bity, kde všechny bity kromě posledních dvou jsou náhodné a poslední dva jsou počítány jako a , kde je bitový XOR úkon.
- Pro soubor . Kde označuje bitová rotace z nalevo od bity.
- Pro každého , Bob převody s lhostejným přenosovým protokolem, kde , a je -tý kousek .
- Alice pošle Bobovi .
- Bob vypočítá bitovou XOR všech čísel, která dostal v kroku 3 a od kroku 4. Bob skenuje výsledek zleva doprava, dokud nenajde velkou sekvenci nulových bitů. Nechat být kousek napravo od této sekvence ( je nenulová). Pokud bit vpravo od rovná se tedy 1 , v opačném případě .
Důkaz
Správnost
Bob vypočítá konečný výsledek z a výsledek závisí na .K., a proto C také lze rozdělit na 3 části. Levá část nemá vliv na výsledek. Pravá část obsahuje všechny důležité informace a uprostřed je posloupnost nul, která odděluje tyto dvě části. Délka každého oddílu o C je spojeno se systémem zabezpečení.
Pro každého i, pouze jeden z má nenulovou pravou část a je -li , a v opačném případě. Kromě toho, pokud , a má tedy nenulovou pravou část má také nenulovou pravou část a dva bity nejvíce vlevo této pravé části budou stejné jako jedna z . Výsledkem je, že pravá část C je funkce záznamů, které Bob přenesl, odpovídají jedinečným bitům v A a ba jediné bity v pravé části v C které nejsou náhodné, jsou dvě úplně vlevo, přesně ty bity, které určují výsledek , kde i je bit nejvyššího řádu, ve kterém A a b lišit. Nakonec, pokud , pak tyto dva kousky zcela vlevo budou 11 a Bob na to odpoví . Pokud jsou bity 10, pak , a on odpoví . Li , pak nebude žádná pravá část C, a v tomto případě dva nejvíce nalevo bity dovnitř C bude 11 a bude označovat výsledek.
Bezpečnostní
Informace, které Bob posílá Alici, jsou zabezpečené, protože jsou zasílány nepochopitelným přenosem, který je bezpečný.
Bob dostane od Alice 3 čísla:
- . Pro každého Bob obdrží jedno takové číslo a je náhodný, takže se neprovádějí žádné zabezpečené informace.
- N. Toto je XOR náhodných čísel, a proto neodhalí žádné informace. Relevantní informace se odhalí až po výpočtu C.
- C. Totéž platí pro C. Levá část C je náhodný a pravá část je také náhodná, s výjimkou dvou bitů zcela vlevo. Dedukce jakékoli informace z těchto bitů vyžaduje hádání některých dalších hodnot a šance na správné hádání je velmi nízká.
Složitost
The složitost z protokol je . Alice konstrukty dčíslo délky pro každý bit Aa Bob vypočítá XOR d časy d-číselná čísla. Složitost těchto operací je . Součástí komunikace je také . Složitost protokolu je tedy
Viz také
- Kryptografie
- RSA
- Bezpečné výpočty více stran
- Socialistický milionář, varianta, ve které si milionáři přejí zjistit, zda je jejich štěstí stejné.
externí odkazy
Reference
- ^ Yao, Andrew C. (listopad 1982). Msgstr "Protokoly pro bezpečné výpočty". FOCS. 23. výroční sympozium o základech informatiky (FOCS 1982): 160–164. doi:10.1109 / SFCS.1982,88.
- ^ Lin, Hsiao-Ying; Tzeng, Wen-Guey (06.06.2005). Efektivní řešení problému milionářů založené na homomorfním šifrování. Aplikovaná kryptografie a zabezpečení sítě. Přednášky z informatiky. 3531. 456–466. CiteSeerX 10.1.1.75.4917. doi:10.1007/11496137_31. ISBN 978-3-540-26223-7.
- ^ Ioannidis, I .; Grama, A. (2003). Efektivní protokol pro problém milionářů Yao. 36. výroční mezinárodní konference na Havaji o systémových vědách, 2003. Sborník příspěvků. IEEE. CiteSeerX 10.1.1.110.8816. doi:10.1109 / hicss.2003.1174464. ISBN 978-0769518749.