# An Introduction To Encryption And Decryption Computer Science Essay

Published:

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

## CHAPTER 1

This thesis proposes a VHSIC Hardware Description Language (VHDL) design of Encryption and Decryption Algorithm for Data. In this chapter, the challenges of

cryptography is firstly presented. This chapter also briefly discusses the problem definition, scope of work and the thesis objectives are also highlighted.Finally, the chapter end with the chapter organization. The dissertation presentation is provided at the end

## 1.1 An introduction to Encryption and Decryption, a type of cryptography

Encryption and Decryption, a type of cryptography, refers to the process of scrambling information so that the observer cannot be detecting the data.

Cryptographic key is a piece of data used to encrypt or decrypt to plaintext. (Alex Brennen V., 2004) The Crypto, from the word cryptographic mean is it has its origins in the Greek word KRUOTOS, which means hidden. Thus the objective of cryptography is to hide information so that only the intended recipient can read it.[2] . Cryptographic is a protocol or method of performing encryption and decryption (Alex Brennen V., 2004). There are two types of cryptographic: symmetric and asymmetric key. Figure 1.1 is example a symmetric cryptographic has a single key, which is used for both encrypting and decrypting information. Data Encryption and Decryption is a well-known example of symmetric cryptographic. In symmetric cryptographic, public-key cryptographic uses complementary pair of keys to divided the process of encryption and decryption. This process is shown in Figure 1.2. This part is discuss about the symmetric-key cryptographic only.[3]. The proposed projects is to create the algorithms where it is use to convert of information, rearranging the original massage produce output referred as ciphertext

## Plaintext

## Plaintext

## Ciphertext

## Key

Figure 1.1: Symmetric Cryptographic

## Plaintext

## Plaintext

## Ciphertext

## Encryption Key and Decryption Key

Figure 1.2: Public-Key Cryptographic

## 1.2 Problem Statement

At present there are many encryption and decryption, especially in the communication system provided in a variety of application.

Encryption and decryption is particularly impacted in the field of military communications and reliable security data to protection for transmitting.

This ciphertext is used in the military is to send information such as direction, strategy, secret codes and other information that can not be know by the national foe during the war.[4]

Creating this system is the process by which information can not be detect by the national foe. The information can not be recognizing by the national foe because this system is using the process to encrypt data and decrypt data. [4]

## 1.3 Scopes of Work

Based on available software resources, limited time frame and expertise, this research project is narrowed down to the following scope of work:

1. The project is only to design fixed 64-bit input of data block size, 64-bit output of data

block size and 56-bit of key size based on an Encryption and Decryption algorithm

## .

2. The projects is limited to design, to synthesis, to simulate and to verify the

design in Altera Quartus II software.

## Objective

The project are to create a system that can protect electronic data (secret information) which Consist of encryption and decryption process and to fully design an encryption and decryption algorithm using VHDL. The objectives of this project are

To understand how the Encryption and Decryption process.

To fully design an Encryption algorithm and Decryption algorithm using VHDL. Encryption and decryption which support 64-bit input of data block size, 64-bit output of data block size and 56-bit of key size.

To make use Quartus II software as a design and synthesis tool.

## 1.4 Chapter Organization

Chapter 1: This chapter starts with an Introduction which highlights the problems under investigation by describing the status of problem conceptually and theoretically. It contains the introduction of the thesis, problem statement and scope of study, objective of the project, and the chapter organization.

Chapter 2: This chapter is a Literature Review that compiles the studies done by others based on the title of the project. Under the literature review, this chapter discussed on the features need to be include in designing the system.

Chapter 3:. The methodology chapter describes the steps that has been taken while doing the project from the beginning until the end. The main content of the chapter are the flow charts and the description of each step of the process.

Chapter 4: This chapter presents the result of the algorithm and discussion observed. The results obtained are presented as a series of figures, tables, with textual description and discussion. The analysis outcome of the research is also discussed in relation to the evidences obtained from project work and theories reported in Literature Review .

Chapter 5: The chapter is the Conclusion of the thesis and which signalized the whole project a done

## CHAPTER 2

## LITERATURE REVIEW

## 2.0. Overview

This chapter is to introduce the host range of background information and research for this thesis. Most methods have been widely used to determine how the process of encryption and decryption.

Theoretical method is presented using the VHDL. Chooses the VHDL programming for design encryption and decryption because this programming is very direct forward is compare other programming. For example Cadence and C++ programming. Both programming is very complicated.

In this chapter, the Literature review of the research is discussed. The main topics discussed in this chapter are shown below:

Symmetric cryptography

Encryption

Decryption

Operations of Encryption and Decryption

Data Encryption and Decryption

VHDL (VHSIC Hardware Description Language)

## 2.1. Symmetric key cryptography

The symmetric key scheme is the conventional method of cryptography. The scheme uses the similar key to encode and decode in information. In a symmetric key algorithm, in the normal case, the communication only uses only one key. For example if Z user Z sends the secret symmetric key to an X user before the start of the communication between them. Part Z and X use the same symmetric key to encryption and decryption the message. Encryption and Decryption are example of symmetric key algorithm. Figure 2.2 shows the symmetric key cryptography. The symmetric key algorithm is faster than an asymmetric key algorithm. There are two classes of symmetric key cryptography as block ciphers and stream ciphers. [6]

## Plaintext X

## Plaintext Z

## Encryption and Decryption

## Symmetric Key

Figure 2.1: The symmetric key cryptography

## 2.2 Block Cipher

Block cipher is a type of symmetric-key decryption and encryption algorithm. The symmetric-key decryption and encryption that is a fixed length block of plaintext data into block ciphertext data. The block size is 64 bit. The block size can be upgrade to 128 bit, 256 bit or 512 bit if the process becomes advanced. Block ciphers operate on large blocks of data. The encryption and decryption of plaintext with a block cipher will result in the same when the same key is used. From the figure 2.3, it can be seen that show the Block Cipher

## Plaintext

## Plaintext

## Block Cipher Encryption and Block Cipher Decryption

## Symmetric Key

Figure 2.2: Block Cipher

## 2.3 Stream Cipher

Stream cipher is a type of symmetric encryption and decryption algorithm. Stream ciphers much faster than any block cipher. Stream ciphers operate on smaller units of plaintext. The encryption and decryption of plaintext with a stream cipher will result in the same when the same key is used. From the figure 2.3, it can be seen that show the Stream Cipher

## Plaintext

## Plaintext

## Stream Cipher Encryption and Stream Cipher Decryption

## Symmetric Key

Figure 2.2: Stream Cipher

## Advantages of Symmetric Key Cryptography

The main advantages of symmetric key (public key) cryptography are improved security and expediency.

Other major advantages from the symmetric key (public key) are that they can provide a technique for digital signatures. Verification via secret-key system requires a shared secret and sometimes requires trust of a third party.

For example, Kerberos verification system involves a button-secret data center that stores copies of all user secret key. An attack on the database will enable the falsification of the system. Public key verification, on the other hand, prevents of rejection, and each user has a responsibility to protect his private key. [7]

## 2.3 Disadvantages of Symmetric -Key Cryptography

The disadvantage of symmetric cryptography is that it presumes two parties have agreed on a key and been able to exchange that key in a secure manner prior to communication. This is a significant challenge. Symmetric algorithms are usually mixed with public key algorithms to obtain a blend of security and speed.

Disadvantage of using symmetric-key cryptography for encryption and decryption is faster. There are popular secret-key encryption and decryption technique that are considerably faster than any at present available symmetric-key encryption and decryption technique.

However, public-key cryptography can be used by means of secret-key cryptography to obtain the optimum of both worlds. For encryption, the optimum solution is to join together with public-key and secret-key systems in order to obtain both the security advantages of public-key systems and the velocity advantages of secret-key systems. The public-key system can be make use of to encrypt a secret key which is make use of to encrypt the bulk of a information or message.

Public-key cryptography may be vulnerable to impersonation, although, also furthermore if usersââ‚¬â„¢ private keys are not available. A successful assail attack pounce on a certification authority will permit a national foe to impersonate whomever the adversary pick out to by using a public-key certificate from the compromised authority to bind a key of the national foe choice to the name of another user

In some plight, public-key cryptography is not obligatory and secret-key cryptography alone is enough. This belonging to environments where secure secret-key assent can take place, for example by users confluence in private. It also belonging environments where a sole authority knows and manages all the keys. Formerly the authority knows everyoneââ‚¬â„¢s keys already there is not much excess for some to be public and others private. And yet, public-key cryptography is normally not obligatory in a single-user environment. Example, if want to keep personal message or information encrypted, can do so with any secret-key encryption algorithm using personal password as the secret key. Furthermore, public-key cryptography is optimum equivalent for an open multi-user environment. Public-key cryptography is not intention to substitute secret-key cryptography, but nevertheless to complementary it, to make it more safety [8]

## 2.4 Encryption

Encryption is a form of cryptography that to change the plaintext into ciphertext. A cipher is a algorithms for the encryption. Encryption is the principle of such security step as digital signatures, digital certificates, and the public key infrastructure. Computer-based encryption method use keys to encrypt and decrypt information. A key is in binary number. The key is one part of the encryption process. It must be used in connection with an encryption algorithm to generate the cipher text. Encryption is the symmetric or asymmetric. Ciphers were repeatedly used directly for Encryption without supplement procedures such as ratification. The extremely used kind of encryption is symmetric Encryption, which is aptly named for the reason that it uses one key for both the encryption and decryption system [9]

## 2.5 Decryption

Decryption is the opposite or moving from the ciphertext back to the plaintext. A cipher is a algorithms for the decryption. The specification operation of a cipher is to manage with both by the algorithm and in each example by a key. Decryption is the symmetric or asymmetric. Ciphers were repeatedly used directly for decryption without supplement procedures such as ratification. The extremely used kind of decryption is symmetric decryption, which is aptly named for the reason that it uses one key for both the encryption and decryption system [10].

## 2.6 Operations of Encryption and Decryption

An encryption and decryption scheme consists of three Standard algorithms:

A Key Generation Algorithm. For a symmetric key, this is often an algorithm that simply picks a random key of a certain length. The symmetric key scheme is the conventional method of cryptography. The scheme uses the similar key to encode and decode in information.

An Encryption Algorithm. This takes as input a message (or plaintext) and some kind of key, and outputs a ciphertext. Encryption is to change the plaintext into ciphertext

A decryption algorithm. This takes as input a ciphertext and some kind of key, and outputs a message.Decryption is to change the ciphertext back to the plaintext

## 2.7 Data Encryption and Decryption

This system works by encrypting and decrypting groups of only 64 message bits, which is the same as 16 hexadecimal number. To do the encryption and decryption, this system uses symmetric keys where are also apparently 16 hexadecimal number long, or 64 bits long. However, every 8th key bit is ignored in this algorithm, so that the effective key size is 56 bits. But, in any case, 64 bits (16 hexadecimal digits) is the round number upon which Encryption and Decryption is organized.

The process is explain in Figure 1.2, it can be seen that the process of encrypt and decrypt, if take the plaintext message is "2872762F771B15E8", and encrypt it with the key "0000000000000001", the ciphertext produced "1234567890987654". If the ciphertext is decrypted with the same secret key "0000000000000001", the result is the original plaintext "2872762F771B15E8".

## Input data

## 2872762F771B15E8

## Key

## Encryption

## Ciphertext

## 123345678890987654

## Key

## Decryption Key

## Original input

## 2872762F771B15E8

Figure 1.2: Simple Block Diagram Process Encryption and Decryption using Feistel Algorithm

## 2.4 VHDL History (VHSIC Hardware Description Language)

In order to complete the design, the VHDL is one of the most important tools used. Device description language VHDL is a great acronym stands for the Very High Speed Integrated Circuit Hardware Description language. It was originally developed on the orders of the U.S Department of Defense. They need a more efficient way to document the behavior of the ASIC design service companies were present.[11,12] It was developed as an alternative to the huge, highly complex manuals that were the norm. The idea to simulate such a description was immediately an attractive prospect and logic simulators were developed could take a VHDL description as input. From here synthesis to the hardware level became a focus of study and still is. Current state-of the- art synthesis tools can create hardware for a large subset of the VHDL language and should at least support the synthesizable subset in IEEE1076.6-1999. The syntax of VHDL was derived from Ada, with constructs added to handle the parallelism that appears in hardware designs. The language is strongly typed and case insensitive. [13,14] The initial version of the language that was presented in the IEEE standard 1076-1987 was somewhat limited and a new version appeared in 1993 in IEEE standard 1079-1993, which improved the consistency of the language. There have been various reviews and updates to the standard of the languages since, but the 1993 version is the most prominent and widely used. Both versions of the language ignored the need for a multi-valued logic

type which is where the IEEE standard 1164 comes in.[15] This standard defines a 9-valued logic type called standard logic. This has become the standard type to use for multi-valued logic in VHDL descriptions. The language has been further extended in a series of libraries. One such library is the numeric std library which implements a signed and unsigned type. These types allow for arithmetic to be performed on arbitrarily sized logic vectors. [16]

## 2.4 VHDL (VHSIC Hardware Description Language)

In order to complete the design, the VHDL is one of the most important tools used. Device description language VHDL is a great acronym stands for the Very High Speed Integrated Circuit Hardware Description language. It was originally developed on the orders of the Department of Defense. They need a more efficient way to document the behavior of the ASIC design service companies were present.[ represented 11,12]

VHDL (VHSIC Hardware Description Language) was originally adopted by the U.S Department of Defense.

The initial version of VHDL, designed to IEEE standard 1076-1987, included a wide range of data types, including numerical (integer and real), logical (bit and boolean), character and time, plus arrays of bit called bit_vector and of character called string.

[16]

[1] Laura E.Hunter,Brian Barber,Melissa Craft,Norris L.Johnson Jr,Jeffery A

Martin,Tony Piltzecker. MCSE. Implementing PKI in a Window Server 2003 Network.Chapter 4.Page 185

[2] Mohan Krishnamurthy, Eric S.Seagren, Raven Alder, Aaron W.Bayles, Josh

Burke, Skip Carter Eli Faskha How to Cheat at Securing Linux.page:250

[3] Dr.Everett F.Carter jr,Jeremy Faircloth,Curtis Franklin jr,Larry Loeb,

Hack Proofing XML Page:193

[4] The Point Of Encryption By Dr.Colin Walter,Available at

http://www.securitydocs.com/pdf/3301/PDF

[5] Aram Khalili, Department of Computer Science, University of Maryland.

Available at http://www.cs.umd.edu/~waa/414-F01/symmetric.pdf

[6] D. Richard Kuhn ,Vincent C. Hu ,W. Timothy Polk, Shu-Jen Chang ,National

Institute of Standards and Technology Introduction to Public Key

Technology and the Federal PKI Infrastructure

[6.5] Contributed by LE Webmaster Kerberos Authentication System

Available at http://www.linuxexposed.com/index2.php?

option=com_content&do_pdf

[7]. Advantaged of Public-Key Cryptography ,Available at

http://users.hack.gr/dij/crypto/overview/publickey.html

[8] Disadvantages of Public-Key Cryptography ,Available at

http://x5.net/faqs/crypto/q4.html

[9] Manuel Mogollon University Of Dallas USA.Cryptography and Security services.

Page: 51

[10] Mohan Krishnamurthy, Eric S.Seagren,Raven Alder, Aaron W.Bayles,Josh

Burke,Skip Carter Eli Faskha How To Cheat at Securing Linux .page:251

[11]. Copyright ÂÂ© 1999 by John F. Wakerly`` Combinational Logic Design

Principles,The VHDL Hardware Design Language. Page :1-35.

[12] Deepak Jain . `` Object Oriented Programming Constructs' in VHSIC

Hardware Description Language``, Delhi Institute of Advanced Studies

[13] Institute of Electrical and Electronics Engineers, IEEE 1076-1987: IEEE Standard

VHDL Language Reference Manual, 1987

[14] Institute of Electrical and Electronics Engineers, IEEE Std 1076.6-1999: IEEE

Standard for VHDL Register Transfer Level (RTL) synthesis, 1999.

[15] Institute of Electrical and Electronics Engineers, IEEE 1076-1993: IEEE

Standard VHDL Language Reference Manual, 1993.

[16] E.P.M. van Diggele.`` Translation of SystemC to Synthesizable VHDL``, MSc

Thesis, Delft University of Technology.