Looking for a Tutor Near You?

Post Learning Requirement »
x

Choose Country Code

x

Direction

x

Ask a Question

x

x
x
x
Hire a Tutor

Notes On RSA Cryptosystem

Loading...

RSA is one of the first public-key (asymmetric) cryptosystems and is widely used for secure data transmission. RSA stands for Rivest-Shamir-Adleman, initial letters of the surnames of its creators. This asymmetry is based on the practical difficulty of the factorization of the product of two large prime numbers, the "factoring problem".

Prantik S / Kolkata

11 years of teaching experience

Qualification: MCA (Jaipur National University - [JNU], Jaipur - 2017)

Teaches: Basic Computer, Computer for official job, MS Office, School Level Computer, ICT Training, Computer Science, Information Practice, IT & Computer Subjects, BCA Tuition, IT, Computer, C / C++, C# (C Sharp), Java And J2EE, Python Programming, Visual Basic, BCA Subjects, Hardware Training, Networking, Java Script

Contact this Tutor
  1. RSA (cryptosystem) RSA is one of the first public-key (asymmetric) cryptosystems and is widely used for secure data transmission. RSA stands for Rivest-Shamir-Adleman, initial letters of the surnames of its creators. This asymmetry is based on the practical difficulty of the factorization of the product of two large prime numbers, the "factoring problem" Here's how key generation works: 1 . Choose two distinct prime numbers, p, and q. 2. Compute n = p * q. n is used as the modulus for both the public and private keys. Its length, usually expressed in bits, is the key length. 3. Compute X(n) = least_common_multiple(p - 1, q - 1). This value is private. 4. Choose an integer e such that 1 < e < X(n), e and X(n) are coprime. 5. Determine d from d = 1 (mod X(n)).
  2. e is released as the public key exponent. d is kept as the private key exponent. Key pair public key: (e, n) private key: (d, n) Currently, the standard sizes for RSA keys are as follows: 512 bits - Low-strength key 1024 bits - Medium-strength key 2048 bits - High-strength key 4096 bits - Very high-strength key Suppose that Bob wants to send information to Alice. If they decide to use
  3. RSA, Bob must know Alice's public key to encrypt the message and Alice must use her private key to decrypt the message. To enable Bob to send his encrypted messages, Alice transmits her public key (n, e) to Bob via a reliable (not necessarily secret) channel. Alice's private key (d) is never distributed. Let's try to generate very simple key pair: 1. p = 61 and q = 53 2. n = 61 = 3233 3. x(n) = lcm(p-l, q-l) = lcm(60, 52) = 780 4. e = 17 (1 < e < X(n), e and X(n) are coprime) 5. d = 413 (d *e mod X(n) = 1) public key: (n = 3233, e = 17) private key: (n = 3233, d = 41 3)
  4. We generated the key pair. We need the public key (n, e) to encrypt plaintext. Let's assign plaintext to m and the ciphertext to c; then ciphertext will be: c = m A e mod n For example, if our plaintext m = 65, then: c(m) = 65 17 mod 3233 = 2790 To decrypt the ciphertext with the private key (n, d), we should use this: m(c) = d mod n = 2790 413 mod 3233 = 65 Digital signature Imagine that Alice wants to send a message to Bob. The system uses RSA encryption, and no one can read the message because the message is encrypted. How can Bob know that the message came correctly from Alice? A digital signature can help.
  5. A digital signature is a mathematical scheme for presenting the authenticity of digital messages or documents. A valid digital signature gives a recipient reason to believe that the message was created by a known sender (authentication). Digital signatures are standard elements of most cryptographic protocol suites and are commonly used for software distribution, financial transactions, and contract management software. So how does it work? One of the methods is to encrypt a special tag (which can include your name, ID, or any other personal information) with your private key, which can be decrypted only with your public key and send the tag with your message. Then the receiver can check the authenticity using the sender's public key. Another method is to get the hash code of your message and decrypt it with the private key, and then send it with the message. This method also gives you a chance to check the message's completeness. As we saw in the hashing lesson, if we change even one character from the message, the hash function gives us an entirely different hash code. Note:PGP (Pretty Good Privacy) is a cryptosystem that includes hashing, symmetric and asymmetric encryptions, digital signatures, and more.
  6. 0 6 Public key C 3 ? ? ? ? - ? ? ? M ? ? ? ? ? ? ? ? ? kw ? ? ? ? , ? ? ? ? ? ? ? - ? M ? ? 0 ? ? 0 ? ? ? 2 ? ? ~ key KEY PAIR EYE] ? ? ? N ? ? ? ? A ? ? ? ? of ? ? k ? r ? 1 ? T ? ? t 22 ? ? 3 ? ? ? ? . ( ? ? ? 3 ” D 0 P ! ? ? - ? ? 3 ? ! 0 ? ? E ? 0 ? ? 1 2 2 ? ? ? ? ? 0