[go: up one dir, main page]

KR20130125000A - Apparatus and method for implementation of aes encryption using shared pipeline - Google Patents

Apparatus and method for implementation of aes encryption using shared pipeline Download PDF

Info

Publication number
KR20130125000A
KR20130125000A KR1020120048345A KR20120048345A KR20130125000A KR 20130125000 A KR20130125000 A KR 20130125000A KR 1020120048345 A KR1020120048345 A KR 1020120048345A KR 20120048345 A KR20120048345 A KR 20120048345A KR 20130125000 A KR20130125000 A KR 20130125000A
Authority
KR
South Korea
Prior art keywords
round
hardware
pipeline
aes encryption
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
KR1020120048345A
Other languages
Korean (ko)
Inventor
이후성
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020120048345A priority Critical patent/KR20130125000A/en
Publication of KR20130125000A publication Critical patent/KR20130125000A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 파이프라인을 공유하는 AES 암호화 구현 방법 및 그 장치에 관한 것으로, AES 암호화 구현 방법은 처리속도, 구동 주파수 또는 하드웨어의 크기 등의 하드웨어 요구사항을 고려해서 고속 무선랜 암호화 하드웨어 구성시 여러 개의 하드웨어를 사용하여 각 단계별로 다른 데이터를 처리하는 파이프라인 구조와, 하나의 하드웨어를 공통으로 사용하여 데이터를 처리하는 공유 구조를 혼합 사용하여 하드웨어 로직 사이즈를 줄이면서도 고속 데이터 처리가 가능한 효율적인 암호화 하드웨어 설계한다.The present invention relates to an AES encryption implementation method and apparatus therefor sharing a pipeline. The AES encryption implementation method includes a plurality of high-speed WLAN encryption hardware in consideration of hardware requirements such as processing speed, driving frequency, or hardware size. Efficient cryptographic hardware design that enables high-speed data processing while reducing hardware logic size by using a mixture of a pipeline structure that uses hardware to process different data at each stage, and a shared structure that processes data by using one hardware in common do.

Description

파이프라인을 공유하는 AES 암호화 구현 방법 및 그 장치{Apparatus and method for implementation of AES encryption using shared pipeline}Apparatus and method for implementation of AES encryption using shared pipeline}

본 발명은 초고속 무선랜 시스템의 보안기능 제공을 위해 사용되는 GCM(Galois/Counter Mode) 암호화 방법의 근간기술인 AES(Advanced Encryption Standard)의 구현 기술 및 그 장치에 관한 것이다.
The present invention relates to an implementation technology and a device of AES (Advanced Encryption Standard), which is a fundamental technology of a GCM (Galois / Counter Mode) encryption method used to provide a security function of a high-speed WLAN system.

현재 보편적으로 사용되는 무선랜은 2.4GHz대역을 사용하며 최고속도는 150Mbps를 제공한다. 초창기 무선랜이 11MHz를 제공하던 것에 비해 비약적인 발전을 해 왔지만, IT기술이 발전하면서 네트워크를 통해 주고 받는 데이터 량도 기하급수적으로 증가하고 있다. 사용상의 편리성으로 인해 무선랜의 사용이 보편화되면서 2.4GHz 대역은 포화상태에 이르고, 클라우드 컴퓨팅, 동영상 데이터 전송 등 네트워크 사용량이 많아지면서 무선랜을 통해 전송되는 데이터량이 증가하고, 대용량 데이터를 전송하기 위해서 요구되는 전송속도도 증가하고 있다. 또한 네트워크로 전송되는 개인정보의 양도 증가하면서 보안에 대한 중요성도 날로 커지고 있다. 이로 인해 강력한 보안과 초고속 데이터 통신을 지원하는 새로운 무선랜 표준이 새로 만들어 지고 있으며, 기존에 사용하던 2.4GHz 대역 및 5GHz 대역은 무선랜 및 다른 표준을 사용하는 디바이스들로 인해 포화되어 데이터 전송 속도를 높이는데 한계가 나타나고 있으므로 초고속 데이터 통신을 위한 새로운 주파수 대역 필요하게 되었다.Currently, the commonly used WLAN uses the 2.4GHz band and provides a maximum speed of 150Mbps. In the early years, WLANs have made rapid leaps compared to 11MHz, but the amount of data sent and received over the network is increasing exponentially as IT technology advances. As the use of wireless LAN becomes more common due to the ease of use, the 2.4GHz band is saturated, and the amount of data transmitted through the wireless LAN increases as network usage increases, such as cloud computing and video data transmission. The transmission rate required for this is also increasing. In addition, the importance of security is increasing as the amount of personal information transmitted over the network increases. As a result, new wireless LAN standards are being created to support strong security and high-speed data communication. The 2.4GHz and 5GHz bands used in the past are saturated by devices using wireless LANs and other standards to improve data transmission speed. As the limits are raised, new frequency bands are needed for high-speed data communications.

또한 기존의 무선랜에서 사용하던 AES(Advanced Encryption Standard) 기반의 CCM(Counter Mode with Cipher Block Chaining Message Authentication Code) 암호화 방법은 출력데이터가 다시 입력으로 피드백 되는 알고리즘 구조상 데이터 처리 속도를 높이려면 구동 주파수를 높여야 하는데, 하드웨어 구현에 있어서 구동 주파수를 높이기 위해서는 구동 전압도 같이 높여야 하는데, 소비 전력은 구동 주파수에 비례해서 증가하고 구동 전압의 제곱에 비례해서 증가하므로 전력소비가 증가한다. 또한 하드웨어 로직 사이즈에 비례해서 소비전력도 증가하고, 대기전력 소비 및 생산가격이 같이 증가하므로 하드웨어 로직 사이즈를 줄이면서 동시에 구동 주파수도 낮추어야 한다.In addition, the CCS (Counter Mode with Cipher Block Chaining Message Authentication Code) encryption method based on AES (Advanced Encryption Standard) used in the existing wireless LAN has a driving frequency to increase the data processing speed due to the algorithm structure in which output data is fed back to the input. In the hardware implementation, the driving voltage must be increased in order to increase the driving frequency. The power consumption increases because the power consumption increases in proportion to the driving frequency and increases in proportion to the square of the driving voltage. In addition, power consumption increases in proportion to the hardware logic size, and standby power consumption and production price increase together. Therefore, the hardware logic size must be reduced while the driving frequency must be lowered.

상기와 같이 무선랜에서 사용하는 주파수 대역이 포화되어 60GHz의 새로운 주파수 영역을 사용하는 새로운 초고속 무선랜 규격을 새로 표준화하고 있으며, AES 기반의 CCM 암호화 방법이 고속데이터 암호화에는 적합하지 않으므로, 저전력의 초고속 데이터 통신을 지원하기 위해서 파이프라인 구조를 적용할 수 있는 AES 기반의 GCM 암호화 방법을 사용하고 있다. As the frequency band used in the wireless LAN is saturated as described above, a new standard for a new high-speed wireless LAN using a new frequency range of 60 GHz is newly standardized. Since the AES-based CCM encryption method is not suitable for high-speed data encryption, low power and high speed In order to support data communication, AES-based GCM encryption method that can apply pipeline structure is used.

AES 기반의 GCM 암호화 방법은 파이프라인 구조를 사용하여 구동 주파수를 높이지 않으면서도 초고속데이터 처리가 가능한 반면에, 같은 하드웨어 로직을 공유 할 수가 없어서 하드웨어 사이즈가 늘어나는 단점을 가지고 있다.
GCM encryption method based on AES has the disadvantage of increasing the hardware size by using a pipelined structure to achieve high-speed data processing without increasing the driving frequency, but not sharing the same hardware logic.

본 발명의 실시예는 파이프라인을 공유하는 AES 암호화 구현 방법 및 그 장치를 제공한다.Embodiments of the present invention provide a method and apparatus for implementing AES encryption sharing a pipeline.

본 발명의 실시예는 하드웨어 구성시 여러 개의 하드웨어를 사용하여 각 단계별로 다른 데이터를 처리하는 파이프라인 구조와, 하나의 하드웨어를 공통으로 사용하여 데이터를 처리하는 공유 구조를 혼합 사용하여 하드웨어 로직 사이즈를 줄이면서도 고속 데이터 처리가 가능한 효율적인 암호화 하드웨어 설계방법 및 그 장치를 제공한다.In the embodiment of the present invention, a hardware logic size is used by using a mixture of a pipeline structure for processing different data at each stage by using a plurality of hardware and a shared structure for processing data using a single hardware in common. The present invention provides a method and apparatus for designing an efficient encryption hardware capable of reducing data speed and processing at high speed.

본 발명의 실시예는 하드웨어 요구사항에 최적화된 하드웨어 사이즈로 하드웨어를 구성하는 방법 및 그 장치를 제공한다.
Embodiments of the present invention provide a method and apparatus for configuring hardware in a hardware size optimized for hardware requirements.

본 발명의 실시예에 따른 파이프라인을 공유하는 AES 암호화 구현 방법은, 하드웨어 요구사항을 확인하는 단계와, 상기 하드웨어 요구사항을 만족하는 라운드 처리부의 수를 설정하는 단계와, AES 암호화에 필요한 라운드의 수를 확인하는 단계 및 라운드 처리부의 수보다 필요한 라운드의 수가 더 크면, 상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 공유설정 단계를 포함한다.According to an embodiment of the present invention, a method for implementing AES encryption sharing a pipeline includes: identifying hardware requirements, setting a number of round processing units that satisfy the hardware requirements, and performing rounding required for AES encryption. Checking the number and setting the number of rounds to be processed by each of the round processing units if the required number of rounds is larger than the number of round processing units.

본 발명의 실시예에 따른 파이프라인을 공유하는 AES 암호화 구현 장치는, 하드웨어 요구사항을 확인하는 요구사항 확인부와, 상기 하드웨어 요구사항을 만족하는 라운드 처리부의 수를 설정하는 규모 설정부와, AES 암호화에 필요한 라운드의 수를 확인하는 라운드 확인부 및 라운드 처리부의 수보다 필요한 라운드의 수가 더 크면, 상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 공유 설정부를 포함한다.An apparatus for implementing AES encryption sharing a pipeline according to an embodiment of the present invention includes a requirement confirmation unit for confirming hardware requirements, a scale setting unit for setting a number of round processing units that satisfy the hardware requirements, and an AES. And a round setter for checking the number of rounds required for encryption and a shared setter for setting the number of rounds processed by each of the round processors if the number of rounds required is larger than the number of rounds.

본 발명의 실시예에 따른 파이프라인을 공유하는 AES 암호화 장치는, 기설정된 수의 라운드 처리를 공유하는 라운드 처리부들 및 암호키를 수신해서 각각의 라운드에 대응하는 암호키를 생성하고, 생성한 암호키를 대응하는 라운드를 처리하는 라운드 처리부에 제공하는 키 전개부를 포함하고, 이때, 상기 라운드 처리부들은, 각각에서 처리하는 라운드의 처리 순서에 따라 파이프 라인 구조로 연결됨을 특징으로 한다.
The AES encryption device sharing a pipeline according to an embodiment of the present invention receives the round processing units and the encryption key sharing a predetermined number of round processing, generates an encryption key corresponding to each round, and generates the generated encryption. And a key development unit providing a key to a round processing unit for processing a corresponding round, wherein the round processing units are connected in a pipeline structure according to the processing order of the rounds to be processed in each round.

본 발명은 파이프라인을 공유하는 AES 암호화 구현 방법 및 그 장치에 관한 것으로, 고속 무선랜 암호화 하드웨어 구성시 여러 개의 하드웨어를 사용하여 각 단계별로 다른 데이터를 처리하는 파이프라인 구조와, 하나의 하드웨어를 공통으로 사용하여 데이터를 처리하는 공유 구조를 혼합 사용하여 하드웨어 로직 사이즈를 줄이면서도 고속 데이터 처리가 가능한 효율적인 암호화 하드웨어 설계할 수 있다.
The present invention relates to an AES encryption implementation method and apparatus for sharing a pipeline, and a pipeline structure for processing different data in each step using multiple hardware when configuring a high-speed WLAN encryption hardware, and one hardware in common It is possible to design efficient cryptographic hardware that enables high-speed data processing while reducing hardware logic size by using a shared structure that processes data using the same.

도 1은 GCMP 암호화에 사용되는 AES 알고리즘의 예를 도시한 도면,
도 2는 공유 하드웨어 기반의 AES 암호화 장치의 구성을 도시한 도면,
도 3은 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면,
도 4는 본 발명의 실시예에 따라 라운드 로직을 2번씩 공유하는 공유 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면,
도 5는 본 발명의 실시예에 따라 라운드 로직을 4번씩 공유하는 공유 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면,
도 6은 본 발명의 실시예에 따른 AES 암호화 구현장치에서 하드웨어 요구사항에 따른 AES 암호화 장치를 설계하는 과정을 도시한 흐름도,
도 7은 본 발명의 실시예에 따른 공유 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면 및,
도 8은 본 발명의 실시예에 따른 AES 암호화 구현장치의 구성을 도시한 도면이다.
1 shows an example of an AES algorithm used for GCMP encryption,
2 is a diagram illustrating a configuration of an AES encryption device based on shared hardware;
3 is a diagram illustrating a configuration of a pipeline-based AES encryption device;
4 is a diagram illustrating a configuration of a shared pipeline based AES encryption device that shares round logic twice in accordance with an embodiment of the present invention;
5 is a diagram illustrating a configuration of a shared pipeline based AES encryption apparatus that shares round logic four times according to an embodiment of the present invention;
6 is a flowchart illustrating a process of designing an AES encryption device according to hardware requirements in an AES encryption implementation device according to an embodiment of the present invention;
7 is a diagram illustrating a configuration of an AES encryption apparatus based on a shared pipeline according to an embodiment of the present invention;
8 is a diagram illustrating a configuration of an AES encryption implementation apparatus according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

AES 암호화 알고리즘은 어느 특정 비트수의 블록이라고 하는 집합을 한번에 처리하는 블록 암호화 알고리즘으로 긴 평문을 암호화 하기 위해서는 블록 단위 암호화 방법을 반복 사용해서 전체 평문을 암호문으로 변환한다. The AES encryption algorithm is a block encryption algorithm that processes a set of blocks of a certain number of bits at once. In order to encrypt a long plain text, the AES encryption algorithm repeatedly converts the entire plain text into a cipher text.

AES 암호화 알고리즘을 이용해서 암호문을 생성하는 방법에는 여러가지 방법이 있으며, 기존의 무선랜에서는 CCMP(Counter Mode with Cipher Block Chaining Message Authentication Code Protocol)를 사용하였으나 상기와 같이 고속데이터 처리가 불가능하므로 802.11ad와 같이 수 Gbit 이상의 고속 데이터 처리가 필요한 시스템에서는 GCMP(Galois/Counter Mode Protocol)를 사용하고 있다.There are various methods of generating cipher text using AES encryption algorithm. In conventional wireless LAN, CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) is used, but as it does not allow high-speed data processing as described above, 802.11ad and Likewise, the Galois / Counter Mode Protocol (GCMP) is used in systems that require high-speed data processing of several Gbits or more.

본 발명에서는 GCMP 암호화에 사용되는 AES 알고리즘은 입력된 평문 블록과 암호화 키를 더하는 첨가함수(AddRoundKey function), 미리 정해진 테이블값과 입력 데이터를 치환하는 치환함수(SubBytes function), 행단위로 데이터를 쉬프트 시키는 쉬프트함수(ShiftRows function), 매트릭스 연산을 통해서 열단위로 혼합하는 혼합함수(MixColumns function)로 이루어져 있으며, 도 1와 같이 초기라운드에서는 첨가함수만 사용이 되고, 1~9라운드 동안은 4가지 함수가 모두 적용되며, 최종라운드에서는 혼합 함수를 제외한 3가지 함수가 적용된다.In the present invention, the AES algorithm used for GCMP encryption includes an AddRoundKey function for adding an input plaintext block and an encryption key, a SubBytes function for substituting a predetermined table value and input data, and shifting the data in units of rows. ShiftRows function, MixColumns function that mixes column by column through matrix operation. As shown in Fig. 1, only the addition function is used in the initial round, and 4 functions are used during the 1-9 rounds. All are applied, and in the final round three functions are applied except for the blend function.

도 1은 GCMP 암호화에 사용되는 AES 알고리즘의 예를 도시한 도면이다.1 is a diagram illustrating an example of an AES algorithm used for GCMP encryption.

도 1을 참조하면, AES 암호장치는 110단계에서 평문 블록을 수신하면, 초기 라운드에 해당하는 112단계에 수신한 평문 블록에 각 라운드에 대응하는 암호키를 더하는 첨가함수를 수행한다.Referring to FIG. 1, when the AES encryption device receives the plain text block in step 110, the AES encryption device performs an addition function of adding an encryption key corresponding to each round to the plain text block received in step 112 corresponding to the initial round.

그리고, AES 암호장치는 114단계의 치환함수 수행, 116단계의 쉬프트 함수 수행, 118단계의 혼합 함수 수행 및 120단계의 첨가 함수 수행을 모두 수행해서 라운드를 1회 수행한다.In addition, the AES encryption apparatus performs a round once by performing a substitution function of 114 steps, a shift function of 116 steps, a mixing function of 118 steps, and an addition function of 120 steps.

그리고, AES 암호장치는 122단계에서 다음 라운드가 최종 라운드인지 확인해서 최종 라운드가 아니면 114단계에서 120단계를 반복 수행해서 결과적으로 제1 라운드에서 제9 라운드를 수행한다.Then, the AES cryptography apparatus checks whether the next round is the last round in step 122, and if not the last round, repeats step 120 in step 114 and consequently performs the ninth round in the first round.

그리고, AES 암호장치는 최종 라운드에 해당하는 124단계의 치환함수 수행, 126단계의 쉬프트 함수 수행 및 128단계의 첨가 함수 수행을 수행한다.In addition, the AES encryption apparatus performs a substitution function of 124, a shift function of 126, and an addition function of 128 in the final round.

본 발명은 수 Gbit 이상의 고속 데이터의 AES 기반 암호화가 필요한 초고속 통신 시스템에 있어서 암호화 처리를 위한 AES 구현 방법에 관한 것으로 상기의 목적을 달성하기 위해서 AES 블록 암호화 장치 구현에 있어서 처리 속도를 높이기 위해서 사용하는 한 개 이상의 라운드 로직을 사용하는 파이프라인 구조와 하드웨어 사이즈를 줄이기 위해서 파이프라인상의 라운드 로직을 한 번 이상 재사용하는 것을 특징으로 한다.The present invention relates to a method for implementing AES for encryption processing in a high speed communication system requiring AES-based encryption of high-speed data of several Gbits or more. Pipeline structures that use more than one round logic and reuse the round logic on the pipeline more than once to reduce hardware size.

상기와 같은 AES 암호화 알고리즘을 하드웨어로 구현함에 있어서, 반복적으로 사용되는 첨가함수(AddRoundKey function), 치환함수(SubBytes function), 쉬프트함수(ShiftRows function) 및 혼합함수(MixColumns function) 기능을 라운드 로직이라는 하나의 기능으로 구현하고 반복 사용하는 공유 하드웨어 구조를 사용할 경우 하드웨어 로직 사이즈는 줄어들지만 데이터 속도를 높이기 위해서 고동 주파수를 높여야 하는데 복잡한 내부 구조로 인해서 구동 주파수를 높이는 데는 한계가 발생한다. 구동 주파수의 한계를 탈피하기 위해서는 라운드 로직을 병렬로 사용하여 구동 주파수를 높이지 않으면서도 데이터 처리 속도를 높이는 파이프라인 구조를 채택하고 있으나, 파이프라인 구조에서는 하드웨어 사이즈가 늘어나 전력 소비 또한 늘어 나게 된다.In hardware implementation of the AES encryption algorithm, the AddRoundKey function, SubBytes function, ShiftRows function, and MixColumns function, which are used repeatedly, are called round logic. When using a shared hardware structure that is implemented and repeated as a function of, the hardware logic size is reduced, but the high frequency should be increased to increase the data rate. However, the complex internal structure places a limit on increasing the driving frequency. In order to overcome the limitation of driving frequency, a pipelined structure that uses a round logic in parallel to increase the data processing speed without increasing the driving frequency is adopted. However, in the pipelined structure, the hardware size increases and power consumption increases.

구동 주파수를 낮출 수 있는 파이프라인 구조와 하드웨어 사이즈를 줄일 수 있는 공유 하드웨어구조의 장점만을 취하는 본 발명에 따르면, 공유 하드웨어 구조에 비해 구동 주파수는 낮추고, 파이프라인 구조에 비하여 하드웨어 로직 사이즈를 줄일 수 있다.According to the present invention, which takes advantage of the pipeline structure that can lower the driving frequency and the shared hardware structure that can reduce the hardware size, the driving frequency can be lowered and the hardware logic size can be reduced compared to the pipeline structure compared to the shared hardware structure. .

이하 첨부된 도면을 참조하여 802.11ad 표준에서 사용하고 있는 GCMP 구현을 위한 AES 구현을 예로 들어 공유 파이프라인 방법에 대하여 상세히 설명한다.Hereinafter, a shared pipeline method will be described in detail with reference to the accompanying drawings, taking an AES implementation for implementing GCMP used in the 802.11ad standard as an example.

도 2는 공유 하드웨어 기반의 AES 암호화 장치의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of an AES encryption apparatus based on shared hardware.

도 2를 참조하면, 공유 하드웨어 기반의 AES 암호화 장치(200)는 암호키를 수신해서 각 라운드에 대응하는 암호키를 생성하는 키 전개부(210)와 라운드 로직(220)을 포함한다. AES 암호화 장치(200)는 초기라운드부터 최종라운드까지 하나의 라운드 로직(220)을 반복 사용하므로 128 bit의 평문 데이터 블록이 한번 입력된 후 최종 암호문 블록이 출력될 때까지 더 이상의 평문 블록이 입력될 수 없다. 한번의 라운드를 거칠 때 1 클럭을 소모 할 경우 입력된 128 bit 평문 블록이 11번의 라운드를 돌고 암호문으로 출력된 11 클럭 후에 다음 데이터 평문 블럭을 입력할 수 있으므로 최고 데이터 처리속도는 아래 <수학식 1>과 같다. Referring to FIG. 2, the AES encryption apparatus 200 based on shared hardware includes a key deployment unit 210 and a round logic 220 for receiving an encryption key and generating an encryption key corresponding to each round. Since the AES encryption apparatus 200 uses one round logic 220 repeatedly from the initial round to the last round, after the 128-bit plain text data block is input once, no more plain text blocks are input until the final cipher text block is output. Can't. If one clock is consumed after one round, the 128-bit plaintext block entered will go through 11 rounds and the next data plaintext block can be entered after 11 clocks output by the ciphertext. Same as>

[수학식 1][Equation 1]

최고 데이터 처리속도 = 주파수 / 11(클럭) * 128(bit)Data rate = frequency / 11 (clock) * 128 (bit)

따라서, AES 암호화 장치(200)는 IEEE 802.11ad 초고속 무선랜 표준에서 최고 데이터 속도인 6756.75Mbps를 지원하기 위해서는 AES 암호화 장치(200)의 동작주파수가 580.65MHz 동작되어야 하지만 하드웨어의 제약으로 구현하기 힘들다.Therefore, the AES encryption device 200 should operate at 580.65MHz, although the operating frequency of the AES encryption device 200 should be 580.65MHz in order to support 6756.75Mbps, which is the highest data rate in the IEEE 802.11ad ultra high-speed wireless LAN standard.

도 3은 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면이다.3 is a diagram illustrating a configuration of a pipeline-based AES encryption device.

도 3을 참조하면, 파이프라인 기반의 AES 암호화 장치(300)는 암호키를 수신해서 각 라운드에 대응하는 암호키를 생성하는 키 전개부(310)와 11개의 라운드 로직(320-330)들을 포함한다. AES 암호화 장치(300)는 초기라운드부터 최종라운드까지 별도의 하드웨어가 존재하므로 매 클럭마다 128 bit의 평문 데이터 블록의 입력이 가능하며 최초의 128bit 평문 블록이 입력된 후 11 클럭 후에 암호문 블록이 출력되기 시작하여 매 클럭마다 암호문이 출력 될 수 있다. 한번의 라운드를 거칠 때 1 클럭을 소모 할 경우 입력된 128 bit 평문 블록이 11번의 라운드를 돌고 암호문으로 출력되고 매 클럭마다 데이터 평문 블럭을 입력할 수 있으므로 최고 데이터 처리속도는 아래 <수학식 2>과 같다. Referring to FIG. 3, the pipeline-based AES encryption apparatus 300 includes a key deployment unit 310 and eleven round logics 320-330 that receive an encryption key and generate an encryption key corresponding to each round. . Since the AES encryption apparatus 300 has separate hardware from the initial round to the final round, 128 bits of plain text data blocks can be input every clock, and the cipher text block is output 11 hours after the first 128 bits of plain text data blocks are input. At the beginning, the ciphertext can be output every clock. If one clock is consumed after one round, the 128-bit plaintext block is processed as 11 rounds and output as ciphertext, and the data plaintext block can be input for each clock. Is the same as

[수학식 2] &Quot; (2) &quot;

최고 데이터 처리속도 = 주파수 * 128(bit)Data throughput = frequency * 128 (bit)

따라서, AES 암호화 장치(300)는 IEEE 802.11ad 초고속 무선랜 표준에서 최고 데이터 속도인 6756.75Mbps를 지원하기 위해서는 AES 암호화 장치(300)의 동작주파수가 52.8MHz 동작되면 되어 구동 주파수는 낮지만, 하드웨어 로직 사이즈가 공유 하드웨어 구조에 비해 약 11배 늘어나는 단점이 있다. 또한 AES 암호화 장치(300)는 평문 블록 입력이나 암호문 출력 인터페이스가 128bit일 경우에만 최고의 성능을 발휘 할 수 있으며 6756.75Mbps 정도의 속도에는 하드웨어 복잡도 등의 문제로 64bit나 32bit인터페이스가 적당하다.Therefore, the AES encryption device 300 is 52.8MHz operating frequency of the operating frequency of the AES encryption device 300 in order to support the highest data rate 6756.75Mbps in the IEEE 802.11ad ultra-high-speed wireless LAN standard, but the driving frequency is low, but the hardware logic Its size is about 11 times larger than shared hardware architecture. In addition, the AES encryption device 300 can exhibit the best performance only when the plain text block input or cipher text output interface is 128 bits, and a 64 bit or 32 bit interface is suitable for a speed of 6756.75 Mbps due to hardware complexity.

도 4는 본 발명의 실시예에 따라 라운드 로직을 2번씩 공유하는 공유 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면이다.4 is a diagram illustrating a configuration of a shared pipeline-based AES encryption apparatus that shares round logic twice in accordance with an embodiment of the present invention.

도 4를 참조하면, AES 암호화 장치(400)는 암호키를 수신해서 각 라운드에 대응하는 암호키를 생성하는 키 전개부(410)와 6개의 라운드 로직(420-426)들을 포함한다.Referring to FIG. 4, the AES encryption apparatus 400 includes a key deployment unit 410 and six round logics 420-426 that receive an encryption key and generate an encryption key corresponding to each round.

AES 암호화 장치(400)는 초기라운드부터 최종라운드까지 별도의 하드웨어가 존재하지 않고 하나의 라운드 로직(421-426)을 두번씩 반복 사용하는 구조로 매 클럭마다 64 bit의 평문 데이터 블록의 입력이 가능하며 내부에서 두번의 입력을 모아서 128bit 단위로 처리한다. 최초의 128bit 평문 블록이 모두 입력된 후 11 클럭 후에 암호문 블록이 출력되기 시작하여 매 2 클럭마다 암호문 블록이 출력 될 수 있다. 한 번의 라운드를 거칠 때 1 클럭을 소모 할 경우 입력된 128 bit 평문 블록이 11번의 라운드를 돌고 암호문으로 출력되고 매 2 클럭마다 데이터 평문 블럭을 입력할 수 있으므로 최고 데이터 처리속도는 아래 <수학식 3>과 같다. AES encryption device 400 is a structure that uses a single round logic (421-426) twice twice without a separate hardware from the initial round to the final round, it is possible to input a 64-bit plain text data block every clock It collects two inputs internally and processes them in 128bit units. After all of the first 128-bit plaintext block is input, the ciphertext block starts to be output 11 hours later, and the ciphertext block can be output every 2 clocks. If one clock is consumed in one round, the 128-bit plaintext block is processed as 11 rounds and output as ciphertext, and the data plaintext block can be input every 2 clocks. Same as>

[수학식 3]&Quot; (3) &quot;

최고 데이터 처리속도 = 주파수 * 128(bit) / 2Data throughput = frequency * 128 (bit) / 2

따라서, AES 암호화 장치(400)는 IEEE 802.11ad 초고속 무선랜 표준에서 최고 데이터 속도인 6756.75Mbps를 지원하기 위해서는 AES 암호화 장치(400)의 동작주파수가 105.6MHz 동작되면 되어 구동 주파수가 낮고, 하드웨어 로직 사이즈를 파이프라인 구조에 비해 약 1/2로 줄일 수 있다. Therefore, in order to support the highest data rate of 6756.75 Mbps in the IEEE 802.11ad ultra high-speed wireless LAN standard, the AES encryption device 400 needs to operate at an operating frequency of 105.6 MHz, resulting in low driving frequency and hardware logic size. Can be reduced to about 1/2 of the pipeline structure.

도 5는 본 발명의 실시예에 따라 라운드 로직을 4번씩 공유하는 공유 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면이다.FIG. 5 is a diagram illustrating a configuration of a shared pipeline based AES encryption apparatus that shares round logic four times according to an embodiment of the present invention.

도 5를 참조하면, AES 암호화 장치(500)는 암호키를 수신해서 각 라운드에 대응하는 암호키를 생성하는 키 전개부(510)와 4개의 라운드 로직(520-523)들을 포함한다.Referring to FIG. 5, the AES encryption apparatus 500 includes a key deployment unit 510 and four round logics 520-523 that receive an encryption key and generate an encryption key corresponding to each round.

AES 암호화 장치(500)는 초기라운드부터 최종라운드까지 별도의 하드웨어가 존재하지 않고 하나의 라운드 로직(521-523)을 2번 또는 4번씩 반복 사용하는 구조로 매 클럭마다 32 bit의 평문 데이터 블록의 입력이 가능하며 내부에서 네번의 입력을 모아서 128bit 단위로 처리한다.The AES encryption device 500 is a structure that uses a single round logic (521-523) twice or four times and repeats a 32-bit plaintext data block every clock from the initial round to the final round without separate hardware. Input is possible, and four inputs are collected internally and processed in 128-bit units.

따라서, 32bit를 사용하는 AES 암호화 장치(500)의 경우 6756.75Mbps 정도의 데이터를 처리하기 위해서 필요한 구동주파수는 210MHz로 늘어나지만 하드웨어 사이즈는 파이프라인 구조에 비해서 1/4로 줄어드는 장점이 있다.Therefore, the AES encryption device 500 using 32 bits increases the driving frequency required to process data of about 6756.75 Mbps to 210 MHz, but the hardware size is reduced to 1/4 compared to the pipeline structure.

도 4나 5의 예처럼 본 발명에 따른 공유 파이프라인 구조에서는 입출력 데이터 양이나 시스템에서 요구되는 데이터 전송속도 등에 따라서 파이프라인 개수 및 반복 횟수를 조절함으로써 시스템에 최적화된 하드웨어 구조로 구현할 수 있다.4 and 5, the shared pipeline structure according to the present invention can be implemented in a hardware structure optimized for the system by adjusting the number of pipelines and the number of repetitions according to the amount of input / output data or the data transmission rate required by the system.

도 6은 본 발명의 실시예에 따른 AES 암호화 구현장치에서 하드웨어 요구사항에 따른 AES 암호화 장치를 설계하는 과정을 도시한 흐름도이다.6 is a flowchart illustrating a process of designing an AES encryption device according to hardware requirements in an AES encryption implementation device according to an embodiment of the present invention.

도 6을 참조하면, AES 암호화 구현장치는 610단계에서 하드웨어 요구사항을 확인한다. 이때, 하드웨어 요구사항은 처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나일 수 있다.Referring to FIG. 6, the AES encryption implementing apparatus checks hardware requirements at step 610. In this case, the hardware requirement may be at least one of processing speed, driving frequency, or size of hardware.

그리고, AES 암호화 구현장치는 620단계에서 하드웨어 요구사항을 만족하는 라운드 처리부의 수를 설정한다.In operation 620, the AES encryption implementation apparatus sets the number of round processing units that satisfy hardware requirements.

예를 들어 AES 암호화 구현장치는 하드웨어 요구사항이 처리속도인 경우, 처리속도를 만족하면서 최대한 낮은 구동 주파수와 최대한 작은 크기의 하드웨어가 되도록 라운드 처리부의 수를 설정할 수 있다.For example, when the hardware requirement is a processing speed, the AES encryption implementer may set the number of round processing units to satisfy the processing speed and to have the lowest driving frequency and the smallest hardware size.

다른 예로 AES 암호화 구현장치는 하드웨어 요구사항이 하드웨어 크기인 경우, 하드웨어 크기를 만족하면서 최대한 낮은 구동 주파수와 최대한 처리속도가 빠르도록 라운드 처리부의 수를 설정할 수 있다.As another example, when the hardware requirement is hardware size, the AES encryption implementer may set the number of round processing units to satisfy the hardware size and to have the lowest driving frequency and the fastest processing speed.

또 다른 예로 AES 암호화 구현장치는 하드웨어 요구사항이 구동 주파수인 경우, 구동 주파수를 만족하면서 최대한 작은 크기의 하드웨어와 최대한 처리속도가 빠르도록 라운드 처리부의 수를 설정할 수 있다.As another example, when the hardware requirement is a driving frequency, the AES encryption implementer may set the number of round processing units to satisfy the driving frequency and to have the smallest hardware and the fastest processing speed.

또 다른 예로 AES 암호화 구현장치는 하드웨어 요구사항이 처리속도와, 하드웨어의 크기인 경우, 처리속도와 하드웨어의 크기를 만족하면서 최대한 낮은 구동 주파수를 가지도록 라운드 처리부의 수를 설정할 수 있다.As another example, the AES encryption implementer may set the number of round processing units to have the lowest driving frequency while satisfying the processing speed and the hardware size when the hardware requirement is the processing speed and the size of the hardware.

또 다른 예로 AES 암호화 구현장치는 하드웨어 요구사항이 하드웨어 크기와 구동 주파수인 경우, 하드웨어 크기와 구동 주파수를 만족하면서 최대한 처리속도가 빠르도록 라운드 처리부의 수를 설정할 수 있다.As another example, when the hardware requirements are hardware size and driving frequency, the AES encryption implementer may set the number of round processing units to satisfy the hardware size and driving frequency and achieve the fastest processing speed.

또 다른 예로 AES 암호화 구현장치는 하드웨어 요구사항이 구동 주파수와 처리속도인 경우, 구동 주파수와 처리속도를 만족하면서 최대한 작은 크기의 하드웨어가 되도록 라운드 처리부의 수를 설정할 수 있다.As another example, when the hardware requirement is a driving frequency and a processing speed, the AES encryption implementer may set the number of round processing units to satisfy the driving frequency and the processing speed and to have the smallest hardware.

그리고, AES 암호화 구현장치는 630단계에서 AES 암호화에 필요한 라운드의 수를 확인한다. 일반적으로 AES 암호화의 초기라운드에서 최종라운드는 총 11 라운드로 구성된다.In operation 630, the AES encryption implementing apparatus checks the number of rounds required for AES encryption. In general, the final round of AES encryption consists of 11 rounds.

그리고, AES 암호화 구현장치는 640단계에서 라운드 처리부의 수보다 필요한 라운드의 수가 더 크면, 라운드 처리부들 각각에서 처리하는 라운드 수를 설정한다. 이때, AES 암호화 구현장치는 라운드 처리부들 각각에서 처리하는 라운드의 수가 최소가 되도록 설정한다.In operation 640, if the number of rounds required is larger than the number of round processors, the AES encryption implementer sets the number of rounds processed by each of the round processors. At this time, the AES encryption implementation sets the minimum number of rounds processed by each of the round processing units.

그리고, AES 암호화 구현장치는 650단계에서 설정된 라운드의 수만큼을 공유하는 라운드 처리부들이 파이프 라인으로 연결되고, 라운드 처리부들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부로 구성된 암호화 장치를 아래 도 7과 같이 설계한다.The AES encryption implementation includes a cryptographic device comprising a key deployment unit that connects round processing units that share as many rounds as set in step 650 in a pipeline, and provides encryption keys corresponding to the rounds to each of the round processing units. Design as shown in 7.

도 7은 본 발명의 실시예에 따른 공유 파이프라인 기반의 AES 암호화 장치의 구성을 도시한 도면이다.7 is a diagram illustrating a configuration of an AES encryption apparatus based on a shared pipeline according to an embodiment of the present invention.

도 7을 참조하면, 공유 파이프라인 기반의 AES 암호화 장치(700)는 키 전개부(710)와 라운드 처리부(720-722)들을 포함한다.Referring to FIG. 7, the AES encryption apparatus 700 based on a shared pipeline includes a key deployment unit 710 and round processing units 720-722.

키 전개부(710)는 암호키를 수신해서 각각의 라운드에 대응하는 암호키를 생성하고, 생성한 암호키를 대응하는 라운드를 처리하는 라운드 처리부에 제공한다.The key development unit 710 receives the encryption key, generates an encryption key corresponding to each round, and provides the generated encryption key to a round processing unit that processes the corresponding round.

라운드 처리부(720-722)들은 기설정된 수의 라운드 처리를 공유한다. 이때, 라운드 처리부(720-722)들의 수는 처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나를 포함하는 하드웨어 요구사항을 만족하도록 설계된 것이다.The round processing units 720-722 share a predetermined number of round processings. In this case, the number of round processors 720 to 722 is designed to satisfy a hardware requirement including at least one of a processing speed, a driving frequency, or a size of hardware.

라운드 처리부(720-722)들은 각각에서 처리하는 라운드의 처리 순서에 따라 파이프 라인 구조로 연결된다.The round processing units 720-722 are connected in a pipeline structure according to the processing order of the rounds processed by each round processing unit 720-722.

이때, 라운드 처리부(720-722)들 중에서 첫번째에 위치한 라운드 처리부(720)는 공유기반으로 하지 않고 초기 라운드 만을 처리하도록 할 수 있다. 초기 라운드는 암호키를 더하는 첨가 함수로만 구성되는데 첨가함수는 하드웨어 크기가 작음으로 별도로 구성하는 것이 전체적인 하드웨어 크기를 줄이고 처리속도를 향상시키는데 바람직하다.At this time, the round processing unit 720 located first among the round processing units 720 to 722 may process only the initial round without using the sharing base. The initial round consists only of the addition function that adds the encryption key. Since the addition function is small in hardware size, the additional function is preferable to reduce the overall hardware size and improve the processing speed.

도 8은 본 발명의 실시예에 따른 AES 암호화 구현장치의 구성을 도시한 도면이다.8 is a diagram illustrating a configuration of an AES encryption implementation apparatus according to an embodiment of the present invention.

도 8을 참조하면, AES 암호화 구현장치(800)는 요구사항 확인부(810), 규모 설정부(820), 라운드 확인부(830), 공유 설정부(840) 및 설계부(850)를 포함한다.Referring to FIG. 8, the AES encryption implementing apparatus 800 includes a requirement check unit 810, a scale setting unit 820, a round checking unit 830, a sharing setting unit 840, and a design unit 850. .

요구사항 확인부(810)는 하드웨어 요구사항을 확인한다. 이때, 하드웨어 요구사항은 처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나일 수 있다.Requirements check unit 810 checks the hardware requirements. In this case, the hardware requirement may be at least one of processing speed, driving frequency, or size of hardware.

규모 설정부(820)는 하드웨어 요구사항을 만족하는 라운드 처리부(720-722)의 수를 설정한다.The scale setting unit 820 sets the number of round processing units 720-722 that satisfy the hardware requirements.

예를 들어 규모 설정부(820)는 하드웨어 요구사항이 처리속도인 경우, 처리속도를 만족하면서 최대한 낮은 구동 주파수와 최대한 작은 크기의 하드웨어가 되도록 라운드 처리부(720-722)의 수를 설정할 수 있다.For example, when the hardware requirement is the processing speed, the scale setting unit 820 may set the number of round processing units 720 to 722 to satisfy the processing speed and to have the lowest driving frequency and the smallest hardware size.

다른 예로 규모 설정부(820)는 하드웨어 요구사항이 하드웨어 크기인 경우, 하드웨어 크기를 만족하면서 최대한 낮은 구동 주파수와 최대한 처리속도가 빠르도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is hardware size, the scale setting unit 820 may set the number of round processing units 720-722 to satisfy the hardware size and to have the lowest driving frequency and the fastest processing speed.

또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 구동 주파수인 경우, 구동 주파수를 만족하면서 최대한 작은 크기의 하드웨어와 최대한 처리속도가 빠르도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is the driving frequency, the scale setting unit 820 may set the hardware of the smallest size and the number of the round processing units 720-722 to have the fastest processing speed while satisfying the driving frequency.

또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 처리속도와, 하드웨어의 크기인 경우, 처리속도와 하드웨어의 크기를 만족하면서 최대한 낮은 구동 주파수를 가지도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is processing speed and the size of hardware, the scale setting unit 820 adjusts the number of round processing units 720-722 to satisfy the processing speed and the size of the hardware and have the lowest driving frequency. Can be set.

또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 하드웨어 크기와 구동 주파수인 경우, 하드웨어 크기와 구동 주파수를 만족하면서 최대한 처리속도가 빠르도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirements are hardware size and driving frequency, the scale setting unit 820 may set the number of round processing units 720-722 to satisfy the hardware size and driving frequency and to achieve the fastest processing speed.

또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 구동 주파수와 처리속도인 경우, 구동 주파수와 처리속도를 만족하면서 최대한 작은 크기의 하드웨어가 되도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is the driving frequency and the processing speed, the scale setting unit 820 may set the number of the round processing units 720 to 722 to satisfy the driving frequency and the processing speed and to have the smallest hardware. .

라운드 확인부(830)는 AES 암호화에 필요한 라운드의 수를 확인한다. 일반적으로 AES 암호화의 초기라운드에서 최종라운드는 총 11 라운드로 구성된다.The round checker 830 confirms the number of rounds required for AES encryption. In general, the final round of AES encryption consists of 11 rounds.

공유 설정부(840)는 라운드 처리부(720-722)의 수보다 필요한 라운드의 수가 더 크면, 라운드 처리부(720-722)들 각각에서 처리하는 라운드 수를 설정한다. 공유 설정부(840)는 라운드 처리부(720-722)들 각각에서 처리하는 라운드의 수가 최소가 되도록 설정한다.If the number of rounds required is larger than the number of round processors 720-722, the sharing setting unit 840 sets the number of rounds processed by each of the round processors 720-722. The sharing setting unit 840 sets the minimum number of rounds processed by each of the round processing units 720-722.

설계부(850)는 설정된 라운드의 수만큼을 공유하는 라운드 처리부(720-722)들이 파이프 라인으로 연결되고, 라운드 처리부(720-722)들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부(710)로 구성된 암호화 장치(700)를 설계한다.The design unit 850 is connected to the round processing unit 720-722 sharing the set number of rounds in a pipeline, and the key deployment unit 710 providing an encryption key corresponding to the round to each of the round processing unit 720-722 Design an encryption device 700 consisting of).

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

Claims (20)

하드웨어 요구사항을 확인하는 단계;
상기 하드웨어 요구사항을 만족하는 라운드 처리부의 수를 설정하는 단계;
AES 암호화에 필요한 라운드의 수를 확인하는 단계; 및
라운드 처리부의 수보다 필요한 라운드의 수가 더 크면, 상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 공유설정 단계를 포함하는
파이프라인을 공유하는 AES 암호화 구현 방법.
Identifying hardware requirements;
Setting a number of round processing units that satisfy the hardware requirements;
Identifying the number of rounds required for AES encryption; And
If the required number of rounds is larger than the number of round processing units, a sharing setting step of setting the number of rounds processed by each of the round processing units;
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 공유설정 단계에서 설정된 라운드의 수만큼을 공유하는 상기 라운드 처리부들이 파이프 라인으로 연결되고, 상기 라운드 처리부들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부로 구성된 암호화 장치를 설계하는 단계를 더 포함하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Designing an encryption device comprising a key deployment unit for connecting the round processing units sharing the number of rounds set in the sharing setting step by a pipeline, and providing an encryption key corresponding to the round to each of the round processing units. Containing
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 하드웨어 요구사항은,
처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나임을 특징으로 하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
The above hardware requirements are:
At least one of a processing speed, a driving frequency, or a hardware size
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 처리속도인 경우, 상기 처리속도를 만족하면서 최대한 낮은 구동 주파수와 최대한 작은 크기의 하드웨어가 되도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of round processing unit,
When the hardware requirement is the processing speed, the number of the round processing units is set to satisfy the processing speed and to have the lowest driving frequency and the smallest size hardware.
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 하드웨어 크기인 경우, 상기 하드웨어 크기를 만족하면서 최대한 낮은 구동 주파수와 최대한 처리속도가 빠르도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of round processing unit,
When the hardware requirement is a hardware size, the number of the round processing unit is set to satisfy the hardware size and to have the lowest driving frequency and the fastest processing speed.
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 구동 주파수인 경우, 상기 구동 주파수를 만족하면서 최대한 작은 크기의 하드웨어와 최대한 처리속도가 빠르도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of round processing unit,
If the hardware requirement is a driving frequency, the hardware of the smallest size while satisfying the driving frequency and the number of the round processing unit to set the processing speed as fast as possible
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 처리속도와, 하드웨어의 크기인 경우, 상기 처리속도와 하드웨어의 크기를 만족하면서 최대한 낮은 구동 주파수를 가지도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of round processing unit,
If the hardware requirement is the processing speed and the size of the hardware, the number of the round processing unit is set to have the lowest driving frequency while satisfying the processing speed and the size of the hardware.
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 하드웨어 크기와 구동 주파수인 경우, 상기 하드웨어 크기와 상기 구동 주파수를 만족하면서 최대한 처리속도가 빠르도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of round processing unit,
If the hardware requirement is a hardware size and a driving frequency, the number of the round processing unit is set to satisfy the hardware size and the driving frequency and to maximize the processing speed.
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 구동 주파수와 처리속도인 경우, 상기 구동 주파수와 상기 처리속도를 만족하면서 최대한 작은 크기의 하드웨어가 되도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of round processing unit,
When the hardware requirement is the driving frequency and the processing speed, the number of the round processing unit is set to satisfy the driving frequency and the processing speed so that the hardware is as small as possible.
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 단계는,
상기 라운드 처리부들 각각에서 처리하는 라운드의 수가 최소가 되도록 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of rounds to be processed by each of the round processing units,
To set the minimum number of rounds to be processed by each of the round processing units
How to implement AES encryption sharing a pipeline.
제1항에 있어서,
상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 단계는,
초기 라운드 만을 단독으로 처리하도록 라운드 처리부를 설정하는
파이프라인을 공유하는 AES 암호화 구현 방법.
The method of claim 1,
Setting the number of rounds to be processed by each of the round processing units,
To set the round processing unit to process only the initial round alone
How to implement AES encryption sharing a pipeline.
하드웨어 요구사항을 확인하는 요구사항 확인부;
상기 하드웨어 요구사항을 만족하는 라운드 처리부의 수를 설정하는 규모 설정부;
AES 암호화에 필요한 라운드의 수를 확인하는 라운드 확인부; 및
라운드 처리부의 수보다 필요한 라운드의 수가 더 크면, 상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 공유 설정부를 포함하는
파이프라인을 공유하는 AES 암호화 구현 장치.
A requirements checking unit for checking hardware requirements;
A scale setting unit for setting the number of round processing units that satisfy the hardware requirements;
A round checking unit for checking the number of rounds required for AES encryption; And
If the required number of rounds is larger than the number of round processing unit, comprising a sharing setting unit for setting the number of rounds to be processed in each of the round processing units
AES encryption implementation that shares the pipeline.
제12항에 있어서,
상기 공유 설정부에서 설정된 라운드의 수만큼을 공유하는 상기 라운드 처리부들이 파이프 라인으로 연결되고, 상기 라운드 처리부들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부로 구성된 암호화 장치를 설계하는 설계부를 더 포함하는
파이프라인을 공유하는 AES 암호화 구현 장치.
The method of claim 12,
A design unit for designing an encryption device comprising a key deployment unit for connecting the round processing units sharing a number of rounds set by the sharing setting unit in a pipeline, and providing an encryption key corresponding to the round to each of the round processing units Containing
AES encryption implementation that shares the pipeline.
제12항에 있어서,
상기 하드웨어 요구사항은,
처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나임을 특징으로 하는
파이프라인을 공유하는 AES 암호화 구현 장치.
The method of claim 12,
The hardware requirements are:
At least one of a processing speed, a driving frequency, or a hardware size
AES encryption implementation that shares the pipeline.
기설정된 수의 라운드 처리를 공유하는 라운드 처리부들; 및
암호키를 수신해서 각각의 라운드에 대응하는 암호키를 생성하고, 생성한 암호키를 대응하는 라운드를 처리하는 라운드 처리부에 제공하는 키 전개부를 포함하고,
상기 라운드 처리부들은,
각각에서 처리하는 라운드의 처리 순서에 따라 파이프 라인 구조로 연결됨을 특징으로 하는
파이프라인을 공유하는 AES 암호화 장치.
Round processing units sharing a predetermined number of round processings; And
A key development unit for receiving an encryption key, generating an encryption key corresponding to each round, and providing the generated encryption key to a round processing unit for processing the corresponding round;
The round processing unit,
Characterized in that connected to the pipeline structure according to the processing order of the rounds to each processing
AES encryption device that shares the pipeline.
제15항에 있어서,
상기 라운드 처리부들 중에서 상기 파이프 라인 구조의 첫번째의 라운드 처리부는,
초기 라운드 만을 처리하는
파이프라인을 공유하는 AES 암호화 장치.
16. The method of claim 15,
Among the round processing units, the first round processing unit of the pipeline structure,
To handle only the initial round
AES encryption device that shares the pipeline.
제16항에 있어서,
상기 초기 라운드는,
상기 키 전개부로부터 제공받는 생성한 암호키를 수신하는 평문 블록에 더하는 첨가 함수를 포함함을 특징으로 하는
파이프라인을 공유하는 AES 암호화 장치.
17. The method of claim 16,
The initial round,
And an addition function added to the plaintext block that receives the generated encryption key provided from the key deployment unit.
AES encryption device that shares the pipeline.
제15항에 있어서,
상기 라운드는,
이전 라운드로부터 수신되는 데이터를 기설정된 테이블의 값으로 치환하는 치환 함수;
상기 치환부에 의해 치환된 데이터를 행단위로 쉬프트 시키는 쉬프트 함수;
상기 쉬프트부에 의해 쉬프트된 데이터를 매트릭스 연산을 통해 열 단위로 혼합하는 혼합 함수; 및
상기 혼합부에 의해 혼합된 데이터에 상기 키 전개부로부터 제공받는 생성한 암호키를 더하는 첨가 함수를 포함함을 특징으로 하는
파이프라인을 공유하는 AES 암호화 장치.
16. The method of claim 15,
The round,
A substitution function for replacing data received from the previous round with a value of a predetermined table;
A shift function for shifting data substituted by the substitution unit by a row;
A blending function for mixing the shifted data by the shift unit in column units through a matrix operation; And
And an addition function for adding the generated encryption key provided from the key development unit to the data mixed by the mixing unit.
AES encryption device that shares the pipeline.
제15항에 있어서,
상기 파이프 라인 구조의 마지막 라운드 처리부에서 마지막으로 처리하는 최종 라운드는,
이전 라운드로부터 수신되는 데이터를 기설정된 테이블의 값으로 치환하는 치환 함수;
상기 치환부에 의해 치환된 데이터를 행단위로 쉬프트 시키는 쉬프트 함수 및
상기 쉬프트부에 의해 쉬프트된 데이터에 상기 키 전개부로부터 제공받는 생성한 암호키를 더하는 첨가 함수를 포함함을 특징으로 하는
파이프라인을 공유하는 AES 암호화 장치.
16. The method of claim 15,
The last round processed by the last round processing unit of the pipeline structure,
A substitution function for replacing data received from the previous round with a value of a predetermined table;
A shift function for shifting data substituted by the substitution unit by row; and
And an addition function for adding the generated encryption key provided from the key development unit to the data shifted by the shift unit.
AES encryption device that shares the pipeline.
제15항에 있어서,
상기 기설정된 수의 라운드 처리를 공유하는 라운드 처리부들의 수는,
처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나를 포함하는 하드웨어 요구사항을 만족하도록 설계됨을 특징으로 하는
파이프라인을 공유하는 AES 암호화 장치.
16. The method of claim 15,
The number of round processing units sharing the predetermined number of round processing is
Designed to meet hardware requirements including at least one of processing speed, drive frequency or hardware size
AES encryption device that shares the pipeline.
KR1020120048345A 2012-05-08 2012-05-08 Apparatus and method for implementation of aes encryption using shared pipeline Withdrawn KR20130125000A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120048345A KR20130125000A (en) 2012-05-08 2012-05-08 Apparatus and method for implementation of aes encryption using shared pipeline

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120048345A KR20130125000A (en) 2012-05-08 2012-05-08 Apparatus and method for implementation of aes encryption using shared pipeline

Publications (1)

Publication Number Publication Date
KR20130125000A true KR20130125000A (en) 2013-11-18

Family

ID=49853561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120048345A Withdrawn KR20130125000A (en) 2012-05-08 2012-05-08 Apparatus and method for implementation of aes encryption using shared pipeline

Country Status (1)

Country Link
KR (1) KR20130125000A (en)

Similar Documents

Publication Publication Date Title
US11329801B2 (en) Initialization vector generation when performing encryption and authentication in wireless communications
EP2007110B1 (en) Apparatus and methods for negotiating a capability in establishing a peer-to-peer communication link
EP2034659A2 (en) Apparatus and method for deriving keys for securing peer links
Rezvani et al. Hardware implementations of NIST lightweight cryptographic candidates: A first look
CN109361507B (en) A data encryption method and encryption device
US7688974B2 (en) Rijndael block cipher apparatus and encryption/decryption method thereof
US8625781B2 (en) Encrypton processor
CN101969376B (en) Self-adaptive encryption system and method with semantic security
US7653196B2 (en) Apparatus and method for performing RC4 ciphering
GB2383860A (en) Apparatus for encryption and decrytion, capable of use in encryption and decryption of Advanced Encryption Standard (RIJNDAEL)
CN106233660A (en) Encryption processing device, encryption processing method, and program
CN103199992B (en) Safe frequency hop sequences building method based on evolutionary cryptosystem
CN105007154A (en) Encryption and decryption device based on AES (Advanced Encryption Standard) algorithm
Zhang et al. Optimization and implementation of AES algorithm based on FPGA
Mohurle et al. Review on realization of AES encryption and decryption with power and area optimization
CN103427981A (en) Encryption and decryption achieving method and device
US9135834B2 (en) Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation
Balamurugan et al. High speed low cost implementation of advanced encryption standard on fpga
KR20130125000A (en) Apparatus and method for implementation of aes encryption using shared pipeline
CN115037443B (en) A round computing unit and corresponding encryption and decryption algorithm system
CN117792699A (en) A distributed cycle encryption method
US20060177050A1 (en) Method and system for hardware accelerator for implementing f8 confidentiality algorithm in WCDMA compliant handsets
Tana et al. Efficient FPGA implementation of a wireless communication system using Bluetooth connectivity
CN1833399A (en) Rijndael block cipher apparatus and encryption/decryption method thereof
US9602479B2 (en) Encryption based on network information

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20120508

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid