Symmetric And Asymmetric Cryptography Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

DES stands for Data Encryption Standard, and refers to the algorithm selected in 1976 as the official US Government algorithm for unclassified data. It was also probably the first serious commercial grade algorithm to be openly published. DES uses 64-bit blocks and a 56-bit key. It is still widely implemented. In terms of strength its design has stood the test of time very well, but its relatively short key length by modern standards means that it is now considered vulnerable to brute force attacks. It is also, in software, comparatively slow. DES, the Data Encryption Standard (FIPS 46-1), describes the data encryption algorithm (DEA). The DEA is also defined in the ANSI standard X9.32. It is a symmetric cryptosystem with the key length of 56 bits. Due to the fixed key size, DEA is gradually becoming weaker with respect to the brute force attacks

Triple DES, often denoted 3DES, is effectively three successive DES encryptions with different keys. This is equivalent to a 168-bit key, offering good security at the expense of encryption speed. In view of the depth of analysis to which DES has been subjected during its life, 3DES is still regarded as a very safe choice.

Des Digital Encryption standard

Widely used symmetric algorithm encrypts a 64-bit block using a 56-bit keyDes uses diffusion and confusion in many stages the algorithm is guile complicated challenge first broken in 1997 took 1400 PC four mouth in 1998 in under a day use the algorithm multiple times with different keys:3DES(triple-Des)

Block and stream ciphers

These algorithms are of two kinds, block ciphers and stream ciphers.

Block ciphers are the more familiar and more widely implemented: with these the original text is divided up into fixed-length blocks, each of which in turn is encrypted using a fixed algorithm. All modern algorithms use at least 64-bit block sizes, with larger blocks (128-bit, or larger still in some cases) now becoming more common. The security of the algorithm depends partly on the block size but more on the key size: key sizes of the algorithms mentioned here range from 32 bits to several hundred bits, with 64, 128 and increasingly 256 bits being frequently encountered.

There is a substantial choice of high-quality block cipher algorithms, and only a selection; basically those most likely to be included in popular encryption utilities; are discussed here.

Stream ciphers on the other hand treat the data as a continuous stream, encrypting small units (a byte at a time or even smaller) using an algorithm which itself varies as the stream is processed. They too have variable key lengths, security increasing with increased key size. There are far fewer published stream ciphers and only one is at all common in software implementations.

RSA - asymmetric block cipher

RSA is a public-key cryptosystem developed in 1977. RSA can work with different key sizes, introducing the security vs. speed trade-off. Its algorithm involves exponentiation and is thus slower than other ciphers. For example, DES (implemented in software) is generally at least 100 times as fast as RSA. The underlying hard problem, on which RSA is based, is integer factorization. One of the more commonly used is public key algorithms the RSA algorithms is used to do public key encryption and digital signatures based on factoring the formulary is simple but takes a long time to calculate RSA is used in most web-browser as part of SSL The RSA encryption mechanism is an originally pioneering and now wide spread example of the one-way function approach. It is based on RSA-functions and their properties, as presented in Subsection 12.9.2. The mechanism is asymmetric admit- ting multiple key usages, and it operates block wise where the block length is deter-mined by the parameters of the underlying RSA-function. It achieves complexity-theoretic security, provided the factorization conjecture and the RSA conjecture hold, the key is properly generated and sufficiently long, and some additional care is taken. More specifically, given a suitable RSA-function RSA p,, q, d with the private key( p,q,d ) and the public key (n,e), we get an encryption mechanism that essentially operates as follows - or similarly regarding the pre- and post processing: A message m is preprocessed by adding a nonce non - for the sake of probabilistic encryption - and the hash value h(m,non) - for the sake of authenticated encryption - using an agreed protocol for the hash function and the needed separators. If the resulting object x = (m,non,h (m,non)) can be interpreted as a positive number less than n, this object is encrypted by computing y = x e mod n.The decryption is performed by computing y d mod n Then the three components of the decryption result are extracted, and the hash value of the first two components is recomputed and compared with the component, the received hash value. If the received hash value is verified, the first component of the decryption result is returned as the (presumably) correct message Accordingly, for each fixed setting of an RSA-function RSA p,, q, d , the RSA encryption mechanism operates on the following sets plaintexts: bit strings over the set {0,1} of some fixed length limes ≤ ld n; cipher texts: bit strings over the set {0,1} of basically length ld n, seen as positive numbers less than n (residues modulo n);keys: given the public key (n,e), in principle there is a unique residue modulo nosed as the private decryption exponent d, whose binary representation is a bit string of basically length ld n or less; however, from the point of view of the Non distinguished participants, this decryption exponent cannot be "determined".

RC4 - symmetric stream cipher

RC4 is a variable key-size stream cipher based on the use of a random permutation. It is expected to run very quickly in software. The algorithm has been scrutinized by independent analysts and is considered secure. RC4 is a variable key-size stream cipher based on the use of a random permutation. It is expected to run very quickly in software. The algorithm has been scrutinized by independent analysts and is considered secure. RC4, probably the best known general purpose stream cipher, has a slightly curious history. This algorithm is a design from RSA Data Security Inc. Although, in principle at least, its design is a commercial secret it has not been patented. Source code alleged to be that of RC4 was published anonymously in 1994 and has been found to perform identically to the RC4 algorithm embodied in RSA products. Consequently RC4 is effectively in the public domain and is frequently incorporated in open source software, sometimes with a different (but suggestive) name.RC4 has a variable length key and implementations with a short (40-bit) key, such as were built into exportable RSA products before the relaxation of US export controls on cryptography, have been broken by brute force. With longer keys; say 128 bits or greater; RC4 is thought to be completely secure. The only product recommended relying entirely on a stream cipher is Cryptext (main paper, Section 3), which uses RC4 with a 160-bit key.


Where software based on block ciphers is concerned, there is ample choice of good algorithms, including quite a few less common ones which have not been mentioned in this brief summary.

There is no real reason to use simple DES nowadays, with its disadvantages of short key length and lack of speed: with the choice available one may as well have the additional security of, say, a 128-bit key. Triple DES remains a good, if slow and ultra-conservative, option. IDEA, though technically still very sound, is best avoided in general because of the patent issue.

Of the newer 64-bit block ciphers, typically allowing keys of 128 bits or longer, Blowfish has many strengths and is currently many cryptographers' algorithm of choice. CAST-128 appears to be a strong alternative. 128-bit keys provide adequate security now and for some time to come, and these algorithms have the advantage of a longer track record than the new generation of 128-bit block ciphers.

In time the 128-bit ciphers will inevitably take over from the 64-bit ciphers, as the computational power available to attacker's increases and stronger encryption is felt to be necessary to defend against this. Although there is no pressing reason to move onto the latest (AES) generation of algorithms immediately, it is valuable to have implementations readily available so that this step can be taken at any time.

Products containing the stream cipher RC4 may be regarded as secure, provided the key length used is sufficient

Symmetric and asymmetric cryptography overview

Modern cryptographic methods are used a key to control encryption and decryption two classes of key-based encryption and algorithms symmetric (secret-key) symmetric (public-key) asymmetric same key used for encryption a different key is use for encryption and decryption when decryption key cannot be derived from encryption key

Secret-key Symmetric Cryptography

Secret-key cryptography is a mechanism for encryption and decryption of information with a key. The same key is used for both encryption and decryption; that is why this technique is also called symmetric cryptography. The key must obviously be kept secret, for anyone who knows the key can decrypt the message. Key agreement is a method whereby two parties, without prior arrangements, exchange messages in such a way that they agree upon a secret key that is known only to them. Key agreement can be achieved with a public-key algorithm (see below), or with other methods.

Public-key (asymmetric) cryptography

In public-key cryptography systems, different keys are used for encryption and decryption. Keys are always generated in pairs. Message encrypted with one of the keys can only be decrypted with the other one from the same pair. Typically, in a public-key cryptosystem each user has his/her own key pair. One of the keys of the pair is kept secretly (and is called the private key), the other one is widely distributed (the public key). Private messages are encrypted with the recipient's public key, so that only the recipient, who knows the matching key, can decrypt them. The key pairs are generated so that it is not possible to derive the private key from its public counterpart.

Public-key cryptography is much easier to use and more secure than the secret key cryptography, because it does not involve unprotected negotiation of secret keys. However, asymmetric cryptography algorithms are more computationally intensive. To overcome this obstacle, in practice the messages are encrypted with the conventional symmetric algorithms, but the symmetric keys used for that are randomly selected and encrypted using public-key technology. For example, the following steps are usually taken when sending a secret message:

A random symmetric key is generated.

The message is encrypted with that key.

The key is encrypted with the recipient's public key and sent along with the encrypted message.

Strength of asymmetric cryptographic primitives

Asymmetric cryptographic primitives are delivered to require at least twice the block length of symmetric algorithms with corresponding key length future quantum computers factoring and discrete logarithms computations easy asymmetric cryptographic would have to be abandoned