Sie sind auf Seite 1von 3

Seminartopicsonline.

com

0000011110101011010000111010011110001111001011110110000100001001101011011100010111101101000100010000011101101111000001111000001111001011110001110010010100001101011000011010010110101101001001001100101100101011000001110100110110111101100000010010010101001101000001111010101101000011101001111000111100101111011000010000100110101101110001011110110100010001000001110110111100000111100000111100101111000111
0010010100001101011000011010010110101101001001001100101100101011000001110100110110111101100000010010010101001101000001111010101101000011101001111000111100101111011000010000100110101101110001011110110100010001000001110110111100000111100000111100101111000111001001010000110101100001101001011010110100100100110010110010101100000111010011011011110110000001001001010100110100000111101010110100001110100111
1000111100101111011000010000100110101101110001011110110100010001000001110110111100000111100000111100101111000111001001010000110101100001101001011010110100100100110010110010101100000111010011011011110110000001001001010100110100000111101010110100001110100111100011110010111101100001000010011010110111000101111011010001000100000111011011110000011110000011110010111100011100100101000011010110000110100101
1010110100100100110010110010101100000111010011011011110110000001001001010100110100000111101010110100001110100111100011110010111101100001000010011010110111000101111011010001000100000111011011110000011110000011110010111100011100100101000011010110000110100101101011010010010011001011001010110000011101001101101111011000000100100101010011010000011110101011010000111010011110001111001011110110000100001001

RSA : An Insight
ABSTRACT
This paper describes in general the design and working of the Rivest-Shamir-
Adleman algorithm commonly known by the name RSA algorithm. It is a public key
cryptosystem that makes use of a pair of keys, namely the public and the private
key.
Public key cryptosystems were invented in the late 1970's, with some help from the
development of complexity theory around that time. It was observed that based on a
problem so difficult that it would need thousands of years to solve, and with some
luck, a cryptosystem could be developed which would have two keys, a secret key
and a public key. With the public key one could encrypt messages, and decrypt them
with the private key. Thus the owner of the private key would be the only one who
could decrypt the messages, but anyone knowing the public key could send them in
privacy.
The RSA cryptosystem, named after its inventors R. Rivest, A. Shamir, and L.
Adleman, is the most widely used public-key cryptosystem. It may be used to
provide both secrecy and digital signatures and its security is based on the
intractability of the integer factorization problem.
This paper presents an insight into RSA and explorers its intricacies and its
characteristics, which make it the most sought after asymmetric key algorithm till
date.
Introduction:
Cryptography has been in practical use for a very long time. While it may well have
been used previously, extant records indicate that the Spartans established the first
system of military cryptography. As early as the fifth century B.C., they employed a
device called the 'skytale' [which] consists of a staff of wood around which a strip of
papyrus or leather or parchment is wrapped close-packed. The secret message is
written on the parchment down the length of the staff; the parchment is then
unwound and sent on its way.
The existence of cryptography from this early a time, proves that there was a need
for data security from a very long time.
Cryptographic algorithms have been in existence from the time of Shakespeare (as
mentioned in Julius Caesar). This is from where the Caesar algorithm gets its name
from, wherein, a letter is encrypted by replacing it with a letter relative to its position
in the alphabet.
With an increase in the need for securing the data, the level of complexity involved
to get through to encrypted data also increased. Algorithms with
“keys” to encode and decode the data were developed.

Private and Public Key Algorithms


All modern algorithms use a key to control encryption and decryption; a message
can be decrypted only if the key matches the encryption key. There are two classes
of key-based encryption algorithms, symmetric (or secret-key) and asymmetric
(or public-key) algorithms. The difference is that symmetric algorithms use the
same key for encryption and decryption (or the decryption key is easily derived from
1111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110
1101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100
1111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110
0111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110011100000001100010111100110101001001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110
1001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110011100000001100010111100110101001001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100
1001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110
1011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110
0001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100
0011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110011100000001100010111100110101001001110010011000010100100111111000010110101111101111101010110000
0011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110011100000001100010111100110101001001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010
Seminartopicsonline.com

the encryption key), whereas asymmetric algorithms use a different key for
encryption and decryption, and the decryption key cannot be derived from the
encryption key.
Asymmetric ciphers (also called public-key algorithms or generally public-key
cryptography) permit the encryption key to be public (it can even be published in a
newspaper), allowing anyone to encrypt with the key, whereas only the proper
recipient (who knows the decryption key) can decrypt the message. The encryption
key is also called the public key and the decryption key the private key or secret
key.

The RSA cryptosystem


The RSA cryptosystem, named after its inventors R. Rivest, A. Shamir, and L.
Adleman, is the most widely used public-key cryptosystem. It may be used to
provide both secrecy and digital signatures and its security is based on the
intractability of the integer factorization problem.
RSA computation takes place with integers modulo n = p * q, for two large secret
primes p, q. To encrypt a message m, it is exponentiated with a small public
exponent e. For decryption, the recipient of the ciphertext
c=me(mod n) computes the multiplicative reverse d = e-1 (mod (p-1)*(q-1))
which can also be written as
ed = 1 (mod (p-1)*(q-1))
(we require that e is selected suitably for it to exist) and obtains
cd = m e * d = m (mod n).
The private key consists of d (where p and q can be forgotten); the public key
contains only of n, e. The problem for the attacker is that computing the
reverse d of e is assumed to be no easier than factorizing n. The key size (the size of
the modulus) should be greater than 1024 bits (i.e. it should be of magnitude
10300) for a reasonable margin of security. Keys of size, say, 2048 bits should give
security for decades.

Step by Step Procedure –


1. Generate two large random (and distinct) primes p and q, each roughly the same
size.
2. Compute n = pq and f = (p - 1)(q - 1).
3. Select a random integer e, 1 < e< f, such that gcd(e; f) =1.
4. Use the extended Euclidean algorithm to compute the unique integer d,
1 < d< f, such that ed = 1 (mod f).
5. Public key is (n; e); private key is d.
The integers e and d in RSA key generation are called the encryption exponent and
the decryption exponent, respectively, while n is called the modulus.

Encryption and Decryption Process


If B encrypts a message m for A, which A decrypts then

# Encryption. B should do the following:


(a) Obtain A’s authentic public key (n; e).
(b) Represent the message as an integer m in the interval [0; n- 1].
(c) Compute c = me mod n
(d) Send the cipher text c to A.

1111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110
1101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100
1111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110
0111000000011000101111001101010010011100100110000101001001111110000101101011111011111010101100000011010001011100111100000011000010011100111101101001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110011100000001100010111100110101001001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110
1001111000111010010100101101111010111110100100000111000001011100001101100011111011011010101100101001111001110110011100000001100010111100110101001001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100
1001110010011000010100100111111000010110101111101111101010110000001101000101110011110000001100001001110011110110100111100011101001010010110111101011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110
1011111010010000011100000101110000110110001111101101101010110010100111100111011001110000000110001011110011010100100111001001100001010010011111100001011010111110111110101011000000110100010111001111000000110000100111001111011010011110001110100101001011011110101111101001000001110000010111000011011000111110110110101011001010011110011101100111000000011000101111001101010010011100100110000101001001111110
0010010100001101011000011010010110101101001001001100101100101011000001110100110110111101100000010010010101001101000001111010101101000011101001111000111100101111011000010000100110101101110001011110110100010001000001110110111100000111100000111100101111000111001001010000110101100001101001011010110100100100110010110010101100000111010011011011110110000001001001010100110100000111101010110100001110100111
1000111100101111011000010000100110101101110001011110110100010001000001110110111100000111100000111100101111000111001001010000110101100001101001011010110100100100110010110010101100000111010011011011110110000001001001010100110100000111101010110100001110100111100011110010111101100001000010011010110111000101111011010001000100000111011011110000011110000011110010111100011100100101000011010110000110100101
1010110100100100110010110010101100000111010011011011110110000001001001010100110100000111101010110100001110100111100011110010111101100001000010011010110111000101111011010001000100000111011011110000011110000011110010111100011100100101000011010110000110100101101011010010010011001011001010110000011101001101101111011000000100100101010011010000011110101011010000111010011110001111001011110110000100001001

# Decryption. To recover plain text m from c, A should do the following:


Seminartopicsonline.com

(a) Use the private key d to recover m = cd mod n.

Mathematical Proof of Working of Decryption


Since ed = 1 (mod f), there exists an integer k such that
ed = 1+kf. Now, if gcd(m; p) = 1then by Fermat’s theorem,
mp-1= 1 (mod p)
Raising both sides of this congruence to the power k(q -1) and then multiplying both
sides by m yields
m1+k(p-1)(q-1) = m (mod p)
On the other hand, if gcd(m; p) =p, then this last congruence is again valid since
each side is congruent to 0 modulo p. Hence, in all cases
med = m (mod p)
By the same argument,
med = m (mod q)
Finally, since p and q are distinct primes, it follows that
med = m (mod n)
and, hence,
cd = (me )d = m (mod n)

Conclusion
Dramatic advances in factoring large integers would make RSA vulnerable, but other
attacks against specific variants are also known. Good
implementations use redundancy (or padding with specific structure) in order to
avoid attacks using the multiplicative structure of the cipher text. RSA is vulnerable
to chosen plain text attacks and hardware and fault attacks. Also important attacks
against very small exponents exist, as well as against partially revealed factorization
of the modulus.
The plain RSA algorithm should not be used in any application. It is recommended
that implementations follow the standard as this has also the additional benefit of
inter-operability with most major protocols.
RSA is currently the most important public key algorithm. It was patented in the
United States (the patent expired in the year 2000).

Das könnte Ihnen auch gefallen