This is an assignment on Rabin Cryptography and implementation of CRT in C programming language....
Jagannath University Department of Computer Science and Engineering M.Sc in Computer Science and Engineering (Evening) Program Submitted To: Aminul Islam Submitted By: Al-Amin Shohag Section: A Student ID: M160305504 Session: Winter-2016
3.1.3 Decryption Algorithm 3.2 Security and Attacks
Chapter 4. Implementing CRT and Rabin Decryption Algorithm Using C Programming Language 4.1CRT and Rabin Decryption Program in C 4.2 Limitations in Implementing CRT and Rabin Decryption Algorithm in C 4.3 Assumptions
Future Intend Reference
Chapter 1 Introduction to Public Key Cryptosystem 1.1
Public key cryptosystem which is also known as asymmetric key cryptography was introduced in the year 1970 to avoid the need for keys sharing by every pair of parties that wish to communicate securely. Such system allows all the parties to encrypt messages using a key that is known to all but the decryption is allowed only to the intended party of those messages. The recipient of a message uses a key to decrypt it. The key that is used by all parties is known as public key and the key used by the recipient to decrypt the message is known as private key or secret key. The encrypted message sent by a party is called cipher text. And the message is called plaintext. The plaintext and cipher text are treated as integers in this system. The cipher text which is denoted as C=f(public key, plaintext). The plaintext which is denoted as P=f(private key, cipher text). Public key cryptosystem is normally used for to encrypt or decrypt small pieces of information, such as the cipher key for a symmetric key cryptosystem. It is a system used for auxiliary goal instead of message encipherment.
The most common public key cryptosystem is the RSA cryptosystem named after the inventors Rivest, Adi Shamir and Leonard Adleman. It was invented in 1976 by these three researchers at Massachusettes Institute of Technology(MIT). The system uses two exponent e and d where e is public and d is private. The encryption of the plaintext p is done by using e , n and modular arithmetic which produces cipher text c and decryption is done using d ,n and modular arithmetic to get the plaintext from the cipher text c. The n is generated through key generation algorithm of RSA cryptosystem.
c= p modn
Key generation: select two large primes p ,q. Then the following steps are followed.
n=p × q
Calculate : ɸ(n)=(p-1)(q-1) Select : e such that 1