International Journal of Theoretical & Applied Sciences, 12(1): 37-42(2020) ISSN No. (Print): 0975-1718 ISSN No. (Online): 2249-3247 Digital Signatures using RSA Public Key Cryptosystem Scheme Arun Kumar Sharma 1 and Nikhlesh Kumar Badoga 2 1Department of Computer Science & Engineering, NIT Hamirpur, India. 2Department of Computer Science & Engineering, Thapar Institute of Engineering and Technology, India. (Corresponding author: Arun Kumar Sharma) (Received 07 April, 2020, accepted 22 June, 2020) (Published by Research Trend, Website: www.researchtrend.net) ABSTRACT: In the present era which pertains mainly to information technology, the data travels through various communication channels that are insecure. Security issues of such data are very important. During communication over any network the issues of confidentiality, integrity and authenticity of data arise. The confidentiality is ensured by the methods of cryptography whereas the various techniques of digital signatures are used to ensure integrity and authenticity of data. The security issues regarding e-commerce, e-mail, internet banking, ATM etc. are addressed by the techniques of cryptography. Here, we discuss in detail the RSA public key cryptosystem and the digital signatures using the RSA technique. Further, we explain the digital signature scheme using RSA with the help of an illustration. Keywords: Cryptosystem, Digital Signature, Public Key, Encryption, Decryption, Confidentiality, Authenticity, Integrity. signature. Legal status has now been achieved by Digital I. INTRODUCTION signatures. In 1976, Whilfield Diffie and Martin Hellman first time RSA Cryptosystem: describe the concept of digital signature, [3, 6, 7, 9, 11, Ron Rivest, Adi Shamir and Len Adleman at MIT made 13, 19]. The electronic documents are signed using many attempts during entire year in order to create a Digital Signature. Digital signature have similar one-way function which is difficult to inverse, Rivest properties to handwritten signature. Handwritten and Shamir, as computer scientists, proposed a variety of signature are called conventional signature. A potential functions while Adleman, being a mathematic “conventional” signature which is attached to a can, developed first major asymmetric key cryptography document, associates the responsibility of person system and the final result was published in 1978,which pertaining to the signature. A signature is used very is known as RSA cryptosystem. It solves the problem of frequently in everyday life. For example writing a letter, key agreements and distributions, [1, 2, 4, 5, 8, 10, 12, signing a contract, withdrawing money from a bank etc. 15, 17, 18, 20, 21]. In other words, a verified signature on a document, is a The RSA cryptosystem is the most popular and proven sign of authentication, which tells that the document is asymmetric key cryptographic cryptosystem. authentic. Implementation of RSA Cryptosystem: Electronic documents need to be duly signed in most The RSA Cryptosystem involves mainly three steps: situations. For example, electronic bank transactions, Key-Generation , Encryption and Decryption , which electronic contracts and binding electronic mail. The are discussed below. receiver needs to ensure that the message is only from 1) RSA Key Generation: RSA Cryptosystem uses a the intended recipient and not the third person. In order public key. The message is encrypted with the help of to find required information filtering is utmost essential, public key and is known to everyone. The encryption of see [14, 16]. Electronically signing the message plays a message which is done with the help of public key can be vital role in ensuring the correct sender. In other words, decrypted only using the private key. The keysto be used the authenticity of the sender can be verified or proved for RSA algorithm are created using following steps: with the help of electronic signature. This type of 1. Choose two large prime, ͤ ͕͘͢ ͥ , of equal size signature is referred to as Digital Signature. approximately so that the product ͢ = ͤ × ͥ is of In the present era of web-commerce Digital signatures 1024 bits. are of great importance. The provisions have been 2. Calculate ͢ = ͤ × ͥ ͕͘͢ ʚ͢ʛ = ʚͤ − 1ʛʚͥ − 1ʛ. already made for valid authorization procedure in order 3. Choose an integer ͙,1<͙ <ʚ͢ʛ , so that gcd ( to recognize a Digital Signature similar topaper-based ͙, ʚ͢ʛʛ = 1. Sharma & Badoga International Journal of Theoretical & Applied Sciences, 12 (1): 37-42(2020) 37 4. Calculate the secret exponent ͘, such that ͙͘ ≡ (iv) Selecting signing key ͙, such that gcd( ͙, ʚ͢ʛ) = 1, 1Ƴͣ͘͡ ʚ͢ʛƷ. 1 < ͙ < ʚ͢ʛ. 5. The public key is ʚ͢, ͙ʛ and the private key is (v) Now we find ͘, such that ʚ͢, ͘ʛ.All the values ͘, ͤ, ͥ and are kept secret. (i) ͢ is called as the modulus. ͙͘ ≡ (ii) ͙ is called as the public exponent or exponent or 1Ƴͣ͘͡ ʚ͢ʛƷ. encryption exponent. Therefore, the public key is the pair ( ͙, ͢ʛ, and private (iii) ͘ is called as the decryption exponent or secret key is ‘ ͘’. exponent. (I) Singing of RSA Digital Signature: We 2) RSA Encryption: The message is sent to Bob by explain how Alice signs the message ͡.The private Alice using his public key and the private key ͘ is key is used by Alice to create a signature of the message kept secret. Bob receives the message which comes as follows: from Alice. The size of the message (plaintext) must be ͧ ≡ ͡ʚͣ͘͡ ͢ʛ, where ͡ = ʜ0,1,2, … ʚ͢ − 1ʛʝ less then ͢ ʚ͊ < ͢ʛ. If the message (Plaintext) is large and sends the message (encrypted as ͗ ≡ then ͢, it should be divided in blocks. After that ͡ ʚͣ͘͡ ͢ʛʛ and signature toBob. Alice sends message to Bob using public key of ̼which is announced publicly. Steps performed by Sender A : 1. The public key ʚ͢, ͙ʛ of the B’s is obtained. 2. The plaintext message is represented as a positive integer ͡. 3. The cipher text ̽ ≡ ͡ ʚͣ͘͡ ͢ʛ is calculated. 4. The cipher text is sent from C to B. 3) RSA Decryption: Bob receives the message which comes from Alice and Bob uses his private key to decrypt the cipher text message received. Steps performed by Recipient B : 1) The private key ʚ͢, ͘ʛis used to calculate ͡ ≡ ͗ʚͣ͘͡ ͢ʛ. 2) The plaintext is extracted from the message representative ͡. Fig. 2. Signing RSA Digital Signature. The whole process of encryption and decryption in cryptography is shown in the following diagram: II. VERIFYING OF RSA DIGITAL SIGNATURE Bob wants to verify the signature ′ͧ′. Both ͡ and ͧ are received by Bob.The copy of message is created by Bob by applying the public key of Alice to signature as follows: ͡ɑ ≡ ͧ ʚͣ͘͡ ͢ʛ and the value of ͡ɑ is compared with the value ͡ by Bob. The message is accepted by Bob if these two are equal. Fig. 1. RSA Encryption and Decryption. (I) RSA Digital Signature: Algorithm: Key Generation : The following algorithm discusses the key generation of RSA digital signatures. (i) Choose two large prime number ͤ and ͥ such that ͤ ƕ ͥ. (ii) Now, we find the product of ͤ and ͥ such that ͢ = ͤ × ͥ. (iii) Now, we calculate ʚ͢ʛ = ʚͤ − 1ʛʚͥ − 1ʛ. Fig: 3. Verifying RSA Digital Signature Scheme. Sharma & Badoga International Journal of Theoretical & Applied Sciences, 12 (1): 37-42(2020) 38 Verification Criteria: • The message digest of the source information is used Since,ͧ ≡ ͡ʚͣ͘͡ ͢ʛ. for deriving the signature. The process to be followed Therefore, for deriving the message digest need to exactly same, ͡ɑ ≡ ͧ ʚͣ͘͡ ͢ʛ using an identical set of data. becomes • The methods through which the representative ͡ɑ ≡ ʚ͡ʛ ʚͣ͘͡ ͢ʛ. integers can be derived are different for both signing This gives and encryption. ɑ , ͡ ≡ ͡ ʚͣ͘͡ ͢ʛ III. ILLUSTRATION that is Now we shall explain the RSA digital signature with the ͡ɑ = ͡ [because ͙͘ ≡ 1 ͣ͘͡ʚ͢ʛ]. help of following example. The following diagram shows the digital signature Let us take the message “MATHEMATICS”. scheme: STEP 1. Key Generation Let us choose the prime numbers ͤ = 47 , ͥ = 59 . Therefore, the product of ͤ and ͥ is ͢ = ͤͥ = ʚ47ʛʚ59ʛ = 2773 . Now using Euler’s totient function, we get ʚ͢ʛ = ʚͤͥʛ = ʚͤʛʚͥʛ = ʚͤ − 1ʛʚͥ − 1ʛ. This implies Fig. 4. Digital signature scheme. ʚ2773 ʛ = ʚ47 − 1ʛʚ59 − 1ʛ Practical Applications: = ʚ46ʛʚ58ʛ = 2668 . (i) The primes and will be considered of equal ͤ ͥ Now we choose ‘ ͙’ such that 1 < ͙ < ʚ͢ʛ and length in bits. gcd ʚʚ͢ʛ, ͙ʛ = 1. (ii) Most used practical choices for are and ͙ 3, 17 gcd ʚʚ͢ʛ, ͙ʛ = 1. ͥͪ . These are called as Fermat primes, 65537ʚ2 + 1ʛ Let us select ͙ = 17 such that 1 < 17 < 2668 and also rarely referred to as respectively. ̀ͤ , ̀ͦ and ̀ͨ gcd (2668, 17) = 1. The operation of modular exponentiation is made faster Now we calculate ͘ such that by choosing them. After choosing ͙, it is easier to check ͙͘ ≡ 1 ʚͣ͘͡ ʚ͢ʛʛ. whether ͛͗͘ʚ͙,ͤ−1ʛ = 1 and ͛͗͘ ʚ͙, ͥ − 1ʛ = 1 That is while the primes are being tested and generated in step 1. 17͘ ≡ ʚͣ͘͡ 2668 ʛ. Values of ͤ and ͥ that are not able to pass in the test This gives can be reflected instantly. ͘ = 157. To calculate the value of ͘, we make use of Extended STEP 2. Conversion of the English Message into the Euclidean Algorithm for computing ͘ ≡ ͙ͯͥͣ͘͡ , Numerical Values ͥ Now we shall write the numerical value of the message also written as ͘ ≡ ʠ ʡͣ͘͡ . This is known as “MATHEMATICS” by using the following table: modular inversion. This is not an integer division. The modular inverse ͘is defined as the integer value such Table 1: Representation of Alphabetic and that ͙͘ ≡ 1ʚ ͣ͘͡ ʚ͢ʛʛ.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-