2013, Technical Report of National Institute of Science and Technology (NIST), India, Summer Research Program, 2013
To overcome the problems faced in symmetric key algorithms, people have chosen Asymmetric Key algorithms for communication. Communication with Asymmetric algorithms will give us transmission of information without exchanging the key. Public-key cryptography refers to a cryptographic system requiring two separate keys, one of which is secret and one of which is public. Public-key cryptography is widely used. It is an approach used by many cryptographic algorithms and cryptosystems. It underpins such Internet standards as Transport Layer Security (TLS), PGP, and GPG. RSA and Diffie–Hellman key exchange are the most widely used public key distribution systems, while the Digital Signature Algorithm is the most widely used digital signature system. In this report we are mainly concentrating on some asymmetric algorithms which are mostly used. They are RSA cryptosystem and ElGamal Cryptosystem. It also gives brief mathematical explanations. The RSA algorithm is the most commonly used encryption and authentication algorithm and is included as part of the Web browsers from Microsoft and Netscape.RSA is an algorithm for public-key cryptography that is based on the presumed difficulty of factoring large integers, the factoring problem.. The RSA algorithm involves three steps: key generation, encryption and decryption. In this we mainly concentrate on algorithms for Primality Testing, Extended Euclidian’s algorithm, Modular Exponentiation solving algorithm, etc. ElGamal System is a public-key cryptosystem based on the discrete logarithm problem. It consists of both encryption and Signature algorithms. ElGamal encryption is used in the free GNU Privacy Guard software, recent versions of PGP, and other cryptosystems. ElGamal encryption consists of three components: the key generator, the encryption algorithm, and the decryption algorithm. In this we concentrate on the algorithms Cyclic Groups, Modular Exponentiation solving algorithms etc.