Rabin kriptosistema

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.

Rabin kriptosistema yra viešo rakto kriptosistema. Ji buvo sukurta Michael O. Rabin.

Tai labai greita kriptosistema, kadangi šifravimui reikalauja vienos operacijos – kėlimo kvadratu moduliu . Saugumas remiasi skaičiaus skaidymo į du pirminius , kad problemos sudėtingumu.

Raktų parinkimo algoritmas[redaguoti | redaguoti vikitekstą]

pasirenka du didelius pirminius skaičius ir sudaugina juos . viešas raktas

,

o privatus:

Šifravimas/dešifravimas[redaguoti | redaguoti vikitekstą]

Tarkime, kad nori perduoti pranešimą , . turi viešą raktą – .

užšifruoja , tiesiog pakėlus jį kvadratu moduliu :

dešifruoja pranešimą, suradus šaknys moduliu . nusprendžia, kuris iš yra pranešimas.

Kvadratinė šaknis moduliu[redaguoti | redaguoti vikitekstą]

Apibrėžimas. Simboliu žymėsime aibę skaičių .

Apibrėžimas. Simboliu žymėsime aibę skaičių . Jeigu – pirminis, tai

Apibrėžimas. Tegu – skaičius, o – pirminis skaičius. Legendre simbolis apibrėžiamas taip:

Čia ir apibrėžtos taip:

Bendras algoritmas kvadratinėm šaknims surasti:

ALGORITMAS SQR1
ĮVESTIS:  - skaičius,  - pirminis skaičius, 
IŠVESTIS: dvi šaknis skaičiaus  moduliu , jeigu jos egzistuoja
 1. Jeigu  – šaknų nėra.
 2. Parinkti , , kad 
 3. Užrašyti skaičių ,  – nelyginis.
 4. Apskaičiuoti 
 5. 
 6. Visiem  nuo  iki :
   6.1. 
   6.2. Jeigu, , tada 
   6.3. 
 7. Sprendimas: 

Jeigu , tai naudojamas sekantis algoritmas:

ALGORITMAS SQR2
ĮVESTIS:  - skaičius,  - pirminis skaičius, 
IŠVESTIS: dvi šaknys skaičiaus  moduliu , jeigu jos egzistuoja
 1. 
 2. 

Taikymas šio algoritmo (SQR2) Rabin kriptosistemos atveju atrodo taip:

Jeigu  ir Jeigu , tada
 1. Surasti  ir , kad .
 2. 
 3.  
 4. 
 5. 
 6. Rezultatas: 

Pastaba: ir moduliu n.

Jeigu – pirminis, tai skaičiaus moduliu šaknys surasime algoritmo SQR3 pagalba:

ALGORITMAS SQR3
ĮVESTIS:  - skaičius,  - pirminis skaičius, 
IŠVESTIS: dvi šaknys skaičiaus  moduliu , jeigu jos egzistuoja
 1. Pasirenkame , kad 
 2. Tegu  yra polinomas 
 3. 
 4. Rezultatas: 

Polinomų žiedas

Rabin kriptosistemos atveju algoritmas SQR3 panaudojamas taip:

ALGORITMAS SQR4
ĮVESTIS:  - skaičius, ,  ir  pirminiai
IŠVESTIS: keturios šaknys skaičiaus  moduliu , jeigu jos egzistuoja
 1. Naudojant SQR3, surandame skaičiaus  šaknys  moduliu 
 2. Naudojant SQR3, surandame skaičiaus  šaknys  moduliu 
 3. Surandame  ir , kad 
 4. , 
 5. Rezultatas: , visi moduliu 

Literatūra[redaguoti | redaguoti vikitekstą]

  • A. Menezes, P. van Oorschot, S. Vanstone, 1996, Handbook of Applied Cryptography

Kitos viešo rakto kriptosistemos[redaguoti | redaguoti vikitekstą]