Damgård–Jurik kryptosystem
Damgård –Jurik-kryptosystemet är en generalisering av Paillier-kryptosystemet . Den använder beräkningar modulo där är en RSA- modul och ett (positivt) naturligt tal . Pailliers schema är specialfallet med . Ordningen ( Eulers totientfunktion ) av kan delas med . Dessutom skrivas som den direkta produkten av . är cyklisk och av ordningen , medan är isomorf till . För kryptering omvandlas meddelandet till motsvarande coset av faktorgruppen och schemats säkerhet beror på svårigheten att särskilja slumpmässiga element i olika coset av . Det är semantiskt säkert om det är svårt att avgöra om två givna element är i samma coset. Liksom Paillier kan säkerheten för Damgård–Jurik bevisas under beslutssammansatta residuositetsantaganden .
Nyckelgenerering
- Välj två stora primtal p och q slumpmässigt och oberoende av varandra.
- Beräkna och .
- Välj ett element så att för ett känt relativt primtal till och .
- Använd den kinesiska restsatsen , välj så att och . Till exempel vara som i Pailliers ursprungliga schema.
- Den offentliga (krypterings-) nyckeln är .
- Den privata (dekrypterings-) nyckeln är .
Kryptering
- Låt vara ett meddelande som ska krypteras där .
- Välj slumpmässigt där .
- Beräkna chiffertext som: .
Dekryptering
- Chiffertext
- Beräkna . Om c är en giltig chiffertext då .
- Använd en rekursiv version av Pailliers dekrypteringsmekanism för att få . Eftersom är känd är det möjligt att beräkna .
Förenkling
Till priset av att inte längre innehålla det klassiska Paillier-krypteringssystemet som instans kan Damgård–Jurik förenklas på följande sätt:
- Basen g är fixerad som .
- Dekrypteringsexponenten d beräknas så att och .
I detta fall ger dekryptering . Genom att använda rekursiv Paillier-dekryptering ger detta oss direkt klartexten m .
Se även
- Den interaktiva simulatorn Damgård–Jurik kryptosystem demonstrerar en röstningsapplikation.