Publickey Cryptography

Kid-RSA

Kid-RSA is a public-key cipher system proposed by Neal Koblitz for pedagogic purposes and published in [5]. It is an asymmetric cryptosystem similar to RSA, but is simpler than RSA.

Setup

A person (Alice) chooses four numbers a, b, a1, b1. Then Alice sets

Ma * b -1

ea1 * M + a

db1 * M + b

n = (e * d ) / M = a1 * b1 * M + a * b1 + a1 * b +1

Now Alice Public key (n, e) and her private key is d.

To send Alice a plaintext P, one uses the function  Ce * P ( mod n).

Then Alice can decipher the ciphertext by using the function P = C * d ( mod n).

Note:   The plaint text has to be a number in the range of  0 to n-1. So for this system the plaintext or blocks of plaintext hast to converted into numbers in the range of 0 to n-1.

Encryption and Decryption

To send Alice a plaintext P, one uses the function  Ce * P ( mod n);

Then Alice can decipher the ciphertext by using the function P = C * d ( mod n);

Since Alice publishes e and n, any one who wants to send encrypted messages to Alice can do so, but these messages cannot be decrypted without the knowledge of d. d is kept as secret and only Alice knows it, so only she can decrypt messages.

Example

Let

a = 9, b = 11, a1 = 5, b1 = 8;

There fore

 M (a * b) - 1 (9 * 11) -1 98 e (a1 * M) + a (5 * 98) + 9 499 d (b1 * M) + b (8 * 98) + 11 795 n ((e * d) - 1)/M ((499 * 795) -1) / 98 4048

Let the message be  P = 538.

Encryption

C  =  P * e ( mod n)  = 499 * 538 (mod 4048 ) =  268462 (mod 4048 ) = 1294

Decryption

P = C * d ( mod n)   = 1294 * 795 (mod 4048 ) = 1028730  (mod 4048 )  =538