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.
pasirenka du didelius pirminius skaičius ir
sudaugina juos . viešas raktas
- ,
o privatus:
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.
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 iš
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
- A. Menezes, P. van Oorschot, S. Vanstone, 1996, Handbook of Applied Cryptography