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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization 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
본 발명은 초고속 무선랜 시스템의 보안기능 제공을 위해 사용되는 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
그리고, 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
그리고, 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
[수학식 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
도 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
[수학식 2] &Quot; (2) "
최고 데이터 처리속도 = 주파수 * 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
도 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 암호화 장치(400)는 초기라운드부터 최종라운드까지 별도의 하드웨어가 존재하지 않고 하나의 라운드 로직(421-426)을 두번씩 반복 사용하는 구조로 매 클럭마다 64 bit의 평문 데이터 블록의 입력이 가능하며 내부에서 두번의 입력을 모아서 128bit 단위로 처리한다. 최초의 128bit 평문 블록이 모두 입력된 후 11 클럭 후에 암호문 블록이 출력되기 시작하여 매 2 클럭마다 암호문 블록이 출력 될 수 있다. 한 번의 라운드를 거칠 때 1 클럭을 소모 할 경우 입력된 128 bit 평문 블록이 11번의 라운드를 돌고 암호문으로 출력되고 매 2 클럭마다 데이터 평문 블럭을 입력할 수 있으므로 최고 데이터 처리속도는 아래 <수학식 3>과 같다.
[수학식 3]&Quot; (3) "
최고 데이터 처리속도 = 주파수 * 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
도 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 암호화 장치(500)는 초기라운드부터 최종라운드까지 별도의 하드웨어가 존재하지 않고 하나의 라운드 로직(521-523)을 2번 또는 4번씩 반복 사용하는 구조로 매 클럭마다 32 bit의 평문 데이터 블록의 입력이 가능하며 내부에서 네번의 입력을 모아서 128bit 단위로 처리한다.The
따라서, 32bit를 사용하는 AES 암호화 장치(500)의 경우 6756.75Mbps 정도의 데이터를 처리하기 위해서 필요한 구동주파수는 210MHz로 늘어나지만 하드웨어 사이즈는 파이프라인 구조에 비해서 1/4로 줄어드는 장점이 있다.Therefore, the
도 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
그리고, AES 암호화 구현장치는 620단계에서 하드웨어 요구사항을 만족하는 라운드 처리부의 수를 설정한다.In
예를 들어 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
그리고, AES 암호화 구현장치는 640단계에서 라운드 처리부의 수보다 필요한 라운드의 수가 더 크면, 라운드 처리부들 각각에서 처리하는 라운드 수를 설정한다. 이때, AES 암호화 구현장치는 라운드 처리부들 각각에서 처리하는 라운드의 수가 최소가 되도록 설정한다.In
그리고, 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
도 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
키 전개부(710)는 암호키를 수신해서 각각의 라운드에 대응하는 암호키를 생성하고, 생성한 암호키를 대응하는 라운드를 처리하는 라운드 처리부에 제공한다.The
라운드 처리부(720-722)들은 기설정된 수의 라운드 처리를 공유한다. 이때, 라운드 처리부(720-722)들의 수는 처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나를 포함하는 하드웨어 요구사항을 만족하도록 설계된 것이다.The round processing units 720-722 share a predetermined number of round processings. In this case, the number of
라운드 처리부(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
도 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
요구사항 확인부(810)는 하드웨어 요구사항을 확인한다. 이때, 하드웨어 요구사항은 처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나일 수 있다.Requirements check
규모 설정부(820)는 하드웨어 요구사항을 만족하는 라운드 처리부(720-722)의 수를 설정한다.The
예를 들어 규모 설정부(820)는 하드웨어 요구사항이 처리속도인 경우, 처리속도를 만족하면서 최대한 낮은 구동 주파수와 최대한 작은 크기의 하드웨어가 되도록 라운드 처리부(720-722)의 수를 설정할 수 있다.For example, when the hardware requirement is the processing speed, the
다른 예로 규모 설정부(820)는 하드웨어 요구사항이 하드웨어 크기인 경우, 하드웨어 크기를 만족하면서 최대한 낮은 구동 주파수와 최대한 처리속도가 빠르도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is hardware size, the
또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 구동 주파수인 경우, 구동 주파수를 만족하면서 최대한 작은 크기의 하드웨어와 최대한 처리속도가 빠르도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is the driving frequency, the
또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 처리속도와, 하드웨어의 크기인 경우, 처리속도와 하드웨어의 크기를 만족하면서 최대한 낮은 구동 주파수를 가지도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is processing speed and the size of hardware, the
또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 하드웨어 크기와 구동 주파수인 경우, 하드웨어 크기와 구동 주파수를 만족하면서 최대한 처리속도가 빠르도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirements are hardware size and driving frequency, the
또 다른 예로 규모 설정부(820)는 하드웨어 요구사항이 구동 주파수와 처리속도인 경우, 구동 주파수와 처리속도를 만족하면서 최대한 작은 크기의 하드웨어가 되도록 라운드 처리부(720-722)의 수를 설정할 수 있다.As another example, when the hardware requirement is the driving frequency and the processing speed, the
라운드 확인부(830)는 AES 암호화에 필요한 라운드의 수를 확인한다. 일반적으로 AES 암호화의 초기라운드에서 최종라운드는 총 11 라운드로 구성된다.The
공유 설정부(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
설계부(850)는 설정된 라운드의 수만큼을 공유하는 라운드 처리부(720-722)들이 파이프 라인으로 연결되고, 라운드 처리부(720-722)들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부(710)로 구성된 암호화 장치(700)를 설계한다.The
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 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.
상기 공유설정 단계에서 설정된 라운드의 수만큼을 공유하는 상기 라운드 처리부들이 파이프 라인으로 연결되고, 상기 라운드 처리부들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부로 구성된 암호화 장치를 설계하는 단계를 더 포함하는
파이프라인을 공유하는 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.
상기 하드웨어 요구사항은,
처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나임을 특징으로 하는
파이프라인을 공유하는 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.
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 처리속도인 경우, 상기 처리속도를 만족하면서 최대한 낮은 구동 주파수와 최대한 작은 크기의 하드웨어가 되도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 하드웨어 크기인 경우, 상기 하드웨어 크기를 만족하면서 최대한 낮은 구동 주파수와 최대한 처리속도가 빠르도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 구동 주파수인 경우, 상기 구동 주파수를 만족하면서 최대한 작은 크기의 하드웨어와 최대한 처리속도가 빠르도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 처리속도와, 하드웨어의 크기인 경우, 상기 처리속도와 하드웨어의 크기를 만족하면서 최대한 낮은 구동 주파수를 가지도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 하드웨어 크기와 구동 주파수인 경우, 상기 하드웨어 크기와 상기 구동 주파수를 만족하면서 최대한 처리속도가 빠르도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부의 수를 설정하는 단계는,
상기 하드웨어 요구사항이 구동 주파수와 처리속도인 경우, 상기 구동 주파수와 상기 처리속도를 만족하면서 최대한 작은 크기의 하드웨어가 되도록 상기 라운드 처리부의 수를 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 단계는,
상기 라운드 처리부들 각각에서 처리하는 라운드의 수가 최소가 되도록 설정하는
파이프라인을 공유하는 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.
상기 라운드 처리부들 각각에서 처리하는 라운드 수를 설정하는 단계는,
초기 라운드 만을 단독으로 처리하도록 라운드 처리부를 설정하는
파이프라인을 공유하는 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.
상기 공유 설정부에서 설정된 라운드의 수만큼을 공유하는 상기 라운드 처리부들이 파이프 라인으로 연결되고, 상기 라운드 처리부들 각각에 라운드에 대응하는 암호키를 제공하는 키 전개부로 구성된 암호화 장치를 설계하는 설계부를 더 포함하는
파이프라인을 공유하는 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.
상기 하드웨어 요구사항은,
처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나임을 특징으로 하는
파이프라인을 공유하는 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.
상기 라운드 처리부들 중에서 상기 파이프 라인 구조의 첫번째의 라운드 처리부는,
초기 라운드 만을 처리하는
파이프라인을 공유하는 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.
상기 초기 라운드는,
상기 키 전개부로부터 제공받는 생성한 암호키를 수신하는 평문 블록에 더하는 첨가 함수를 포함함을 특징으로 하는
파이프라인을 공유하는 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.
상기 라운드는,
이전 라운드로부터 수신되는 데이터를 기설정된 테이블의 값으로 치환하는 치환 함수;
상기 치환부에 의해 치환된 데이터를 행단위로 쉬프트 시키는 쉬프트 함수;
상기 쉬프트부에 의해 쉬프트된 데이터를 매트릭스 연산을 통해 열 단위로 혼합하는 혼합 함수; 및
상기 혼합부에 의해 혼합된 데이터에 상기 키 전개부로부터 제공받는 생성한 암호키를 더하는 첨가 함수를 포함함을 특징으로 하는
파이프라인을 공유하는 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.
상기 파이프 라인 구조의 마지막 라운드 처리부에서 마지막으로 처리하는 최종 라운드는,
이전 라운드로부터 수신되는 데이터를 기설정된 테이블의 값으로 치환하는 치환 함수;
상기 치환부에 의해 치환된 데이터를 행단위로 쉬프트 시키는 쉬프트 함수 및
상기 쉬프트부에 의해 쉬프트된 데이터에 상기 키 전개부로부터 제공받는 생성한 암호키를 더하는 첨가 함수를 포함함을 특징으로 하는
파이프라인을 공유하는 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.
상기 기설정된 수의 라운드 처리를 공유하는 라운드 처리부들의 수는,
처리속도, 구동 주파수 또는 하드웨어의 크기 중에서 적어도 하나를 포함하는 하드웨어 요구사항을 만족하도록 설계됨을 특징으로 하는
파이프라인을 공유하는 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.
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) |
-
2012
- 2012-05-08 KR KR1020120048345A patent/KR20130125000A/en not_active Withdrawn
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 |