Socialistický problém milionáře - Socialist millionaire problem
v kryptografie, problém socialistického milionáře[1] je ten, ve kterém dva milionáři chtějí zjistit, zda je jejich bohatství stejné, aniž by si navzájem sdělovali jakékoli informace o svém bohatství. Jedná se o variantu Milionářův problém[2][3] přičemž dva milionáři si přejí porovnat své bohatství a určit, kdo má největší bohatství, aniž by si navzájem sdělovali jakékoli informace o svém bohatství.
Často se používá jako kryptografický protokol který umožňuje dvěma stranám ověřit identitu vzdálené strany pomocí sdíleného tajemství a vyhnout se útoku typu man-in-the-middle bez nepříjemností ručního porovnávání otisků prstů veřejného klíče prostřednictvím vnějšího kanálu. Ve skutečnosti lze použít relativně slabé heslo / přístupové heslo v přirozeném jazyce.
Motivace
Alice a Bob mají tajné hodnoty a , resp. Alice a Bob si přejí zjistit, jestli aniž by jedné ze stran umožnilo dozvědět se něco jiného o tajné hodnotě toho druhého.
Pasivní útočník jednoduše špehuje zprávy, které si Alice a Bob vymění, se nic nedozví a , ani zda .
I když je jedna ze stran nepoctivá a odchyluje se od protokolu, tato osoba se nemůže naučit nic víc, než kdyby .
Aktivní útočník schopný svévolně zasahovat do komunikace Alice a Boba (a muž uprostřed ) se nemůže naučit víc než pasivní útočník a nemůže ovlivnit výsledek protokolu jinak, než aby selhal.
Proto lze protokol použít k ověření, zda mají dvě strany stejné tajné informace. Populární balíček kryptografie okamžitých zpráv Zprávy mimo záznam používá k ověření protokol Socialist Millionaire, ve kterém jsou tajemství a obsahují informace o veřejných klíčích dlouhodobé autentizace obou stran a také informace zadané samotnými uživateli.
Protokol pro zasílání zpráv mimo záznam

Protokol je založen na teorie skupin.
Skupina nejlepších objednat a generátor jsou dohodnuty a priori, a v praxi jsou obecně stanoveny v dané implementaci. Například v protokolu Off-the-Record Messaging je specifický pevný 1 536bitový prime. je pak generátor podskupiny prvotřídního řádu a všechny operace jsou prováděny modulo , nebo jinými slovy, v podskupině multiplikativní skupina, .
Podle , označují bezpečný výpočet více stran, Výměna klíčů Diffie – Hellman – Merkle, která pro celá čísla , , se vrací každé straně:
- Alice počítá a pošle ji Bobovi, který poté vypočítá .
- Bob počítá a pošle ji Alici, která poté vypočítá .
jako násobení v je asociativní. Všimněte si, že tento postup je nejistý proti muž uprostřed útoky.
Socialistický milionářský protokol[4] má pouze několik kroků, které nejsou součástí výše uvedeného postupu, a bezpečnost každého z nich závisí na obtížnosti diskrétní logaritmus problém, stejně jako výše uvedené. Všechny odeslané hodnoty také obsahují důkazy nulové znalosti, že byly vygenerovány podle protokolu.
Část zabezpečení se také spoléhá na náhodná tajemství. Jak je však uvedeno níže, protokol je náchylný k otravě, pokud si Alice nebo Bob zvolí některou z možností , , nebo být nula. Aby bylo možné tento problém vyřešit, musí každá strana zkontrolovat během Diffie-Hellman výměny, které nikdo z , , nebo které dostávají, se rovná 1. Je také nutné zkontrolovat, že a .
Alice | Multiparty | Bob | |
---|---|---|---|
1 | Zpráva Náhodný | Veřejnost | Zpráva Náhodný |
2 | Zajistit | ||
3 | Zajistit | ||
4 | Test , | Test , | |
5 | |||
6 | Nejistá výměna | ||
7 | Zajistit | ||
8 | Test , | Test , | |
9 | Test | Test |
Všimněte si, že:
a proto
- .
Kvůli náhodným hodnotám uloženým v tajnosti druhou stranou nemůže žádná strana vynutit a být si rovni, pokud rovná se , v jakém případě . To dokazuje správnost.
Viz také
Reference
- ^ Andrew Yao (1982). „Protokoly pro bezpečnou komunikaci“ (PDF). Proc. 23. IEEE Symposium on Foundations of Computer Science (FOCS '82). 160–164. doi:10.1109 / SFCS.1982,88.
- ^ Andrew Yao (1986). „Jak generovat a vyměňovat tajemství“ (PDF). Proc. 27. IEEE Symposium on Foundations of Computer Science (FOCS '86). 162–167. doi:10.1109 / SFCS.1986.25.