DATA SECURITY
(RSA ALGORITHM)
Abstract
Today
in the Age Of Computer & Internet Each And Every One Has To Face The
Problem Of Hacking. Here We Have Tried Our Best To Resolve This Problem Using
Encryption & Decryption Technology Based On RSA Algorithm. With The Use Of
This Technique We Can Build Standalone As Well As Network Application To Secure
Our Data. Here We Have Present The Data Security With RSA Algorithm &
Cryptography. Our mission of this Presentation is to gives you highly secured Network
& Data Transmission
Cryptography
Cryptography
has a long & colorful history. Historically, four groups of people have
used and contributed to the art of cryptography: the military, the diplomatic
corps, diarists, and lovers. Of these, the military has had the most important
role and has shaped the field. Within military organizations, the messages to
be encrypted have traditionally been given to poorly paid code clerks for
encryption and transmission. The sheer volume of messages prevented this work
from being done by a few elates specialists.
One of the main constraints on
cryptography had been the ability of the code clerk to perform the necessary
transformation, often of a battlefield with little equipment. An additional
constraint has been the difficulty in switching over quickly from one
cryptographic method to another one.
Encryption
Encryption is the
process of translating plain text data into something that appears to be random
& meaningless (cipher text).
Simple encryption
techniques may not provide adequate security, since it may be easy for an
unauthorized user to break the code. There are a vast number of techniques for
the encryption of data. If a really good encryption algorithm is used, there is
no technique significantly better than methodically trying every possible key.
¯
A good encryption technique has
the following properties: -
It is
relatively simple for authorized users to encrypt & decrypt data.
The encryption scheme depends not
on the secrecy of the algorithm called the encryption key. It is extremely
difficult for an intruder to determine the encryption key.
The goal
of every encryption algorithm is to make it as difficult as possible to decrypt
the generated cipher text without using the key.
Decryption
Decryption of data is
the process of converting the cipher text back to plain text. The algorithms
using the same key for the encryption & decryption of data are known as
symmetric algorithms. To encrypt more than a small amount of data, symmetric
encryption is used.
Cipher
A block cipher is
a type of symmetric-key encryption algorithm that transforms a fixed-length
block of plaintext (unencrypted text) data into a block of cipher text
(encrypted text) data of the same length. This transformation takes place under
the action of a user-provided secret key.
Applying the reverse
transformation to the cipher text block using the same secret key performs
decryption. The fixed length is called the block size, and for many block
ciphers, the block size is 64 bits. In the coming years the block size will
increase to 128 bits as processors become more sophisticated.
Since different plain
text blocks are mapped to different cipher text blocks (to allow unique
decryption), a block cipher effectively provides a permutation (one to one
reversible correspondence) of the set of all possible messages. The permutation
effected during any particular encryption is of course secret, since it is a
function of the secret key.
When we use a block
cipher to encrypt a message of arbitrary length, we use techniques known as
modes of operation for the block cipher. To be useful, a mode must be at least
as secure and as efficient as the underlying cipher. Modes may have properties
in addition to those inherent in the basic cipher.
RSA
Algorithm
The RSA cryptosystem is
a public-key cryptosystem that offers both encryption and digital signatures
(authentication). Ronald Rivest, Adi Shamir, and Leonard Adleman developed the
RSA system in 1977; RSA stands for the first letter in each of its inventors'
last names.
The RSA algorithm works as follows:
take two large primes, p and q, and compute their product n = p*q; n is called
the modulus. Choose a number, e, less than n and relatively prime to
(p-1)*(q-1), which means e and (p-1)*(q-1) have no common factors except 1.
Find another number d such that (e*d - 1) is divisible by (p-1)*(q-1). The
values e and d are called the public and private exponents, respectively. The
public key is the pair (n, e); the private key is (n, d). The factors p and q
may be destroyed or kept with the private key.
It is currently difficult to obtain
the private key d from the public key (n, e). However if one could factor n
into p and q, then one could obtain the private key d. Thus the security of the
RSA system is based on the assumption that factoring is difficult. The discovery
of an easy method of factoring would ``break'' RSA.
Here is how the RSA system can be
used for encryption and digital signatures. Encryption Suppose Alice wants to send a message m to
Bob. Alice creates the cipher text c by exponentiation: c = me mod n, where e
and n are Bob's public key. She sends c to Bob. To decrypt, Bob also
exponentiates: m = cd mod n; the relationship between e and d ensures that Bob
correctly recovers m. Since only Bob knows d, only Bob can decrypt this message.
Digital
Signature :- Suppose Alice wants to send a message m to Bob
in such a way that Bob is assured the message is both authentic, has not been
tampered with, and from Alice. Alice creates a digital signature s by
exponentiation: s = md mod n, where d and n are Alice's private key. She sends
m and s to Bob. To verify the signature, Bob exponentiates and checks that the
message m is recovered: m = se mod n, where e and n are Alice's public key.
Thus
encryption and authentication take place without any sharing of private keys;
each person uses only another's public key or their own private key. Anyone can
send an encrypted message or verify a signed message, but only someone in
possession of the correct private key can decrypt or sign a message.
SPEED OF RSA
An “RSA operation” whether encrypting, decrypting, signing, or
verifying is essentially a modular exponentiation. This computation is
performed by a series of modular multiplications.
In practical applications, it is common
to choose a small public exponent for the public key. In fact, entire groups of
users can use the same public exponent, each with a different modulus. (There
are some restrictions on the prime factors of the modulus when the public
exponent is fixed.) This makes encryption faster than decryption and
verification faster than signing. With the typical modular exponentiation
algorithms used to implement the RSA algorithm, public key operations take O
(k2) steps, private key operations take O (k3) steps, and key generation takes
O (k4) steps, where k is the number of bits in the modulus. “Fast multiplication” techniques, such as
methods based on the Fast Fourier Transform (FFT), require asymptotically fewer
steps. In practice, however, they are not as common due to their greater
software complexity and the fact that they may actually be slower for typical
key sizes.
The speed and
efficiency of the many commercially available software and hardware
implementations of the RSA algorithm are increasing rapidly.
By
comparison, DES and other block ciphers are much faster than the RSA algorithm.
DES is generally at least 100 times as fast in software and between 1,000 and
10,000 times as fast in hardware, depending on the implementation.
Implementations of the RSA algorithm will probably narrow the gap a bit in
coming years, due to high demand, but block ciphers will get faster as well.
BREAKING OF RSA
There
are a few possible interpretations of “breaking”
the RSA system. The most damaging would be for an attacker to discover the
private key corresponding to a given public key; this would enable the attacker
both to read all messages encrypted with the public key and to forge
signatures. The obvious way to do this attack is to factor the public modulus,
n, into its two prime factors, p and q. From p, q, and e, the public exponent,
the attacker can easily get d, the private exponent. The hard part is factoring
n; the security of RSA depends on factoring being difficult. In fact, the task
of recovering the private key is equivalent to the task of factoring the
modulus: you can use d to factor n, as well as use the factorization of n to
find d. It should be noted that hardware improvements alone would not weaken
the RSA cryptosystem, as long as appropriate key lengths are used. In fact,
hardware improvements should increase the security of the cryptosystem. Another
way to break the RSA cryptosystem is to find a technique to compute eth roots
mod n. Since c = me mod n, the eth root of c mod n is the message m. This
attack would allow someone to recover encrypted messages and forge signatures
even without knowing the private key. This attack is not known to be equivalent
to factoring. No general methods are currently known that attempt to break the
RSA system in this way. However, in special cases where multiple related
messages are encrypted with the same small exponent, it may be possible to
recover the messages.
The attacks
just mentioned are the only ways to break the RSA cryptosystem in such a way as
to be able to recover all messages encrypted under a given key. There are other
methods, however, that aim to recover single messages; success would not enable
the attacker to recover other messages encrypted with the same key.
The
simplest single-message attack is the guessed plaintext attack. An attacker
sees a cipher text and guesses that the message might be, for example, “Attack at dawn”, and encrypts this guess
with the public key of the recipient and by comparison with the actual cipher
text, the attacker knows whether or not the guess was correct. Appending some
random bits to the message can thwart this attack. Another single-message
attack can occur if someone sends the same message m to three others, who each
have public exponent e = 3. An attacker who knows this and sees the three
messages will be able to recover the message m. Fortunately, padding the
message before each encryption with some random bits can also defeat this
attack. There are also some chosen cipher text attacks (or chosen message
attacks for signature forgery), in which the attacker creates some cipher text
and gets to see the corresponding plaintext, perhaps by tricking a legitimate
user into decrypting a fake message.
There are also
attacks that aim not at the cryptosystem itself but at a given insecure implementation
of the system; these do not count as “breaking” the RSA system, because it is
not any weakness in the RSA algorithm that is exploited, but rather a weakness
in a specific implementation. For example, if someone stores a private key
insecurely, an attacker may discover it. One cannot emphasize strongly enough
that to be truly secure, the RSA cryptosystem requires a secure implementation;
mathematical security measures, such as choosing a long key size, are not
enough. In practice, most successful attacks will likely be aimed at insecure
implementations and at the key management stages of an RSA system.
RSA IN
privacy
In
practice, the RSA system is often used together with a secret-key cryptosystem,
such as DES, to encrypt a message by means of an RSA digital envelope.
Suppose
Alice wishes to send an encrypted message to Bob. She first encrypts the
message with DES, using a randomly chosen DES key. Then she looks up Bob's public
key and uses it to encrypt the DES key. The DES-encrypted message and the
RSA-encrypted DES key together form the RSA digital envelope and are sent to
Bob. Upon receiving the digital envelope, Bob decrypts the DES key with his
private key, and then uses the DES key to decrypt the message itself. This
combines the high speed of DES with the key management convenience of the RSA
system.
RSA for authentication and digital
signatures
The RSA
public-key cryptosystem can be used to authenticate or identify another person
or entity. The reason it works well is because each entity has an associated
private key which (theoretically) no one else has access to. This allows for
positive and unique identification.
Suppose Alice wishes to send a
signed message to Bob. She applies a hash function to the message to create a
message digest, which serves as a “digital fingerprint” of the message. She
then encrypts the message digest with her private key, creating the digital
signature she sends to Bob along with the message itself. Bob, upon receiving
the message and signature, decrypts the signature with Alice's public key to
recover the message digest. He then hashes the message with the same hash function
Alice used and compares the result to the message digest decrypted from the
signature. If they are exactly equal, the signature has been successfully
verified and he can be confident the message did indeed come from Alice. If
they are not equal, then the message either originated elsewhere or was altered
after it was signed, and he rejects the message. Anybody who reads the message
can verify the signature. This does not satisfy situations where Alice wishes
to retain the secrecy of the document. In this case she may wish to sign the
document, then encrypt it using Bob's public key. Bob will then need to decrypt
using his private key and verify the signature on the recovered message using
Alice's public key. Alternately, if it is necessary for intermediary third
parties to validate the integrity of the message without being able to decrypt
its content, a message digest may be computed on the encrypted message, rather
than on its plaintext form.
In
practice, the public exponent in the RSA algorithm is usually much smaller than
the private exponent. This means that verification of a signature is faster
than signing. This is desirable because a message will be signed by an
individual only once, but the signature may be verified many times.
It must be
infeasible for anyone either to find a message that hashes to a given value or
to find two messages that hash to the same value. If either were feasible, an
intruder could attach a false message onto Alice's signature. Hash functions
such as MD5 and SHA have been designed specifically to have the property that
finding a match is infeasible, and are therefore considered suitable for use in
cryptography.
One or more
certificates may accompany a digital signature. A certificate is a signed
document that binds the public key to the identity of a party. Its purpose is
to prevent someone from impersonating someone else. If a certificate is
present, the recipient (or a third party) can check that the public key belongs
to a named party, assuming the certifier's public key is itself trusted.
RSA USED CURRENTLY
The RSA
system is currently used in a wide variety of products, platforms, and
industries around the world. It is found in many commercial software products
and is planned to be in many more. The RSA algorithm is built into current
operating systems by Microsoft, Apple, Sun, and Novell. In hardware, the RSA
algorithm can be found in secure telephones, on Ethernet network cards, and on
smart cards. In addition, the algorithm is incorporated into all of the major
protocols for secure Internet communications, including S/MIME, SSL, and S/WAN.
It is also used internally in many institutions, including branches of the U.S.
government, major corporations, national laboratories, and universities.
At the time of
this publication, over 700 companies license technology using the RSA
algorithm. The estimated installed base of RSA BSAFE encryption technologies is
around 500 million. The majority of these implementations include use of the
RSA algorithm, making it by far the most widely used public-key cryptosystem in
the world.
RSA AS an official standard
The RSA
cryptosystem is part of many official standards worldwide. The ISO
(International Standards Organization) 9796 standard lists RSA as a compatible
cryptographic algorithm, as does the ITU-T X.509 security standard. The RSA
system is part of the Society for Worldwide Interlake Financial
Telecommunications (SWIFT) standard, the French financial industry's ETEBAC 5
standard, the ANSI X9.31 rDSA standard and the X9.44 draft standard for the
U.S. banking industry. The Australian key management standard, AS2805.6.5.3,
also specifies the RSA system.
The RSA
algorithm is found in Internet standards and proposed protocols including
S/MIME, IPSec, and TLS (the Internet standards-track successor to SSL), as well
as in the PKCS standard for the software industry. The OSI Implementers'
Workshop (OIW) has issued implementers' agreements referring to PKCS, which
includes RSA.
A number of
other standards are currently being developed and will be announced over the
next few years; many are expected to include the RSA algorithm as either an
endorsed or a recommended system for privacy and/or authentication. For
example, IEEE P1363 and WAP WTLS include the RSA system.
RSA AS a
de facto standard
The RSA system is the
most widely used public-key cryptosystem today and has often been called a de
facto standard. Regardless of the official standards, the existence of a de
facto standard is extremely important for the development of a digital economy.
If one public-key system is used everywhere for authentication, then signed
digital documents can be exchanged between users in different nations using
different software on different platforms; this interoperability is necessary
for a true digital economy to develop. Adoption of the RSA system has grown to
the extent that standards are being written to accommodate it. When the leading
vendors of U.S. financial industry were developing standards for digital
signatures, they first developed ANSI X9.30 in 1997 to support the federal
requirement of using the Digital Signature Standard. One year later they added
ANSI X9.31, whose emphasis is on RSA digital signatures to support the de facto
standard of financial institutions.
The lack of
secure authentication has been a major obstacle in achieving the promise that
computers would replace paper; paper is still necessary almost everywhere for
contracts, checks, official letters, legal documents, and identification. With
this core of necessary paper transaction, it has not been feasible to evolve
completely into a society based on electronic transactions. A digital signature
is the exact tool necessary to convert the most essential paper-based documents
to digital electronic media. Digital signatures make it possible for passports,
college transcripts, wills, leases, checks and voter registration forms to
exist in the electronic form; any paper version would just be a “copy” of the
electronic original. The accepted standard for digital signatures has enabled
all of this to happen.
RSA
ALGORITHM
Ø Choose two (in practice, large 100 digit) prime numbers p
and q
and let n = pq.
Ø Let Pi be the
block of (plain) text to be encrypted. Actually Pi is the numerical equivalent of the text which may
either be single letters or blocks of letters, just as long as.
Pi < (p-1)(q-1)=
Ф(n)
Ø Choose a random value E (usually small) such that E
is relatively prime to Error! Unknown switch argument.. Then the
encrypted text is calculated from
Ci=PiE
mod(n)
Ø The pair of values (n,E) act as the public key.
Ø To decode the ciphertext, we need to find an exponent D,
which is known only to the person decoding the message, such that
DE=
1 mod((p-1)(q-1))
Ø Note that Ф(n)=Ф(pq)=(p-1)(q-1) Then we may calculate
CiD=(PiE)D
=PiDE =Pi mod(n)
Ø This step is based on the following result:
(ax)y
= axy = az mod(n)
Ø where z=xy mod(Ф(n))Show that
this result is true.
By Euler's theorem
EФ(Ф(n))
=1 mod (Ф(n))
provided E and Error! Unknown switch argument.are
relatively prime, which is true by the choice of E. So we obtain
DE= 1 mod (Ф(n))
DE= EФ(Ф(n)) mod(Ф(n))
DE= EФ(Ф(n))-1 mod(Ф(n))
Example of RSA
Algorithm
We have chosen p=3 and q=11, giving n=33 and z=20. A suitable value
for d is d=7, since 7 and 20 have no common factors. With these choices, e can
be found by solving the equation 7e=1 (mod 20), which yields e=3. The cipher
text, C, for a plain text message, P, is given by C=P3 (mod 33). The cipher
text is decrypted by the receiver according to the rule P=C7 (mod 33).
Because the primes chosen for
this example are so small, P must be less than 33, so each plain text block can
contain only a single character. The result is a monoalphabetic substitution
cipher, not very impressive.
The example of the RSA algorithm:
Plain text (P)
|
|
Cipher text(C)
|
|
After Decryption
|
||
Symbolic
|
Numeric
|
P3
|
P3
(Mod 33)
|
C7
|
C7
(Mod 33)
|
Symbolic
|
S
|
19
|
6859
|
28
|
1342928512
|
19
|
S
|
U
|
21
|
9261
|
21
|
1801088541
|
21
|
U
|
Z
|
26
|
17576
|
20
|
1280000000
|
26
|
Z
|
A
|
01
|
1
|
1
|
1
|
1
|
A
|
N
|
14
|
2744
|
5
|
78125
|
14
|
N
|
N
|
14
|
2744
|
5
|
78125
|
14
|
N
|
E
|
05
|
125
|
26
|
8031810176
|
5
|
E
|
COMPARISON BETWEEN PUBLIC-KEY
CRYPTOGRAPHY OVER SECRET-KEY CRYPTOGRAPHY
The primary advantage of public-key
cryptography is increased security and convenience: private keys never need to
be transmitted or revealed to anyone. In a secret-key system, by contrast, the
secret keys must be transmitted (either manually or through a communication
channel) since the same key is used for encryption and decryption. A serious
concern is that there may be a chance that an enemy can discover the secret key
during transmission.
Another major
advantage of public-key systems is that they can provide digital signatures
that cannot be repudiated. Authentication via secret-key systems requires the
sharing of some secret and sometimes requires trust of a third party as well.
As a result, a sender can repudiate a previously authenticated message by
claiming the shared secret was somehow compromised by one of the parties
sharing the secret.
For example, the
Koreros secret-key authentication system involves a central database that keeps
copies of the secret keys of all users; an attack on the database would allow
widespread forgery. Public-key authentication, on the other hand, prevents this
type of repudiation; each user has sole responsibility for protecting his or
her private key. This property of public-key authentication is often called
non-repudiation.
A disadvantage of
using public-key cryptography for encryption is speed. There are many
secret-key encryption methods that are significantly faster than any currently
available public-key encryption method. Nevertheless, public-key cryptography
can be used with secret-key cryptography to get the best of both worlds. For
encryption, the best solution is to combine public- and secret-key systems in
order to get both the security advantages of public-key systems and the speed
advantages of secret-key systems. Such a protocol is called a digital envelope.
Public-key
cryptography may be vulnerable to impersonation, even if users' private keys
are not available. A successful attack on a certification authority will allow
an adversary to impersonate whomever he or she chooses by using a public-key
certificate from the compromised authority to bind a key of the adversary's
choice to the name of another user.
In some situations, public-key
cryptography is not necessary and secret-key cryptography alone is sufficient.
These include environments where secure secret key distribution can take place.
For example, users meet in private. It also includes environments where a
single authority knows and manages all the keys, For example, a closed banking
system. Since the authority knows everyone's keys already, there is not much
advantage for some to be "public" and others to be "private".
Note, however, that such a system may become impractical if the number of users
becomes large; there are not necessarily any such limitations in a public-key
system.
Public-key
cryptography is usually not necessary in a single-user environment. For
example, if you want to keep your personal files encrypted, you can do so with
any secret key encryption algorithm using, say, your personal password as the
secret key. In general, public-key cryptography is best suited for an open
multi-user environment.
Public-key
cryptography is not meant to replace secret-key cryptography, but rather to
supplement it, to make it more secure. The first use of public-key techniques
was for secure key establishment in a secret-key system; this is still one of
its primary functions. Secret-key cryptography remains extremely important and
is the subject of much ongoing study and research. Some secret-key
cryptosystems are discussed in the sections on block ciphers and stream
ciphers.
CONCLUSION of
RSA
RSA, as a public key cryptosystem, is
quite speedy and efficient. It removes the overhead of key distribution and
also provides good speed. It is good technique for the data security on network
or on the standalone system. Where the Encryption & Decryption is very easy
to understand and make it easy for the user.
FUTURE
TRENDS
elliptic curves
Elliptic curves are
mathematical constructions from number theory and algebraic geometry, which in
recent years have found numerous applications in cryptography.
An elliptic curve can be
defined over any field (for example, real, rational, complex), though elliptic
curves used in cryptography are mainly defined over finite fields. An elliptic
curve consists of elements (x, y) satisfying the equation,
y2
= x3 + ax + b
Together with a single element denoted O called the “point at infinity”, which can be
visualized as the point at the top and bottom of every vertical line. The
elliptic curve formula is slightly different for some fields.
The set of points on an
elliptic curve forms a group under addition, where addition of two points on an
elliptic curve is defined according to a set of simple rules. For example,
consider the two points p1 and p2. Point p1 plus point p2 is equal to point p4
= (x, -y), where (x, y) = p3 is the third point on the intersection of the
elliptic curve and the line L through p1 and p2. The addition operation in an
elliptic curve is the counterpart to modular multiplication in common
public-key cryptosystems, and multiple additions are the counterpart to
exponentiation.
Lattice-based cryptosystems
Lattice-based
cryptosystems are based on NP-complete problems involving lattices. A lattice
can be viewed as the set of all linear combinations with integral coefficients
of a specified set of elements in a vector space. An example of a lattice is
the infinite square grid in 2-dimensional space consisting of all points with
integral coordinates. This lattice is generated by integral linear combinations
of the vectors (0,1) and (1,0).
Lattice-based
methods fall into two basic classes, although the solution methods for both are
identical. In fact, there are efficient transformations between the two
classes.
Other
lattice-based methods require finding short vectors embedded in a lattice or
finding points in the vector space close to vertices of the lattice or close to
vectors embedded in the lattice.
So far
lattice-based methods have not proven effective as a foundation for public-key
methods. In order for a lattice-based cryptosystem to be secure, the dimension
of the underlying problem has to be large. This results in a large key size,
rendering encryption and decryption quite slow. Ongoing research aims to
improve the efficiency of these cryptosystems.
DSA AND DSS
The
National Institute of Standards and Technology (NIST) published the Digital
Signature Algorithm (DSA) in the Digital Signature Standard (DSS), which is a
part of the U.S. government's Capstone project. DSS was selected by NIST, in
cooperation with the NSA, to be the digital authentication standard of the U.S.
government. The standard was issued in May 1994.
DSA is
based on the discrete logarithm problem and is related to signature schemes
that were proposed by Schnorr and ElGamal. While the RSA system can be used for
both encryption and digital signatures the DSA can only be used to provide
digital signatures.
In DSA,
signature generation is faster than signature verification, whereas with the
RSA algorithm, signature verification is very much faster than signature
generation (if the public and private exponents, respectively, are chosen for
this property, which is the usual case). It might be claimed that it is
advantageous for signing to be the faster operation, but since in many
applications a piece of digital information is signed once, but verified often,
it may well be more advantageous to have faster verification. Wiener has
explored the tradeoffs and issues involved. There has been work by many authors
including Naccache et al. on developing techniques to improve the efficiency of
DSA, both for signing and verification.
Although
several aspects of DSA have been criticized since its announcement, it is being
incorporated into a number of systems and specifications. Initial criticism
focused on a few main issues: it lacked the flexibility of the RSA
cryptosystem; verification of signatures with DSA was too slow; the existence
of a second authentication mechanism was likely to cause hardship to computer
hardware and software vendors, who had already standardized on the RSA
algorithm; and that the process by which NIST chose DSA was too secretive and
arbitrary, with too much influence wielded by the NSA. Other criticisms more
related to the security of the scheme were addressed by NIST by modifying the
original proposal.
DSA SECURITY
The Digital Signature Standard was originally proposed by NIST with a
fixed 512-bit key size. After much criticism that this is not secure enough,
especially for long-term security, NIST revised DSS to allow key sizes up to
1024 bits. In fact, even larger key sizes are now allowed in ANSI X9.31. DSA
is, at present, considered to be secure with 1024-bit keys.
DSA makes
use of computation of discrete logarithms in certain subgroups in the finite
field GF (p) for some prime p. Schnorr first proposed the problem for
cryptographic use in 1989. No efficient attacks have yet been reported on this
form of the discrete logarithm problem.
Some researchers warned about the existence of “trapdoor” primes in DSA, which could enable a key to be easily
broken. These trapdoor primes are relatively rare and easily avoided if proper
key-generation procedures are followed.
ECC
COMPARED WITH OTHER CRYPTOSYSTEMS
The main attraction of elliptic curve cryptosystems over other
public-key cryptosystems is the fact that they are based on a different, hard
problem. This may lead to smaller key sizes and better performance in certain
public key operations for the same level of security.
Very roughly speaking, when this FAQ was published elliptic curve
cryptosystems with a 160-bit key offer the same security of the RSA system and
discrete logarithm based systems with a 1024-bit key. As a result, the length
of the public key and private key is much shorter in elliptic curve
cryptosystems. In terms of speed, however, it is quite difficult to give a
quantitative comparison, partly because of the various optimization techniques
one can apply to different systems. It is perhaps fair to say the following:
Elliptic curve cryptosystems are faster than the corresponding discrete
logarithm based systems. Elliptic curve cryptosystems are faster than the RSA
system in signing and decryption, but slower in signature verification and
encryption.
GLOSSARY
CRYPTANALYSIS: -The art of breaking
ciphers is called cryptanalysis.
CRYPTOLOGY: -The art of devising
ciphers and breaking them is collectively known as cryptology.
ENCRYPTION: -Encryption is the
process of translating plain text data into something that appears to be random
& meaningless (cipher text).
DECRYPTION: -Decryption of data is
the process of converting the cipher text back to plain text.
AUTHENTICATION: -Authentication is any
process through which one proves and verifies certain information.
DIGITAL
ENVELOPE:
-The digital envelope consists of a message encrypted using secret-key
cryptography and an encrypted secret key.
SECRET KEY
CRYPTOGRAPHY:
-It is the more traditional form of cryptography, in which a single key can be
used to encrypt and decrypt a message.
BLOCK
CIPHER:
- A block cipher is a type of symmetric-key encryption algorithm that
transforms a fixed-length block of plain text (unencrypted text) data into a
block of cipher text (encrypted text) data of the same length.
MAC: -A message
authentication code (MAC) is an authentication tag derived by applying an
authentication scheme, together with a secret key, to a message.
RSA: -The RSA cryptosystem
is a public-key cryptosystem that offers both encryption and digital signatures
(authentication).
Comparison of RSA and Pohling-Hellman:-
Operation
|
RSA
System
|
Pohlig-Hellman
|
Encryption
Operation
|
C = Me mod n
|
C = Me mod p
|
Decryption Operation
|
M = Ce mod n
|
M = Ce mod p
|
Modulus
|
p * q (prime numbers)
|
p (prime number)
|
Encryption exponent (e)
|
e relatively prime to
(p-1)*(q-1) |
e relatively prime to (p-1)
|
Decryption exponent (d)
|
d = e-1 mod ((p-1)*(q-1))
|
d = e-1 mod (p-1)
|
REFERENCES
- Computer Networks (Andrew Tanenbaum), 3rd Edition, PHI.
- Computer Network & Internet (Comer & Drow), PHI
- www.ssh.fi/tech/crypto/algorithms.html
- www.rsasecurity.com
- www.di-mgt.com.au/rsa algorithm.html
- www.cyberlaw.com
- www.krellinst.org
No comments:
Post a Comment