The Goals Of Cryptography And The Mechanisms 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.

Cryptography is Cryptography is a method of storing and transmitting data in a form that only those it is intended for can read and process. It is considered a science of protecting information by encoding it into an unreadable format. Cryptography is an effective way of protecting sensitive information as it is stored on media or transmitted through un trusted network communication paths. It encompasses many problems (encryption, authentication, key distribution to name a few). The field of modern cryptography provides a theoretical foundation based on which we may understand what exactly these problems are, how to evaluate protocols that purport to solve them, and how to build protocols in whose security we can have coincidence.

One of the goals of cryptography, and the mechanisms that make it up, is to hide information from unauthorized individuals. However, with enough time resources, and motivation, hackers can break most algorithms and reveal the encoded information. So a more realistic goal of cryptography is to make obtaining the information too work-intensive or time-consuming to be worthwhile to the attacker.

The first encryption methods date back to 4000 years ago and were considered more of an art form. Encryption was later adapted as a tool to use in warfare, commerce, government, and other arenas in which secrets needed to be safeguarded. With the relatively recent birth of the Internet, encryption has gained new prominence as a vital tool in everyday transactions. Throughout history, individuals and governments have worked to protect communication by encrypting it. As a result, the encryption algorithms and the devices that use them have increased in complexity, new methods and algorithms have been continually introduced, and encryption has become an integrated part of the computing world.

Cryptography has had an interesting history and has undergone many changes down through the centuries. Keeping secrets has proven very important to the workings of civilization. It gives individuals and groups the ability to hide their true intentions, gain a competitive edge, and reduce vulnerability, among other things.

The changes that cryptography has undergone closely follow advances in technology. The earliest cryptography methods involved a person carving messages into wood or stone, which was then delivered to the intended individual who had the necessary means to decipher the messages. Cryptography has come a long way since then. Now it is inserted into streams of binary code that pass over network wires, Internet communication paths, and airwaves.


To critically evaluate and analyse the cryptographic protocols that can be implemented to secure a system. The report concerns the network that was provided in the case study. The primary purpose of this report is to provide a clear and elaborate description about the most efficient and functional security protocol to two different types of communication modules. The network is basically inclined towards the critical analysis of the algorithms provided by Ronald Regan Rivest to secure the communication modules.


The report is about a clear understanding about how to secure and protect a network. The network here is primarily been divided into two segments. Wired and Wireless; a wired network, i.e. a network connected using Ethernet on LAN basically connected using ADSL modems, Cable/DSL routers, hubs, dial modems, PBX management consoles etc, coming to the wireless networks, the connectivity ranges from Wireless access points to USB wireless adaptors.

The understanding of Ronald. Rivest's work on the security of these networks are of immense interest. The functionality of the algorithms provided by him is important factor to be considered in this report. There have been several developments or modification in the basic security modules of these networks. The understanding of such developments is also covered in this paper. The comparison between the works of Ron's algorithms and the algorithms that have been out in the market is general structure of the analysis.

Wired Communication:

Wired Communication refers to the transmission of data over a wire-based communication technology. Examples include telephone networks, cable television or internet access, and fiber-optic communication. Also waveguide (electromagnetism), used for high-power applications, is considered as wired line. The most common method of communicating on a wired network is done using Fiber-optic cables. It transmits information from one place to another by sending pulses of light through an optical fiber. There have been several developments after the Fiber Optic cable like the RJ 45, USB, Firewire, and so on.

With the advent of such several methodologies of communication it become imperative to have some secure methodology of communication to maximise efficiency. The network supervisor believes that the security provided by the algorithms of Ron Rivest is appropriate to handle the present security threats, so let's have a look at what she means..

Ron Rivest has made several algorithms that are being used even now to secure many networks. He has worked on several security algorithms and have them published worldwide. The algorithm used for wired communication is primarily the RC2 algorithm.

In the late 1980's the "Rivest Cipher," or RC2 encryption algorithm was developed. Developed by Ron Rivest, the RC2 block cipher algorithm uses a 64 bit block size and variable key length. RC2 uses a source-heavy Feistel network with 16 rounds of mixing and 2 rounds of mashing. RC2 was originally created for use by Lotus in their Lotus Notes messaging software.

Algorithm description

We use the term "word" to denote a 16-bit quantity. The symbol + will denote twos-complement addition. The symbol & will denote the bitwise "and" operation. The term XOR will denote the bitwise "exclusive-or" operation. The symbol ~ will denote bitwise complement. The symbol ^ will denote the exponentiation operation. The term MOD will denote the module operation.

There are three separate algorithms involved:

Key expansion. This takes a (variable-length) input key and produces an expanded key consisting of 64 words K[0], ..., K[63]. Encryption. This takes a 64-bit input quantity stored in words R[0], ..., R[3] and encrypts it "in place" (the result is left in R[0], ..., R[3]).

Decryption: The inverse operation to encryption.

2. Key expansion

Since we will be dealing with eight-bit byte operations as well as 16-bit word operations, we will use two alternative notations for referring to the key buffer: For word operations, we will refer to the positions of the buffer as K[0], ..., K[63]; each K[i] is a 16-bit word.

For byte operations, we will refer to the key buffer as L[0], ..., L[127]; each L[i] is an eight-bit byte. These are alternative views of the same data buffer. At all times it will be true that K[i] = L[2*i] + 256*L[2*i+1]. (Note that the low-order byte of each K word is given before the high-order byte.) We will assume that exactly T bytes of key are supplied, for some T in the range 1 <= T <= 128. (Our current implementation uses T = 8.) However, regardless of T, the algorithm has a maximum effective key length in bits, denoted T1. That is, the search space is 2^(8*T), or 2^T1, whichever is smaller. The purpose of the key-expansion algorithm is to modify the key buffer so that each bit of the expanded key depends in a complicated way on every bit of the supplied input key.

3. Encryption algorithm

The encryption operation is defined in terms of primitive "mix" and "mash" operations. Here the expression "x rol k" denotes the 16-bit word x rotated left by k bits, with the bits shifted out the top end entering the bottom end.

3.1 Mix up R[i]

The primitive "Mix up R[i]" operation is defined as follows, where s[0] is 1, s[1] is 2, s[2] is 3, and s[3] is 5, and where the indices of the array R are always to be considered "modulo

4," so that R[i-1] refers to R[3] if i is 0 (these values a "wrapped around" so that R always has a subscript in the range 0 to 3 inclusive):

R[i] = R[i] + K[j] + (R[i-1] & R[i-2]) + ((~R[i-1]) & R[i-3]);

j = j + 1;

R[i] = R[i] rol s[i];

In words: The next key word K[j] is added to R[i], and j is advanced. Then R[i-1] is used to create a "composite" word which is added to R[i]. The composite word is identical with R[i-2] in those positions where R[i-1] is one, and identical to R[i-3] in those positions where R[i-1] is zero. Then R[i] is rotated left by s[i] bits (bits rotated out the left end of R[i] are brought back in at the right). Here j is a "global" variable so that K[j] is always the first key word in the expanded key which has not yet been used in a "mix" operation.

3.2 Mixing round

A "mixing round" consists of the following operations:

Mix up R[0]

Mix up R[1]

Mix up R[2]

Mix up R[3]

3.3 Mash R[i]

The primitive "Mash R[i]" operation is defined as follows (using the previous conventions regarding subscripts for R):

R[i] = R[i] + K[R[i-1] & 63];

In words: R[i] is "mashed" by adding to it one of the words of the expanded key. The key word to be used is determined by looking at the low-order six bits of R[i-1], and using that as an index into the key array K.

3.4 Mashing round

A "mashing round" consists of:

Mash R[0]

Mash R[1]

Mash R[2]

Mash R[3]

3.5 Encryption operation

The entire encryption operation can now be described as follows. Here j is a global integer variable which is affected by the mixing operations.

1. Initialize words R[0], ..., R[3] to contain the 64-bit input value.

2. Expand the key, so that words K[0], ..., K[63] become defined.

3. Initialize j to zero.

4. Perform five mixing rounds.

5. Perform one mashing round.

6. Perform six mixing rounds.

7. Perform one mashing round.

8. Perform five mixing rounds.

Note that each mixing round uses four key words, and that there are 16 mixing rounds altogether, so that each key word is used exactly once in a mixing round. The mashing rounds will refer to up to eight of the key words in a data-dependent manner. (There may be repetitions, and the actual set of words referred to will vary from encryption to encryption.)


Wireless communication:

Wireless communications is, by far is the fastest growing segment of the communications industry. In addition, wireless local area networks currently supplement or replace wired networks in many homes, businesses, and campuses. Many new applications, including wireless sensor networks, automated highways and factories, smart homes and appliances, and remote telemedicine, are emerging from research ideas to concrete systems.

Wireless security can be broken into two parts: Authentication and encryption. Authentication mechanisms can be used to identify a wireless client to an access point and vice-versa, while encryption mechanisms ensure that it is not possible to intercept and decode data. The latest protocols to secure a wireless networks are several, they range from AES( Advanced Encryption Standard), WEP (Wired Equivalent Privacy) WPA (Wi-Fi Protected Access (802.11)) WPA-PSK (WiFi Protected Acess Pre-Shared Key) etc.

Ron Rivest has extensively worked on the security protocols for wireless communication and has developed several algorithms for them, they are RC4, RC5 and the latest RC6. It has undergone several developments since it birth.

The network supervisor also feels that the security provided by Ron Rivest in wireless communication module is apt enough to handle the security threats present this day, but this is incorrect as the RC4 and RC5 algorithms have already been cracked and are not really appropriate to suit the present scenario. This can be elaborated by a critical analysis of Ron Rivest's work in this area and the present algorithms out in the market.

Ron's Cipher 4

RC4 is recognized as the most commonly utilized stream cipher in the world of cryptography. It is also acknowledged with two other names such as the ARC4 and ARCFOUR, which means Alleged RC4This is a shared key stream cipher algorithm which requires a secure exchange of a shared key which is outside the specification of the RC4algorithm. The RC4 algorithm is used identically for encryption and decryption as the data stream is simply XORed with the generated key sequence. The algorithm is serial as it requires successive exchanges of state entries based on the key sequence. Hence implementations can be very computationally intensive. This algorithm has been released to the public and is implemented by many programmers. This encryption algorithm is used by standards such as IEEE 802.11 within WEP (Wireless Encryption Protocol) using a 40 and 128-bit keys. RC4 has a use in both encryption and decryption while the data stream undergoes XOR together with a series of generated keys. It takes in keys of random lengths and this is known as a producer of pseudo arbitrary numbers. The output is then XORed together with the stream of data in order to generate a newly-encrypted data. Hence, a particular RC4 key should never be utilized again when encrypting two other data streams. The striking characteristics which made RC4 popular among the many web enthusiasts are its rate in the software as well as its simplicity. However, RC4 also has its own weak points just like any other entities in this kind of technology. According to the experts, RC4 encryption is at risk particularly when the starting point of an output keystream is either not redundant, nonrandom, or when the related keys are in use. Vulnerability also shows when an individual keystream has been utilized more than once. In addition, there are certain processes that can lead to an unprotected cryptosystems when making use of the RC4 and one of which is WEP.

Secure Sockets Layer is just one of the many accepted protocols that utilize the RC4 encryption for the purpose of ensuring a well-safeguarded Internet traffic. Another protocol that makes use of RC4 is WEP and its main reason for using this encryption is to guarantee safe wireless networks.

The above block diagram provides a clear idea about the encryption procedure of the RC4 algorithm, the decryption obviously is the inverse of the encryption protocol. The algorithm has its advantages and disadvantages that make it a tentative choice for a security option.

The best security option, (better than RC4) now for wireless security is provided by AES (Advanced Encryption Standard).

What is AES?

AES is short for Advanced Encryption Standard. AES is the most recent of the four current algorithms approved for federal us in the United States.. AES is a symmetric encryption algorithm processing data in block of 128 bits. A bit can take the values zero and one, in effect a binary digit with two possible values as opposed to decimal digits, which can take one of 10 values. Under the influence of a key, a 128-bit block is encrypted by transforming it in a unique way into a new block of the same size. AES is symmetric since the same key is used for encryption and the reverse transformation, decryption. The only secret necessary to keep for security is the key. AES may configured to use different key-lengths, the standard defines 3 lengths and the resulting algorithms are named AES-128, AES-192 and AES-256 respectively to indicate the length in bits of the key. Each additional bit in the key effectively doubles the strength of the algorithm, when defined as the time necessary for an attacker to stage a brute force attack, i.e. an exhaustive search of all possible key combinations in order to find the right one