Kryptosystém Paillier - Paillier cryptosystem
The Kryptosystém Paillier, vynalezený a pojmenovaný po Pascalovi Paillierovi v roce 1999, je pravděpodobnostní asymetrický algoritmus pro kryptografie veřejného klíče. Problém výpočtu n-tá třída reziduí je považována za výpočetně obtížnou. The předpoklad rozhodující složené reziduaity je nepoddajnost hypotéza, na které je tento kryptosystém založen.
Tento režim je aditivní homomorfní kryptosystém; to znamená, že vzhledem k veřejnému klíči a šifrování a , lze vypočítat šifrování .
Algoritmus
Schéma funguje následovně:
Generování klíčů
- Vyberte dvě velká prvočísla p a q náhodně a nezávisle na sobě tak, že . Tato vlastnost je zajištěna, pokud mají obě prvočísla stejnou délku.[1]
- Vypočítat a . lcm znamená nejméně společný násobek.
- Vyberte náhodné celé číslo kde
- Zajistit rozdělí pořadí kontrolou existence následujících položek modulární multiplikativní inverzní: ,
- kde funkce je definován jako .
- Všimněte si, že notace neoznačuje modulární násobení krát modulární multiplikativní inverzní z ale spíše kvocient z děleno , tj. největší celočíselná hodnota uspokojit vztah .
- Veřejný (šifrovací) klíč je .
- Soukromý (dešifrovací) klíč je
Pokud použijete p, q ekvivalentní délky, bude třeba nastavit jednodušší variantu výše uvedených kroků generování klíčů a , kde .[1]
Šifrování
- Nechat být zpráva, která má být zašifrována
- Vyberte náhodně kde a (tj. zajistit )
- Vypočítat šifrovací text jako:
Dešifrování
- Nechat být šifrovacím textem k dešifrování, kde
- Vypočítat holou zprávu jako:
Jako originál papír poukazuje na to, že dešifrování je „v podstatě jedno exponenciální modulo ."
Homomorfní vlastnosti
Pozoruhodná vlastnost kryptosystému Paillier je jeho homomorfní vlastnosti spolu s jeho nedeterministickým šifrováním (viz Elektronické hlasování v Aplikacích pro použití). Protože je funkce šifrování aditivně homomorfní, lze popsat následující identity:
- Homomorfní sčítání holých textů
- Produkt dvou ciphertexts bude dešifrovat na součet odpovídajících holých textů,
- Produkt ciphertextu s otevřeným prostým textem dešifruje na součet odpovídajících prostých textů,
- Homomorfní násobení holých textů
- Šifrovaný holý text zvýšený na sílu jiného holého textu bude dešifrovat na produkt dvou holých textů,
- Obecněji řečeno, zašifrovaný prostý text povýšený na konstantu k dešifruje na produkt prostého textu a konstanty,
Vzhledem k šifrování dvou zpráv podle Pailliera však není znám žádný způsob, jak vypočítat šifrování produktu těchto zpráv bez znalosti soukromého klíče.
Pozadí
Kryptosystém Paillier využívá skutečnost, že jisté diskrétní logaritmy lze snadno vypočítat.
Například tím, že binomická věta,
To naznačuje, že:
Proto pokud:
pak
- .
Tím pádem:
- ,
- kde funkce je definován jako (podíl celočíselného dělení) a .
Sémantická bezpečnost
Původní kryptosystém, jak je uvedeno výše, poskytuje sémantická bezpečnost proti útokům typu vybraný holý text (IND-CPA ). Schopnost úspěšně odlišit šifrovací text výzvy se v zásadě rovná schopnosti rozhodnout o složené reziduuity. Takzvaný předpoklad rozhodující složené reziduaity (DCRA) je považován za neřešitelný.
Kvůli výše uvedeným homomorfním vlastnostem však systém je tvárný, a proto si neužije nejvyšší úroveň sémantického zabezpečení, která chrání před adaptivními útoky zvoleného šifrovacího textu (IND-CCA2 ). V kryptografii se pojem tvárnosti obvykle nepovažuje za „výhodu“, ale za určitých aplikací, jako je zabezpečené elektronické hlasování a prahové kryptosystémy, tato vlastnost může být skutečně nezbytná.
Paillier a Pointcheval však dále navrhli vylepšený kryptosystém, který zahrnuje kombinovaný hash zpráv m s náhodným r. Podobně v záměru s Kryptosystém Cramer – Shoup, hašování brání útočníkovi, pouze je uvedeno C, od možnosti změny m smysluplným způsobem. Prostřednictvím této úpravy lze ukázat, že vylepšené schéma je IND-CCA2 zabezpečit v náhodný věštecký model.
Aplikace
Elektronické hlasování
Sémantická bezpečnost není jediným hlediskem. Existují situace, za nichž může být tvárnost žádoucí. Výše uvedené homomorfní vlastnosti lze využít zabezpečenými elektronickými hlasovacími systémy. Zvažte jednoduchý binární hlas („pro“ nebo „proti“). Nechat m voliči hlasovali buď pro 1 (pro) nebo 0 (proti). Každý volič si před hlasováním zašifruje svoji volbu. Volební úředník má produkt m šifrované hlasy a poté dešifruje výsledek a získá hodnotu n, což je součet všech hlasů. Volební úředník to pak ví n lidé hlasovali pro a m-n lidé hlasovali proti. Role náhodného r zajišťuje, že dva ekvivalentní hlasy budou šifrovány na stejnou hodnotu pouze se zanedbatelnou pravděpodobností, a tím zajistí soukromí voličů.
Elektronická hotovost
Další funkcí pojmenovanou v článku je pojemoslepující. Jedná se o schopnost změnit jeden šifrový text na jiný, aniž by se změnil obsah jeho dešifrování. To má uplatnění na vývoj ecash, úsilí původně vedené David Chaum. Představte si, že platíte za položku online, aniž byste museli prodejce znát číslo vaší kreditní karty, a tedy vaši identitu. Cílem v elektronické hotovosti i v elektronickém hlasování je zajistit, aby e-mince (rovněž e-hlasování) byly platné, a zároveň nezveřejňovat totožnost osoby, s níž je aktuálně spojena.
Viz také
- The Naccache – Sternův kryptosystém a Kryptosystém Okamoto – Uchiyama jsou historickými předchůdci Pailliera.
- The Kryptosystém Damgård – Jurik je zobecněním Pailliera.
Reference
- Paillier, Pascal (1999). „Kryptosystémy veřejného klíče založené na třídách reziduosity složeného stupně“. EUROCRYPT. Springer. 223–238. doi:10.1007 / 3-540-48910-X_16.
- Paillier, Pascal; Pointcheval, David (1999). „Efektivní kryptosystémy veřejného klíče prokazatelně bezpečné proti aktivním protivníkům“. ASIACRYPT. Springer. str. 165–179. doi:10.1007/978-3-540-48000-6_14.
- Paillier, Pascal (1999). Kryptosystémy založené na složené reziduuitě (Disertační práce). École Nationale Supérieure des Télécommunications.
- Paillier, Pascal (2002). „Kryptografie založená na kompozitní reziduuitě: přehled“ (PDF). CryptoBytes. 5 (1). Archivovány od originál (PDF) 20. října 2006.
Poznámky
externí odkazy
- Projekt homomorfní šifrování implementuje kryptosystém Paillier spolu s jeho homomorfními operacemi.
- Setkání: knihovna open-source poskytující implementaci kryptosystému Paillier a konstrukce kryptografických čítačů na základě stejných.
- python-paillier knihovna pro částečně homomorfní šifrování v Pythonu, včetně plné podpory čísel s plovoucí desetinnou čárkou.
- The Interaktivní simulátor kryptosystému Paillier předvádí hlasovací aplikaci.
- An interaktivní ukázka kryptosystému Paillier.
- Důkaz koncepce Implementace Javascript kryptosystému Paillier s interaktivní ukázka.
- A googletechtalk video o hlasování pomocí kryptografických metod.
- A Ruby implementace homomorfního sčítání Paillier a protokol s nulovými znalostmi (dokumentace )