Investigating the optimal algorithms of robust cryptography for implementation on FPGA

Number of pages: 142 File Format: word File Code: 31344
Year: 2014 University Degree: Master's degree Category: Electrical Engineering
  • Part of the Content
  • Contents & Resources
  • Summary of Investigating the optimal algorithms of robust cryptography for implementation on FPGA

    Dissertation for Master's Degree (M.Sc)

    Electrical Engineering - Electronics Orientation

    Abstract

    Shash function is a type of abstracting function that is used in all encryption designs and security protocols to generate random numbers and password storage mechanism for authentication and digital signature in the digital world.

    National Institute of Standards and Technology, He started a competition to improve common abstract generator algorithms. The abstract generator algorithms sent to this competition were named SHA-3, including 5 resistant algorithms that were able to reach the final round of the competition. On the other hand, the JH algorithm was introduced as the second algorithm of the competition in the final round. Therefore, the purpose of this thesis was to investigate the JH abstract generator algorithm in order to implement it on FPGA. In this algorithm, the observations obtained do not include false sources. These simulations show to what extent the performance of the JH abstract generator algorithm has been able to be simulated and synthesized on FPGA.

    Keywords: encryption, abstract generator function, Cryptographic, Algorithm Hash Function.]

    Chapter 1- An overview of the basic concepts of cryptography

    1-1-Introduction

    Today, security is of great importance and is widely used in the economic and commercial environment. The types of solutions presented so far are of the type of data security. There are several reasons for data protection in any place and time, but in the real world, dealing with multiple cases of information theft and the possibility of passing required tests and audits has always been a concern for information security and encryption [1]. For this reason, various types of passwords are used for data to ensure data security in communication [1].

    1-3- Types of attacks

    1-3-1-            Changing information

    In this type of active attack, information is attacked during transmission to the destination and the integrity of the data is lost. Upon receiving the information, the attacker modifies it or replaces it with other information. The destination also does not recognize this issue and uses the data. To prevent this type of attack, abstractor functions [1] are used [1].

    1-3-2-              Impersonation

    In this type of active attack, the attacker introduces himself as an authorized user to local systems and thus uses various local network services. Digital signatures are used to prevent these types of attacks and provide authentication of users and software. In this way, attackers prevent an institution from providing services. It is easy to set up this type of attack and it is often done using impersonation methods and sending large amounts of Internet Protocol systems [2]. These attacks are called DOS for short [3]; and are part of active attacks. These attacks can be reduced by using a firewall [1].

    1-3-3-           Eavesdropping

       In this type of passive attack [4], the information is not changed, but their confidentiality is lost. If you want to send information in plain text and not encrypted to remote systems, then this information may be received by unauthorized persons. Extortion of information may be done in different places such as local networks, data transfer switches or the Internet. Now there are different software to get different information from the local network and viruses and attackers can also get the information transferred on a public network. To avoid this security problem, symmetric and asymmetric data encryption techniques are used [1].

    1-4- Data encryption

    Encryption is a process during which data is changed from its normal form and becomes almost impossible to read without having the necessary information (decryption); Therefore, in this method, by encrypting the data, unauthorized people are prevented from accessing the data and data confidentiality is obtained. In this method, encryption is done at the origin and then encrypted data is sent to the destination. An attacker who eavesdrops and receives data packets in transit over the network obtains encrypted data.An attacker who eavesdrops and receives data packets in transit over the network obtains encrypted data that is unusable to him. The recipient of the data at the destination also receives the encrypted data, but because he has the data decoding information, he can decode and use the data. There are two methods for data encryption, symmetric and asymmetric. The idea of ??symmetric encryption has existed for years and is not a new problem, but asymmetric encryption uses mathematical principles and complex algorithms and is considered a new method in data encryption [1]. It is also used to perform encryption operations using a common and secret key between the sender and the receiver. In this method, the data is encrypted at the source with a shared key and sent to the destination, and the data is decrypted with the shared key at the destination. In symmetric encryption, it is assumed that the attacker is aware of the encryption algorithm and relies only on the confidentiality of the shared encryption key. In general, the longer the key length, the more time it takes to break the data and the more security is obtained. Considering the current processing power, choosing more keys than 128 bits seems appropriate. Also, cryptographic keys should be changed after some time of use and new keys should be randomly selected even if possible to achieve maximum security. Symmetric encryption algorithms are divided into 2 categories: block algorithms [5] and stream algorithms, and data is encrypted or decrypted bit by bit. Stream algorithms are faster than block algorithms. Algorithms such as [6] DES are block and algorithms such as RCCL are streams, although it should be noted that symmetric encryption also provides authentication. If an encrypted data is received, according to the key used, the identity of the person sending the data can be confirmed because these keys are assumed to be confidential. Symmetric encryption has good efficiency and provides little delay in data encryption and decryption operations; Therefore, it can be used to encrypt a large amount of data. This type of encryption is widely used in wireless security protocols. Algorithm 3DES, DES, IDEA [7], RC4 [8], etc. are symmetric algorithms [1].

    1-6- Asymmetric encryption of data

    Asymmetric encryption or public key encryption is the biggest and perhaps the only revolution in the history of encryption. In this algorithm, instead of permuting and replacing data, mathematical functions are used, and instead of a shared secret key, a public key and a private key are created, and the public key is available to everyone and the private key is available only to the user. For private key confidentiality, a password to access the private key database is considered. The concept of public key cryptography was created after trying to solve the two problems of key distribution in a secure way and digital signature, and it has the following two important and basic characteristics. 1- It is computationally impossible to calculate the decryption key from the encryption key. 2- Both public and private keys can be used for encryption. Of course, another key must be used for decryption. In this encryption method, first the public key of the destination is provided in a valid way and then the data is encrypted and sent to it by the public key of the destination. The attacker between the origin and destination path can easily obtain the public key of the destination, but with this key, he will not be able to decrypt the data. At the destination, the data is decrypted and used by the private key. Of course, the reverse of this method does not create data confidentiality because if the data is first encrypted by the private key and then transferred because everyone knows the public key; Therefore, everyone can decrypt the encrypted data and the confidentiality of the data is lost. A digital certificate can be used to obtain the public key in an authentic way. Compared to symmetric encryption, this method uses complex and time-consuming calculations and is therefore not used to encrypt a large amount of data. Often this type of encryption uses symmetric encryption keys to send small amounts of data. The most common algorithm for encryption is the public key RSA algorithm [1].

  • Contents & References of Investigating the optimal algorithms of robust cryptography for implementation on FPGA

    List:

    Dedicated to:

     

    Holy presence of the rest of God Almighty, Imam of Time, Ruhi Leh Al-Fida

    Dedicated to:

     

    My dear wife and child who sacrificed their peace for my peace

    Thank you and Acknowledgment

     

    Here, I consider it necessary to express my gratitude to my honorable teacher, Mrs. Dr. Rahbeh Niarki. Like a caring sister, she gave me special favor and guidance during my studies and on the way to my dissertation. I am also grateful for the valuable advice of Dr. Siavash Aminnejad.

    Affidavit of originality of the thesis or thesis

    I am Bahram Sharifi Marjqal, a graduate of the continuous master's degree in electrical and electronics engineering, who on 6/24/93 from his thesis entitled "Investigation of optimal algorithms for robust encryption for implementation on FPGA" with a score of 17 and grade. I have defended and hereby undertake: 1) This thesis is the result of research and research conducted by me, and in cases where I have used the scientific and research achievements of others (such as theses, books, articles, etc.), according to the existing procedures, I have mentioned and included the name of the source used and its other details in the relevant list. Universities and institutions of higher education are not provided.

    3) If after graduation, I intend to use and exploit this thesis in any way, including publishing books, patenting, etc. I will obtain the relevant permits from the department of research vice-chancellor of the unit.

    4) If at any point in time it is proven to be contrary to the above, I accept the consequences and the university unit is allowed to treat me according to the rules and regulations and I will not have any claims in case of the cancellation of my academic degree.

    Name and surname: Bahram Sharifi Marjqol

    .

    Date and Expiration

     

     

     

     

     

     

     

    Table of Contents

     

     

    Title H

    List of figures L

    List of tables C

    Abstract 1

    Chapter 1- An overview of the basic concepts of cryptography. 3

    1-1- Introduction 3

    1-2- Necessity of network security. 3

    1-3- Types of attacks. 3

    1-3-1- Changing information 3

    1-3-2- Impersonation 4

    1-3-3- Eavesdropping 4

    1-4- Data encryption 4

    1-5- Symmetric data encryption 5

    1-6- Asymmetric data encryption 6

    1-7- Digital signature. 7

    1-8- Abstract generator function. 7

    1-9- The general characteristics of abstract generator functions. 7

    1-10- Classification of abstract generator functions. 8

    1-11- Features of abstract generator functions. 8

    1-12- Classification of abstractor functions in terms of application: 8

    1-13- Properties of one-way abstractor functions. 10

    1-14- Important abstract generator functions. 11

    1-15- hash security or abstract generator function. 12

    Chapter 2- Introducing the final algorithm of the competition. 15

    Introduction    15

    2-1-   History 15

    2-2-   Status of the second round of SHA-3 competition. 16

    2-3-  Review and evaluation of abstract generator algorithms of the semi-final round of the SHA-3 competition. 17

    2-4- Review of the BLAKE abstract generator algorithm. 17

    2-4-1- BLAKE features. 18

    2-4-2- The structure of the BLAKE generator abstract function. 18

    2-4-3- Result: 19

    2-5- Review of Skein abstract generator algorithm. 19

    2-5-1- Skein features. 20

    2-5-2- Structure of abstract generator function. 21

    2-5-3- Result. 21

    2-6- Review of Keccak abstract maker. 21

    2-6-1- Features of Keccak. 22

    2-6-2- The structure of the abstract generator function. 23

    2-6-3- Result. 25

    2-7- Review of the Grostl abstract generator algorithm25

    2-7- Review of the Grostl abstract generator algorithm 25

    2-7-1- The structure of the abstract generator function. 25

    2-7-2- The structure of the Grostl compressor function 25

    2-7-3-   Result. 28

    2-8- Review of JH's abstract generator algorithm. 28

    2-8-1- Introduction of JH algorithm. 28

    2-8-2- JH compressor function structure. 28

    2-8-3- JH security analysis. 29

    2-8-4-   Advantage JH 30

    2-8-5-   Result. 30

    2-9- Conclusion. 30

    2-10- The reasons for choosing the JH algorithm and its evaluation. 31

    Chapter 3- JH Algorithm. 33

    Introduction 33

    3-1- Introduction of JH abstract generator algorithm. 33

    3-2- Mathematical symbol and parameters used in JH abstract generator function. 37

    3-3- S-box layer JH abstract generator function. 38

    3-4- Linear transformation of L layer. 39

    3-5- Pd substitution. 40

    3-6- Permutation of ??d. 40

    3-7- Permutation of P´d. 41

    3-8- Permutation. 41

    3-9- Pd permutation relation. 41

    3-10- Round function Rd. 42

    3-11- Grouping. 43

    3-12- Grouping and De-grouping to calculate rotation: 43

    3-13- Fixed rotation on Ed function. 45

    3-14- Structure of Fd compressor function. 45

    3-15- Overview of FPGA. 47

    3-15-1- Different design methods using FPGA. 49

    3-15-2- The different stages of an FPGA project are as follows. 51

    3-15-3- A look at the architecture of today's FPGAs. 51

    3-15-4- logical cells. 51

    3-15-5- Sources of internal connections. 52

    3-15-6- Memory resources 52

    3-15-7- Conclusion 53

    Chapter 4- Simulation and synthesis. 55

    Introduction: 55

    4-1- The architecture used in the JH simulator. 55

    4-1-1- Analyzing the general shape of the main design. 56

    4-1-2- Block architecture for 42 rounds. 58

    4-1-3- State machine (FINITE STATE MACHINE) 59

    4-2- Review of simulation algorithm for JH-224 bit. 61

    4-2-1- Block (Data unit) Top module. 61

    4-2-2- Control unit circuit block 62

    4-2-3- Control circuit 63

    4-2-4- State circuit and FSM Controller block 64

    4-2-5- Input and output i/o interface. 67

    4-2-6- Connection between input and output circuit. 68

    4-3- ISE emulator program. 69

    4-3-1- Implementation simulator program. 69

    Step by step of each block is shown. 69

    4-3-2- Simulatior program 72

    4-4- Conclusion. 89

    Chapter 5 - Conclusion and suggestions 91

    References 94

    Appendix 1: VHDL codes. 98

    Appendix 2: Persian to English dictionary. 127

    Appendix 3: English to Persian dictionary. 129

    Abstract 130

    Source:

    References

    [1] Zakir al-Hosseini, Ali. 1387. Data security.  Tehran: Scientific and Cultural Institute - text

    [2] Sheikh Zadegan, Javad. 2019. Introductory cryptology. Tehran: Cultural and Artistic Institute of Signal Processing [3] http://www.isc.org.ir/ShowPage.asp/monadi

    [4] The Second Cryptographic Hash Workshop, August 24-25, 2006, Santa Barbara, CA, http://csrc.nist.gov/groups/ST/hash/second_workshop.html

    [5] Announcing the Development of New Hash Algorithm(s) for the Revision of Federal Information Processing Standard (FIPS) 180–2, Secure Hash Standard, Federal Register / Vol. 72, No. 14 / Tuesday, January 23, 2007 / Notices 2861, http://csrc.nist.gov/groups/ST/hash/documents/FR_Notice_Jan07.pdf [6] http://csrc.nist.gov/groups/ST/hash/sha-3/Round2/submissions_rnd2.html

    WWW.nist.gov/hash-competition

    [7] Bos. J.W., Stefan. D, March 2010, "Performance Analysis of the SHA-3 Candidates on Exotic Multi-Core Architectures", Cryptographic Hardware and Embedded Systems, vol. 6225 of LNCS, pp. 279-293 Springer, www.springerlink.com/content/9p48014n967455r7// http:

     

    [8] Aumasson

Investigating the optimal algorithms of robust cryptography for implementation on FPGA