p1 és p2 (titkos)
Fontos, hogy a prímek tényleg nagy számok legyenek, általában kb. 100 decimális számjegyből állnak. Annak eldöntése, hogy a generált számok valóban prímek-e, pontosan ugyanolyan nehéz feladat, mint az RSA titkosítás brute force-szal való feltörése, mert több, mint száz jegyű szám faktorizálása nagyon sokáig tart.
Ezután elő kell állítani az
n := p1 . p2 (nyilvános)
illetve az
m := (p1 - 1) . (p2 - 1)
számokat.
e (nyilvános)
számot úgy, hogy m és e relatív prímek legyenek.
d := e-1 (mod m) (titkos)
azaz
e . d = 1 (mod m)
Az e szám inverzét, azaz a d számot az inverz euklideszi algoritmus segítségével határozzuk meg.
y := xe (mod n)
azaz a nagy számok hatványozása algoritmus segítségével.
x' := yd (mod n)
és ideális esetben, tehát ha p1 és p2 valóban prímek voltak, e és m valóban relatív prímek, és x < n, akkor x' = x, vagyis visszakapjuk az eredeti információt.Néhány megjegyzés: