V2I6201330
V2I6201330
V2I6201330
com
ISSN 2320–088X
RESEARCH ARTICLE
1
preethasenthilkumar@gmail.com; 2 nithyamanivelan@gmail.com
Abstract— There are few end-users today who make use of real security applications. These applications tend
to be too complicated, exposing too much detail of the cryptographic process. Users need simple inherent
security that doesn’t require more of them simply clicking the secure checkbox. Cryptography is a first
abstraction to separate specific algorithms from generic cryptographic processes in order to eliminate
compatibility and upgradeability problems. The core idea is enhance the security of RSA algorithm. In this
dissertation public key algorithm RSA and enhanced RSA are compared analysis is made on time based on
execution time.
I. INTRODUCTION
Data communication is an important aspect of our living. So, protection of data from misuse is essential. A
cryptosystem defines a pair of data transformations called encryption and decryption. Encryption is applied to
the plain text i.e. the data to be communicated to produce cipher text i.e. encrypted data using encryption key.
Decryption uses the decryption key to convert cipher text to plain text i.e. the original data. Now, if the
encryption key and the decryption key is the same or one can be derived from the other then it is said to be
symmetric cryptography. This type of cryptosystem can be easily broken if the key used to encrypt or decrypt
can be found. To improve the protection mechanism Public Key Cryptosystem was introduced in 1976 by
Whitfield Diffe and Martin Hellman of Stanford University. It uses a pair of related keys one for encryption and
other for decryption. One key, which is called the private key, is kept secret and other one known as public key
is disclosed. The message is encrypted with public key and can only be decrypted by using the private key. So,
the encrypted message cannot be decrypted by anyone who knows the public key and thus secure
communication is possible. RSA (named after its authors – Rivest, Shamir and Adleman) is the most popular
public key algorithm. In relies on the factorization problem of mathematics that indicates that given a very large
number it is quite impossible in today’s aspect to find two prime numbers whose product is the given number.
As we increase the number the possibility for factoring the number decreases. So, we need very large numbers
for a good Public Key Cryptosystem. GNU has an excellent library called GMP that can handle numbers of
arbitrary precision. We have used this library to implement RSA algorithm. As we have shown in this paper
number of bits encrypted together using a public key has significant impact on the decryption time and the
strength of the cryptosystem.
II. CRYPTOGRAPHY
Cryptography from Greek , "hidden, secret" respectively is the practice and study of techniques for secure
communication in the presence of third parties (called adversaries).More generally, it is about constructing and
analyzing protocols that overcome the influence of adversaries and which are related to various aspects in
information security such as data confidentiality, data integrity, authentication, and non-repudiation. Modern
cryptography intersects the disciplines of mathematics, computer science, and electrical engineering.
Applications of cryptography include ATM cards, computer passwords, and electronic commerce.
Cryptography prior to the modern age was effectively synonymous with encryption, the conversion of
information from a readable state to apparent nonsense. The originator of an encrypted message shared the
decoding technique needed to recover the original information only with intended recipients, thereby precluding
unwanted persons to do the same. Since World War I and the advent of the computer, the methods used to carry
out cryptology have become increasingly complex and its application more widespread.
Modern cryptography is heavily based on mathematical theory and computer science practice. Cryptographic
algorithms are designed around computational hardness assumptions, making such algorithms hard to break in
practice by any adversary. It is theoretically possible to break such a system but it is infeasible to do so by any
known practical means. These schemes are therefore termed computationally secure; theoretical advances and
faster computing technology require these solutions to be continually adapted. There exist information-
theoretically secure schemes that provably cannot be broken even with unlimited computing power—an
example is the one-time pad—but these schemes are more difficult to implement than the best theoretically
breakable but computationally secure mechanisms.
Symmetric key ciphers are implemented as either block ciphers or stream ciphers. A block cipher enciphers
input in blocks of plaintext as opposed to individual characters, the input form used by a stream cipher.
The data Encryption Standard(DES) and the Advanced Encryption Standard(AES) are block cipher designs
which have been designated cryptography standards by the US government Despite its deprecation as an official
standard, DES remains quite popular, it is used across a wide range of applications, from ATM encryption to e-
mail privacy and secure remote access. Many other block ciphers have been designed and released, either
considerable variation in quality. Many have been thoroughly broken,, such as FEAL.
Stream ciphers, in contrast to the ‘block’ type, create an arbitrarily long stream of key material, which is
combined with the plaintext bit-by-bit or character –by-character, somewhat like the one time pad. In a stream
cipher, the output stream based on a hidden state which changes as the cipher operates.
IV. ALGORITHMS
4.1 DES
The Data Encryption Standard (DES) was developed in the 1970s by the National Bureau of Standards with
the help of the National Security Agency. Its purpose is to provide a standard method for protecting sensitive
commercial and unclassified data. IBM created the first draft of the algorithm, calling it LUCIFER. DES
officially became a federal standard in November of 1976.
Fundamentally DES performs only two operations on its input, bit shifting, and bit substitution. The key
controls exactly how this process works. By doing these operations repeatedly and in a non-linear manner you
end up with a result which cannot be used to retrieve the original without the key. Those familiar with chaos
theory should see a great deal of similarity to what DES does. By applying relatively simple operations
repeatedly a system can achieve a state of near total randomness.
DES works on 64 bits of data at a time. Each 64 bits of data is iterated on from 1 to 16 times (16 is the DES
standard). For each iteration a 48 bit subset of the 56 bit key is fed into the encryption block represented by the
dashed rectangle above. Decryption is the inverse of the encryption process. The "F" module shown in the
diagram is the heart of DES. It actually consists of several different transforms and non-linear substitutions.
Consult one of the references in the bibliography for details.
Recent analysis has shown despite this controversy, that DES is well designed. DES is theoretically broken
using Differential or Linear Cryptanalysis but in practise is unlikely to be a problem yet. Also rapid advances in
computing speed though have rendered the 56 bit key susceptible to exhaustive key search, as predicted by
Diffie & Hellman. Have demonstrated breaks:
- 1997 on a large network of computers in a few months
- 1998 on dedicated h/w (EFF) in a few days
- 1999 above combined in 22hrs!
4.2 AES
AES is based on a design principle known as a substitution-permutation network, and is fast in both software
and hardware. Unlike its predecessor DES, AES does not use a Feistel network. AES is a fixed block size of
128 bits, and a key size of 128, 192, or 256 bits. By contrast, to that may be any multiple of 32 bits, both with a
minimum of 128 and a maximum of 256 bits.
AES operates on a 4×4 column-major order matrix of bytes, termed the state, although some versions of
Rijndael have a larger block size and have additional columns in the state. Most AES calculations are done in a
special finite field.
The key size used for an AES cipher specifies the number of repetitions of transformation rounds that convert
the input, called the plaintext, into the final output, called the cipher text.
For cryptographers, a cryptographic "break" is anything faster than a brute force—performing one trial
decryption for each key (see Cryptanalysis). This includes results that are infeasible with current technology.
The largest successful publicly known brute force attack against any block-cipher encryption was against a 64-
bit RC5.
1. Forward search attack: If message space is predictable, attacker can decrypt C simply by
Encrypting all possible messages until a match with C is obtained.
2. Common modulus attack: If everyone is given the same modulus „n‟ but different (e,d) pair, then under
certain conditions, it is possible to decrypt the message without d.
3. Low encryption exponents: When encrypting with low encryption exponents (e.g., e = 3) and small
values of the m, (i.e. m < n1 / e) the result of me is strictly less than the modulus n. In this case, cipher
texts can be easily decrypted by taking the eth root of the cipher text over the integers.
4. RSA has the property that the product of two cipher texts is equal to the encryption of the product of
the respective plaintexts. That is m1em2e=(m1m2)e(mod n) Because of this multiplicative property a
chosen-cipher text attack is possible.
Where c is the encrypted message. The encrypted message is decrypted using formula
Encryption and decryption formulas show how to encode and decode a single integer. Bigger (or different)
pieces of information are encoded by converting them into (potentially large) integers first. As RSA is not
particularly fast, it is usually only to encrypts the key of some faster algorithm. After RSA decrypts the key, this
supplementary algorithm uses it to decrypt the rest of the message.
RSA algorithm is fundamentally based on the Euler theorem:
1)=1 and gcd(e, q-1)=1 while generating and testing the primes in step 1. Values of p or q that fail this
test can be rejected there and then. (Even better: if e is prime and greater than 2 then you can do the
less-expensive test (p mod e)!=1 instead of gcd(p-1,e)==1.)
3. To compute the value for d, use the Extended Euclidean Algorithm to calculate d = e-1 mod phi, also
written d = (1/e) mod phi. This is known as modular inversion. Note that this is not integer division.
The modular inverse d is defined as the integer value such that ed = 1 mod phi. It only exists if e and
phi have no common factors.
4. When representing the plaintext octets as the representative integer m, it is usual to add random
padding characters to make the size of the integer m large and less susceptible to certain types of attack.
If m = 0 or 1 or n-1 there is no security as the cipher text has the same value. For more details on how
to represent the plaintext octets as a suitable representative integer m, see PKCS#1 Scheme below or
the reference itself [PKCS1]. It is important to make sure that m < n otherwise the algorithm will fail.
This is usually done by making sure the first octet of m is equal to 0x00.
5. Decryption and signing are identical as far as the mathematics is concerned as both use the private key.
Similarly, encryption and verification both use the same mathematical operation with the public key.
That is, mathematically, for m < n,
m = (me mod n)d mod n = (md mod n)e mod n
However, note these important differences in implementation:-
o The signature is derived from a message digest of the original information. The recipient will
need to follow exactly the same process to derive the message digest, using an identical set of
data.
o The recommended methods for deriving the representative integers are different for
encryption and signing (encryption involves random padding, but signing uses the same
padding each time).
6. The original definition of RSA uses the Euler totient function φ(n) = (p-1)(q-1). More recent standards
use the Charmichael function λ(n) = lcm(p-1, q-1) instead. λ(n) is smaller than φ(n) and divides it. The
value of d' computed by d' = e-1 mod λ(n) is usually different from that derived by d = e-1 mod φ(n), but
the end result is the same. Both d and d' will decrypt a message me mod n and both will give the same
signature value s = md mod n = md' mod n. To compute λ(n), use the relation
7. λ(n) = (p-1)(q-1) / gcd(p-1, q-1).
Note that all 33 values of m (0 to 32) map to a unique code c in the same range in a sort of random manner. In
this case we have nine values of m that map to the same value of c - these are known as unconcealed messages.
m = 0, 1 and n-1 will always do this for any n, no matter how large. But in practice, higher values shouldn't be a
problem when we use large values for n in the order of several hundred bits.
If we wanted to use this system to keep secrets, we could let A=2, B=3, ..., Z=27. (We specifically avoid 0
and 1 here for the reason given above). Thus the plaintext message "HELLOWORLD" would be represented by
the set of integers m1, m2, ...
(9,6,13,13,16,24,16,19,13,5)
Using our table above, we obtain cipher text integers c1, c2, ...
(3,18,19,19,4,30,4,28,19,26)
Remember that calculating me mod n is easy, but calculating the inverse c-e mod n is very difficult, well, for
large n's anyway. However, if we can factor n into its prime factors p and q, the solution becomes easy again,
even for large n's. Obviously, if we can get hold of the secret exponent d, the solution is easy, too.
An octet is the eight-bit representation of an integer with the leftmost bit being the most significant
bit; this integer is the value of the octet.
An octet string is an ordered sequence of octets, where the first octet is the leftmost.
GCD(a,b) greatest common divisor of the two nonnegative integers a and b
LCM(a,b) least common multiple of the two nonnegative integers a and b
bxc the real number x rounded down to the closest integer
dxe the real number x rounded up to the closest integer
XkY concatenation of octet strings X and Y
X _ Y bitwise exclusive-or of octet strings X and Y
RSA encryption and decryption primitive over the years many different researchers have considered the
security of RSAEP/RSADP. Boneh gives an excellent survey of the main attacks which we summarize here. In
some cases, the discussion of the private exponent d refers to the inverse of e mod (p − 1)(q − 1) as opposed to
the alternative definition given in this document; knowledge of either is of course sufficient to compromise
security.
Although determining the remaining bits is of course still difficult, if the private exponent is protected by
symmetric encryption, knowledge of the most significant half of the bits of d may facilitate a known-plaintext
attack on the symmetric Encryption method. Accordingly, it is essential that the remaining bits of the private
key d Should be well protected.
9. Using partial information about the factors p, q.
Given the dlog2n/4e least significant bits of p (resp. q) or the dlog2n/4e most significant bits of p (resp. q),
one can efficiently factor n . The entirety of the secret primes p and q should be protected. It is generally
accepted that when RSAEP is used with appropriate parameter choices and coupled with a secure padding
scheme like OAEP, then the most effective attack is to factor the modulus n.
Under this assumption we can relate the security of RSAES-OAEP to the effort required to factor the
underlying modulus of different sizes. A crude estimate for the increased computing resources required beyond
that for factoring RSA-512can be derived for different sizes of RSA moduli. For 1024-bit RSA moduli, the
factor increasing computational power is estimated as 7 × 106 while for 2048-bit RSA the estimate is 9 ×
1015.Increases in computing power might be accounted for by some combination of the use of more machines,
increasingly powerful machines, or more calendar time. The calendar time required for the factorization of
RSA-512 was 3.7 months. Other issues like the cost and availability of memory may also figure in deriving
predictions for the future security of RSAEP/RSADP reasons to call the security of RSAES-OAEP in question.
Luckily, this is not the case; RSAES-OAEP
Basic techniques to avoid implementation weaknesses
The analytical securities of RSAEP/RSADP along with RSAES-OAEP have been considered in previous
section. However we still need to implement RSAES-OAEP securely.
It is possible that weaknesses could be introduced when writing RSAES-OAEP as a component of an
application, or when running an application from which so-called side-channel information can be deduced.
Within an engineering environment, implementation errors can be virtually eliminated by adopting good product
design and engineering practices. Adequate testing and product management throughout the development cycle
are essential. With regards to running an application using RSAES-OAEP, protection of all private key
information, secure memory management, and secure error handling are all needed. Issues like the source of
random numbers are, of course, fundamental to the security of the implementation. Over recent years there have
been several proposals to break cryptosystems by utilizing so-called side-channel information. Examples include
timing attacks, power analysis , and fault analysis .Implementations of RSAES-OAEP can be made resistant to
timing attacks and power analysis by ensuring that all the steps in the computation of a private key operation
take the same amount of time or consume the same amount of power .A more elegant approach to providing
resistance to timing attacks is to use blinding as suggested by Ronald L. Rivest.
To decode,
1. recover the random string as r = Y ⊕ H(X)
2. Recover the message as m00..0 = X ⊕ G(r)
The "all-or-nothing" security is from the fact that to recover m, you must recover the entire X and the entire
Y; X is required to recover r from Y, and r is required to recover m from X. Since any changed bit of a
cryptographic hash completely changes the result, the entire X, and the entire Y must both be completely
recovered.
350
300
250
200
Rsa - oaep encryption
150
Rsa encryption
100
50
0
14 24 30 39 62
VIII. CONCLUSION
A slight modification of the well-known and practical RSA-OAEP has been included encryption. According
to this scheme it has extra advantages, namely its IND-CCA, security remains highly related to hardness of the
RSA problem, even in the multi-query setting. The RSA provides highest security to the business application.
Moreover, this scheme can be used for encryption of long messages without employing the hybrid and
symmetric encryption.
REFERENCES
[1] R.L.Rivest,A.Sharmir,L.Adleman : A method for obtaining digital signatures and public key
Cryptosystems”, Tata McGraw-Hill
[2] W. Stallings, Cryptography and Network Security: Principles and Practice 3/e. Prentice Hall
[3] Cormen , Thomas H, Charles E.Leiserson, aronald L.Rivest Clifford Stein “Introduction to algorithms”.
MIT Press and McGraw-Hill
[4] www.rsa.com
[5] www.cc.gatech.edu
[6] www.symmtech.com
[7] www.rsasecurity.com
[8] www.cryptotools.com