Goldwasser-Micali Cryptosystem ( GM ) er et kryptografisk system med offentlig nøgle udviklet af Shafi Goldwasser og Silvio Micali i 1982 . GM er det første probabilistiske krypteringsskema med offentlig nøgle, der beviseligt er sikkert under standard kryptografiske antagelser. GM-kryptosystemet er imidlertid ineffektivt, fordi chifferteksten kan være hundredvis af gange længere end den krypterede meddelelse. For at bevise et kryptosystems sikkerhedsegenskaber introducerede Goldwasser og Micali det meget brugte begreb semantisk sikkerhed .
Goldwasser og Micali blev tildelt Turing-prisen i 2012 for skabelsen af et probabilistisk kryptosystem som et banebrydende arbejde, der har haft en betydelig indflydelse på moderne kryptografi .
Konceptet om modstand mod et IND-CPA- angreb blev først foreslået af Goldwasser og Micali. De kaldte dette begreb semantisk vedholdenhed. Det ligger i det faktum, at chifferteksten ikke tillader nogen nyttig information om klarteksten (bortset fra længden af selve klarteksten) at lække til enhver angriber med polynomielt begrænsede computerressourcer. Goldwasser og Micali fandt ud af, at meddelelser i mange applikationer kan indeholde a priori - oplysninger, der er nyttige til at organisere angreb. For eksempel kan chifferteksten kun indeholde én simpel instruktion (f.eks. "køb" eller "sælg", eller navnet på en af flere kandidater ved afstemning). Goldwasser og Micali har påpeget, at offentlige nøglekryptosystemer baseret på direkte anvendelse af envejsfunktioner med en hemmelighed som regel meget svagt skjuler indholdet af sådanne meddelelser.
Ejendom (semantisk persistens). Alle almindelige tekstelementer, der kan beregnes effektivt ud fra en given chiffertekst, kan beregnes effektivt uden den.
Goldwasser og Micali har foreslået et probabilistisk krypteringsskema , der har denne egenskab. Den krypterer hele beskeden bit for bit, og al den kompleksitet, der er forbundet med at finde en enkelt krypteret bit i teksten c , er at kontrollere, om nummeret c tilhører sættet eller sættet
For at indstille nøgleparametrene skal Alice udføre følgende handlinger:
For at sende en streng til Alice gør Bob følgende:
{ }
Bob sender en besked til Alice
Efter at have modtaget tuple , udfører Alice følgende operationer:
{
}
For at kryptere en meddelelse, der består af bits, skal du udføre bitvise handlinger. Dette udtryk er et skøn over algoritmens tidskompleksitet. Graden af udvidelse af denne algoritme er lig med : en bit af den almindelige tekst svarer til en bit af chifferteksten.
Da beregningen af Legendre-symbolet modulo og modulo forudsatte, at bitvise operationer skal udføres , er bitvise operationer påkrævet for at dechifrere tuplen . Dette udtryk er et skøn over tidskompleksiteten af dekryptering.
Krypteringsalgoritmen i GM-krypteringssystemet kan betragtes som en fejlfri randomiseret algoritme: tilfældige operationer i krypteringsalgoritmen kan ikke forvrænge chifferteksten og har samtidig følgende vigtige egenskaber.
Nul bits i kildeteksten er jævnt fordelt over sættet og enere over sættet . Begge fordelinger er ensartede, fordi for den nulbit, der er indeholdt i den originale tekst, betyder kvadrering en afbildning af gruppen på sættet , og for en enhedsbit er multiplikation af et element i mængden med et tal en afbildning fra mængden til sæt .