Introduction
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 Blog post is to gives you highly secured Network & Data Transmission overview.
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 symmetrickey encryption algorithm that transforms a fixedlength 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 userprovided 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 publickey 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 (p1)*(q1), which means e and (p1)*(q1) have no common factors except 1. Find another number d such that (e*d – 1) is divisible by (p1)*(q1). 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 singlemessage 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 singlemessage 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 secretkey 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 DESencrypted message and the RSAencrypted 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 publickey 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.
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 ITUT 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 standardstrack 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 publickey 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 publickey 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 paperbased 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 P_{i} be the block of (plain) text to be encrypted. Actually P_{i} is the numerical equivalent of the text which may either be single letters or blocks of letters, just as long as.
Pi < (p1)(q1)= Ф(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=P_{i}^{E} 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((p1)(q1))
 Note that Ф(n)=Ф(pq)=(p1)(q1) Then we may calculate
C_{i}^{D}=(P_{i}^{E})^{D }=P_{i}^{DE }=Pi mod(n)
 This step is based on the following result:
(a^{x})^{y} = a^{xy} = a^{z} 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

P^{3}

P^{3}
(Mod 33)

C^{7}

C^{7}
(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 PUBLICKEY CRYPTOGRAPHY OVER SECRETKEY CRYPTOGRAPHY
The primary advantage of publickey cryptography is increased security and convenience: private keys never need to be transmitted or revealed to anyone. In a secretkey 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 publickey systems is that they can provide digital signatures that cannot be repudiated. Authentication via secretkey 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 secretkey 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. Publickey 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 publickey authentication is often called nonrepudiation.
A disadvantage of using publickey cryptography for encryption is speed. There are many secretkey encryption methods that are significantly faster than any currently available publickey encryption method. Nevertheless, publickey cryptography can be used with secretkey cryptography to get the best of both worlds. For encryption, the best solution is to combine public and secretkey systems in order to get both the security advantages of publickey systems and the speed advantages of secretkey systems. Such a protocol is called a digital envelope.
Publickey 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 publickey certificate from the compromised authority to bind a key of the adversary’s choice to the name of another user.
In some situations, publickey cryptography is not necessary and secretkey 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 publickey system.
Publickey cryptography is usually not necessary in a singleuser 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, publickey cryptography is best suited for an open multiuser environment.
Publickey cryptography is not meant to replace secretkey cryptography, but rather to supplement it, to make it more secure. The first use of publickey techniques was for secure key establishment in a secretkey system; this is still one of its primary functions. Secretkey cryptography remains extremely important and is the subject of much ongoing study and research. Some secretkey 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.
CURRENT 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,
y^{2} = x^{3} + 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 publickey cryptosystems, and multiple additions are the counterpart to exponentiation.
Latticebased cryptosystems
Latticebased cryptosystems are based on NPcomplete 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 2dimensional space consisting of all points with integral coordinates. This lattice is generated by integral linear combinations of the vectors (0,1) and (1,0).
Latticebased 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 latticebased 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 latticebased methods have not proven effective as a foundation for publickey methods. In order for a latticebased 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 512bit key size. After much criticism that this is not secure enough, especially for longterm 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 1024bit 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 keygeneration procedures are followed.
ECC COMPARED WITH OTHER CRYPTOSYSTEMS
The main attraction of elliptic curve cryptosystems over other publickey 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 160bit key offer the same security of the RSA system and discrete logarithm based systems with a 1024bit 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 secretkey 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 symmetrickey encryption algorithm that transforms a fixedlength 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 publickey cryptosystem that offers both encryption and digital signatures (authentication).
Comparison of RSA and PohlingHellman:
Operation 
RSA System 
PohligHellman 
Encryption Operation 
C = M^{e} mod n 
C = M^{e }mod p 
Decryption Operation 
M = C^{e} mod n 
M = C^{e} mod p 
Modulus 
p * q (prime numbers) 
p (prime number) 
Encryption exponent (e) 
e relatively prime to(p1)*(q1) 
e relatively prime to (p1) 
Decryption exponent (d) 
d = e^{1} mod ((p1)*(q1)) 
d = e^{1} mod (p1) 