Title: Writing program in C++ or Java to implement RSA algorithm for key generation and cipher verification.
Objective: To study,
1. Public key algorithm.
2. RSA algorithm
3. Concept of Public key and Private Key.
Public Key Algorithm:
Asymmetric algorithms rely on one key for encryption and a different but related key for decryption. These algorithms have the following important characteristics:
• It is computationally infeasible to determine the decryption key given only knowledge of the cryptographic algorithm and the encryption key.
In addition, some algorithms, such as RSA, also exhibit the following characteristics:
• Either of the two related keys can be used for encryption, with the other used for decryption. A public key encryption scheme has six ingredients:
• Plaintext: This is readable message or data that is fed into the algorithm as input.
• Encryption algorithm: The encryption algorithm performs various transformations on the plaintext.
• Public and private key: This is a pair of keys that have been selected so that if one is used for encryption, the other is used for decryption. The exact transformations performed by the algorithm depend on the public or private key that is provided as input.
• Cipher text: This is the scrambled message produced as output. It depends on the plaintext and the key. For a given message, two different keys will produce two different cipher texts.
• Decryption algorithm: This algorithm accepts the ciphertext and the matching key and produces the original plaintext. [pic]
The essential steps are as the following:
1. Each user generates a pair of keys to be used for the encryption and decryption of messages. 2. Each user places one of the two keys in a public register or the other accessible file. This is the public key. The companion key is kept private. As...
Please join StudyMode to read the full document