Nekomutativní kryptografie - Non-commutative cryptography
Nekomutativní kryptografie je oblast kryptologie Kde kryptografické primitivy, metody a systémy jsou založeny na algebraické struktury jako poloskupiny, skupiny a prsteny což jsou nekomutativní. Jednou z prvních aplikací nekomutativní algebraické struktury pro kryptografické účely bylo použití opletení skupiny vyvíjet kryptografické protokoly. Později několik dalších nekomutativních struktur jako Thompsonovy skupiny, polycyklické skupiny, Grigorchuk skupiny, a maticové skupiny byli identifikováni jako potenciální kandidáti na kryptografické aplikace. Na rozdíl od nekomutativní kryptografie je v současnosti široce používaná kryptosystémy veřejného klíče jako Kryptosystém RSA, Výměna klíčů Diffie – Hellman a kryptografie eliptické křivky jsou založeny na teorii čísel, a proto závisí na komutativních algebraických strukturách.
Pro řešení různých kryptografických problémů byly vyvinuty nekomutativní kryptografické protokoly výměna klíčů, šifrování -šifrování a ověřování. Tyto protokoly jsou velmi podobné odpovídajícím protokolům v komutativním případě.
Některé nekomutativní kryptografické protokoly
V těchto protokolech by se předpokládalo, že G je neabelský skupina. Li w a A jsou prvky G zápis wA by označoval prvek A−1wa.
Protokoly pro výměnu klíčů
Protokol kvůli Ko, Lee a kol.
Následující protokol podle Ko, Lee a kol. Stanoví společný tajný klíč K. pro Alice a Bob.
- Prvek w z G je zveřejněn.
- Dva podskupiny A a B z G takhle ab = ba pro všechny A v A a b v B jsou zveřejněny.
- Alice si vybere prvek A z A a pošle wA Bobovi. Alice drží A soukromé.
- Bob si vybere prvek b z B a pošle wb Alice. Bob drží b soukromé.
- Alice počítá K. = (wb)A = wba.
- Bob počítá K ' = (wA)b=wab.
- Od té doby ab = ba, K. = K '. Alice a Bob sdílejí společný tajný klíč K..
Protokol Anshel-Anshel-Goldfeld
Toto je protokol výměny klíčů využívající neabelovskou skupinu G. Je významný, protože nevyžaduje dvě podskupiny dojíždějící A a B z G jako v případě protokolu kvůli Ko, Lee a kol.
- Elementy A1, A2, . . . , Ak, b1, b2, . . . , bm z G jsou vybrány a zveřejněny.
- Alice si vybere soukromého X v G jako slovo v A1, A2, . . . , Ak; to je X = X( A1, A2, . . . , Ak ).
- Alice pošle b1X, b2X, . . . , bmX Bobovi.
- Bob si vybere soukromého y v G jako slovo v b1, b2, . . . , bm; to je y = y ( b1, b2, . . . , bm ).
- Bob pošle A1y, A2y, . . . , Aky Alice.
- Alice a Bob sdílejí společný tajný klíč K. = X−1y−1xy.
- Alice počítá X ( A1y, A2y, . . . , Aky ) = y−1 xy. Přednásobte to X−1, Alice dostane K..
- Bob počítá y ( b1X, b2X, . . . , bmX) = X−1yx. Přednásobte to y−1 a potom převrácení, Bob dostane K..
Stickelův protokol pro výměnu klíčů
V původní formulaci tohoto protokolu byla použitá skupina skupina invertibilní matice přes konečné pole.
- Nechat G být veřejný neabelian konečná skupina.
- Nechat A, b být veřejnými prvky G takhle ab ≠ ba. Nechte rozkazy A a b být N a M resp.
- Alice vybere dvě náhodná čísla n < N a m < M a pošle u = Ambn Bobovi.
- Bob vybere dvě náhodná čísla r < N a s < M a pošle proti = Arbs Alice.
- Společný klíč sdílený Alice a Bobem je K. = Am + rbn + s.
- Alice spočítá klíč podle K. = amvbn.
- Bob vypočítá klíč podle K. = Arubs.
Protokoly pro šifrování a dešifrování
Tento protokol popisuje, jak zašifrovat tajnou zprávu a pak dešifrovat pomocí nekomutativní skupiny. Nechte Alici chtít poslat tajnou zprávu m Bobovi.
- Nechat G být nekomutativní skupinou. Nechat A a B být veřejnými podskupinami G takhle ab = ba pro všechny A v A a b v B.
- Prvek X z G je vybrán a zveřejněn.
- Bob si vybere tajný klíč b z A a publikuje z = Xb jako jeho veřejný klíč.
- Alice vybere náhodně r z B a počítá t = zr.
- Šifrovaná zpráva je C = (Xr, H(t) m), kde H je nějaký hashovací funkce a označuje XOR úkon. Alice pošle C Bobovi.
- Dešifrovat C, Bob se vzpamatuje t jak následuje: (Xr)b = Xrb = Xbr = (Xb)r = zr = t. Jednoduchá textová zpráva odeslaná Alicí je P = ( H(t) m ) H(t) = m.
Protokoly pro autentizaci
Nechť Bob chce zkontrolovat, zda je odesílatel zprávy opravdu Alice.
- Nechat G být nekomutativní skupina a nechat A a B být podskupinami G takhle ab = ba pro všechny A v A a b v B.
- Prvek w z G je vybrán a publikován.
- Alice si vybere soukromého s z A a publikuje dvojici ( w, t ) kde t = w s.
- Bob si vybere r z B a pošle výzvu w ' = wr Alice.
- Alice pošle odpověď w ' ' = (w ')s Bobovi.
- Bob zkontroluje, zda w ' ' = tr. Pokud je to pravda, pak je stanovena identita Alice.
Bezpečnostní základy protokolů
Základem pro bezpečnost a sílu různých výše uvedených protokolů je obtížnost následujících dvou problémů:
- The problém rozhodování o konjugaci (nazývané také problém konjugace): Vzhledem k tomu, dva prvky u a proti ve skupině G určit, zda existuje prvek X v G takhle proti = uX, to znamená, že takový proti = X−1 ux.
- The problém hledání konjugace: Vzhledem ke dvěma prvkům u a proti ve skupině G najít prvek X v G takhle proti = uX, to znamená, že takový proti = X−1 ux.
Pokud není znám žádný algoritmus, který by vyřešil problém s hledáním konjugace, pak funkce X → uX lze považovat za jednosměrná funkce.
Skupiny platforem
Nekomutativní skupina, která se používá v konkrétním kryptografickém protokolu, se nazývá platformová skupina daného protokolu. Jako skupiny platforem pro implementaci nekomutativních kryptografických protokolů lze použít pouze skupiny, které mají určité vlastnosti. Nechat G být skupinou navrženou jako skupina platforem pro určitý nekomutativní kryptografický systém. Následuje seznam očekávaných vlastností G.
- Skupina G musí být dobře známé a dobře prostudované.
- The slovní úloha v G by mělo mít rychlé řešení pomocí deterministického algoritmu. Měl by existovat efektivně vypočítatelný "normální tvar" pro prvky G.
- Mělo by být nemožné tyto faktory obnovit X a y z produktu xy v G.
- Počet prvků délky n v G by měl růst rychleji než jakýkoli polynom v n. (Tady "délka." n"je délka slova představujícího prvek skupiny.)
Příklady skupin platforem
Opletení skupiny
Nechat n být kladné celé číslo. Skupina copu Bn je skupina generovaná uživatelem X1, X2, . . . , Xn-1 s následující prezentací:
Thompsonova skupina
Thompsonova skupina je nekonečná skupina F s následující nekonečnou prezentací:
Grigorchukova skupina
Nechat T označit nekonečno zakořeněné binární strom. Sada PROTI vrcholů je množina všech konečných binárních sekvencí. Nechat A(T) označují množinu všech automorfismů T. (Automorfismus z T permutuje vrcholy zachovávající propojenost.) Grigorchukova skupina Γ je podskupinou A(T) generované automatismy A, b, C, d definováno takto:
Artinová skupina
Skupina Artin A(Γ) je skupina s následující prezentací:
kde ( faktory) a .
Maticové skupiny
Nechat F být konečným polem. Skupiny matic přes F byly použity jako skupiny platforem určitých nekomutativních kryptografických protokolů.
Produkty Semidirect
Viz také
Další čtení
- Alexej Myasnikov; Vladimir Shpilrain; Alexander Ushakov (2008). Skupinová kryptografie. Berlín: Birkhäuser Verlag.
- Zhenfu Cao (2012). Nové směry moderní kryptografie. Boca Raton: CRC Press, Taylor & Francis Group. ISBN 978-1-4665-0140-9.
- Benjamin Fine; et al. (2011). "Aspekty kryptografie založené na nonabelianské skupině: průzkum a otevřené problémy". arXiv:1103.4093 [cs.CR ].
- Alexej G. Myasnikov; Vladimir Shpilrain; Alexander Ushakov (2011). Nekomutativní kryptografie a složitost skupinově teoretických problémů. Americká matematická společnost. ISBN 9780821853603.
Reference
- ^ M. Habeeb, D. Kahrobaei, C. Koupparis, V. Shpilrain, Burza veřejných klíčů pomocí polopřímého produktu (polo) skupin, in: ACNS 2013, Lecture Notes Comp. Sc. 7954 (2013), 475-486.