KR20050092698A - A small hardware implementation of the subbyte function of rijndael - Google Patents
A small hardware implementation of the subbyte function of rijndael Download PDFInfo
- Publication number
- KR20050092698A KR20050092698A KR1020057010593A KR20057010593A KR20050092698A KR 20050092698 A KR20050092698 A KR 20050092698A KR 1020057010593 A KR1020057010593 A KR 1020057010593A KR 20057010593 A KR20057010593 A KR 20057010593A KR 20050092698 A KR20050092698 A KR 20050092698A
- Authority
- KR
- South Korea
- Prior art keywords
- affine
- linedal
- lookup table
- inverse
- transformation
- 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.)
- Ceased
Links
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 54
- 230000009466 transformation Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 19
- 238000000844 transformation Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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/122—Hardware reduction or efficient architectures
-
- 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)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
본 발명은 데이터 암호화 분야에 관한 것이다. 본 발명은 특히 AES(Advanced Encryption Standard) 알고리즘 또는 라인달 암호(Rijndael Cipher)(이하에서는 AES/Rijndael이라 함)에서 나타나는 서브바이트 함수의 소형 하드웨어 실행을 위한 장치 및 방법에 관한 것이다. 이 내용은 역 및 정상 프로세싱으로 작업하도록 재설계될 수 있다. The present invention relates to the field of data encryption. The present invention relates, in particular, to apparatus and methods for small hardware implementation of subbyte functions represented in AES (Advanced Encryption Standard) algorithms or Rijndael Cipher (hereinafter referred to as AES / Rijndael). This content can be redesigned to work with reverse and normal processing.
당해 분야의 현 기술 수준은 역 암호가 암호를 구현하는 회로를 부분적으로만 재사용할 수 있는 하드웨어를 제공한다. 고속 네트워킹 프로세서 및 스마트 카드 애플리케이션에 있어서, 매우 작고(게이트 사이즈) (OC-192의 광학 캐리어 레이트 9953.28 Mbps를 넘어 9.6 Gbps의 페이로드를 수용하는)높은 데이터 레이트가 바람직하다.The state of the art in the art provides hardware in which reverse cryptography can only partially reuse circuits that implement cryptography. For high speed networking processor and smart card applications, a very small (gate size) and high data rate (accommodating a payload of 9.6 Gbps beyond the optical carrier rate of 9953.28 Mbps of OC-192) is desirable.
AES/Rijndael은 통합 블록 암호이며, 1999년 3월 9일 발행된 Joan Daemen 및 Vincent Rijmen에 의한 제안에 설명되어 있다. NIST(National Institute of Standard and Technology)는 AES/Rijndael을 암호 알고리즘으로 승인하고 2001년 11월 26일에 AES/Rijndael을 간행하였는데(Federal Information Processing Standard 197 또는 "FIPS 197"로 알려져 있는 간행물 197 참조), 이것은 본 명세서에 참조로서 포함된다. AES/Rijndael을 포함하는 많은 비밀키 암호/해독 알고리즘에 따르면, 암호/해독은 일반적으로 반복(iteration) 또는 라운드(round)로 알려져 있는 복수의 단계에서 수행된다. 이러한 알고리즘은 데이터 처리 파이프라인 또는 파이프라인들의 아키텍처에 적용된다. 각 라운드에서, AES/Rijndael은 정보를 해독하고(decipher) 암호화하는(encrypt) 다른 변환과 함께 아핀 변환(affine transformation) 및 그 역을 이용한다. 암호화는 데이터를 암호문(cipher text)이라고 하는 이해할 수 없는 형태(unintelligible)로 변환시키는 것이고, 해독은 이 데이터를 평문(plaintext)이라고 하는 원래의 형태로 다시 변환시키는 것이다.AES / Rijndael is an integrated block cipher and is described in a proposal by Joan Daemen and Vincent Rijmen, issued March 9, 1999. The National Institute of Standards and Technology (NIST) approved AES / Rijndael as a cryptographic algorithm and published AES / Rijndael on November 26, 2001 (see Federal Information Processing Standard 197 or publication 197, known as "FIPS 197"). , Which is incorporated herein by reference. According to many secret key encryption / decryption algorithms, including AES / Rijndael, encryption / decryption is generally performed in a plurality of steps, known as iterations or rounds. This algorithm applies to the architecture of a data processing pipeline or pipelines. In each round, AES / Rijndael uses affine transformation and vice versa, along with other transformations that decrypt and encrypt the information. Encryption converts data into an unintelligible form called cipher text, and decryption converts the data back to its original form called plaintext.
AES/Rijndael 알고리즘에 대한 입력 및 출력은 각각 128 비트(각각 0 또는 1의 값을 가짐)의 시퀀스로 이루어진다. 이들 시퀀스는 일반적으로 블록이라고 지칭되며, 이들이 포함하는 비트 수는 이들 시퀀스의 길이라고도 한다("FIPS 197", NIST, 7페이지 참조). AES/Rijndael 알고리즘에서 처리에 대한 기본 단위는, 좌측에 최상위 비트(MSB)를 갖는 단일 엔티티로서 처리된 8 비트의 시퀀스인 바이트이다. 내부적으로, AES/Rijndael 알고리즘의 연산이 스테이트(state)라고 하는 2차원 바이트 어레이에 대해 수행된다. 이 스테이트는 각각 Nb 바이트를 포함하는 4개의 바이트의 행으로 이루어지는데, Nb는 32로 나누어진 블록 길이이다("FIPS 197", NIST, 9 페이지 참조).The inputs and outputs to the AES / Rijndael algorithm consist of a sequence of 128 bits (each with a value of 0 or 1, respectively). These sequences are generally referred to as blocks, and the number of bits they contain is also referred to as the length of these sequences (see "FIPS 197", NIST, page 7). The basic unit of processing in the AES / Rijndael algorithm is a byte, which is a sequence of 8 bits processed as a single entity with the most significant bit (MSB) on the left. Internally, the operation of the AES / Rijndael algorithm is performed on a two-dimensional byte array called a state. This state consists of four bytes of rows each containing Nb bytes, where Nb is a block length divided by 32 (see "FIPS 197", NIST, page 9).
암호 및 역 암호(암호 및 해독)의 시작 시에, 입력인 바이트의 어레이 in0, in1, ... in15가 도 1에 도시된 스테이트 어레이로 복사된다. 그 다음에 암호 또는 역 암호 연산이 이 상태 어레이 내의 각 바이트에 대해 행해지고, 그 후 최종 값이 출력인 바이트 어레이 out0, out1, ... out15로 복사된다.At the beginning of the cipher and reverse cipher (cipher and decryption), an array of input in bytes in 0 , in 1 , ... in 15 is copied into the state array shown in FIG. 1. A cryptographic or inverse cryptographic operation is then performed for each byte in this state array, and then copied into the byte array out 0 , out 1 , ... out 15, where the final value is the output.
유한 필드 내의 두 요소의 합은 두 요소에 대한 다항식 내의 대응하는 멱(power)에 대한 계수들을 덧셈(adding)함으로써 달성된다. 이 덧셈은 불의 배타적 XOR 연산("FIPS 197", NIST, 10페이지 참조)에 의해 수행된다. 2 바이트의 덧셈에 대한 2진 표시는 다음과 같다.The sum of two elements in the finite field is achieved by adding the coefficients for the corresponding power in the polynomial for the two elements. This addition is performed by a Boolean exclusive XOR operation ("FIPS 197", NIST, see page 10). The binary representation of the addition of two bytes is:
(1.0) (1.0)
다항식 표현에서, GF(28)에서의 곱셈은 다항식 모듈로 8차 기약 다항식의 곱셈과 일치한다. 다항식은 제수가 1과 자신인 경우에만 약분할 수 없다. AES/Rijndael 알고리즘에 있어서, 이 기약 다항식은 다음과 같다("FIPS 197", NIST, 10페이지 참조).In the polynomial expression, the multiplication in GF (2 8 ) is consistent with the multiplication of the polynomial modulo 8th order polynomial. A polynomial cannot be abbreviated only if the divisor is 1 and itself. For the AES / Rijndael algorithm, this shorthand polynomial is as follows (see "FIPS 197", NIST, page 10).
(1.1) (1.1)
각각의 대각 요소가 1인 대각 행렬은 단위 행렬이라고 한다. n×n 단위 행렬은 In으로 표시된다.A diagonal matrix where each diagonal element is 1 is called an identity matrix. The n × n unit matrix is represented by In.
(1.2) (1.2)
만약 A 및 B가 n×n 행렬이고, 다음이 성립하면 이들은 각각에 대해 역행렬이 된다.If A and B are n × n matrices, and the following holds, they are inverses for each.
(1.3) (1.3)
행렬에 의한 곱셈과 벡터의 덧셈으로 이루어지는 변환은 아핀 변환(Affine Transformation)이라고 한다.The transformation that consists of multiplication by matrix and addition of vectors is called affine transformation.
AES/Rijndael의 SubByte() 함수는 대치 테이블(S-box)을 이용하는 스테이트의 각 바이트에 대해 독립적으로 연산하는 비선형 바이트 대치(substitution)이다. 이 S-box는 가역적이며, 두 변환을 구성하는 것에 의해 제작된다.The SubByte () function of AES / Rijndael is a non-linear byte substitution that operates independently for each byte of the state using an S-box. This S-box is reversible and is produced by constructing two transforms.
1. 전술한 유한 필드 GF(28)에서의 곱에 관한 역원을 취한다. 요소 {00}은 자신에게로 맵핑된다.1. Take the inverse of the product in the finite field GF (2 8 ) described above. Element {00} is mapped to itself.
2. 다음 아핀 변환을 (GF(2)에 대해) 적용한다.2. Apply the following affine transformations (for GF (2)).
(1.4) (1.4)
행렬 형태로, S-box의 아핀 변환 요소는 다음과 같이 표현될 수 있다("FIPS 197", NIST, 16페이지).In matrix form, the affine transform elements of the S-box can be expressed as follows ("FIPS 197", NIST, p. 16).
(1.5) (1.5)
만약 이것이 AES/Rijndael 제안에 의해 제안된 룩업 테이블로서 구현되면, 256 엔트리 ROM 또는 멀티플렉서가 요구될 것이다. AES/Rijndael 알고리즘을 구현하기 위해, 이 테이블의 12 개의 인스턴스 생성(instantiation)이 요구될 것이다. 이 행렬의 역은 다음과 같을 수 있다.If this is implemented as a lookup table proposed by the AES / Rijndael proposal, a 256 entry ROM or multiplexer will be required. In order to implement the AES / Rijndael algorithm, 12 instances of this table will be required. The inverse of this matrix can be
(1.6) (1.6)
만약 이것이 AES/Rijndael 제안에 의해 제안된 룩업 테이블로서 구현되면, 128 엔트리, 16 비트 워드 ROM 또는 멀티플렉서가 요구될 것이다. AES/Rijndael 알고리즘을 구현하기 위해, 이 테이블의 12개의 인스턴스 생성이 요구될 것이다.If this is implemented as a lookup table proposed by the AES / Rijndael proposal, then a 128 entry, 16 bit word ROM or multiplexer will be required. In order to implement the AES / Rijndael algorithm, 12 instances of this table will be required.
도 1은 스테이트 어레이 입력 및 출력("FIPS 197", NIST 9페이지 참조)을 도시한 도면.1 illustrates a state array input and output ("FIPS 197", see NIST page 9).
도 2는 종래 기술의 ROM과 본 발명의 아핀 올로 구현된 서브바이트 함수의 룩업 테이블(멀티플렉서) 구현의 비교를 도시한 도면.2 shows a comparison of a look-up table (multiplexer) implementation of a prior art ROM and a subbyte function implemented with affine all of the present invention.
도 3은 본 발명의 아핀 올 변환에 사용된 룩업 테이블 또는 ROM을 도시한 도면.3 illustrates a lookup table or ROM used in the affine all transformation of the present invention.
도 4는 아핀 올 조합 로직의 넷리스트(netlist)를 도시한 도면.4 shows a netlist of affine all combinatorial logic.
따라서, 게이트 수를 줄이기 위한 아핀 변환을 위해 거의 모든 회로를 공유하는 시스템 및 방법이 요구된다. 높은 데이터 레이트 및 작은 게이트 사이즈를 얻기 위해, 최대 경로가 너무 길지 않도록 설계되어야 하고, 다이 사이즈를 크게 증가시키지 않으면서 병렬 처리를 촉진하도록 디자인이 복제될 수 있도록 게이트 사이즈가 작게 설계되어야 한다. 다이의 크기가 커지면, 비용 및 전력 소비가 증가하여 제품의 시장 가치가 떨어진다. 본 발명은 최대 경로 지연을 약간 증가시키면서 게이트 사이즈를 감소시키는 장치 및 방법에 관한 것이다. 이것은 회로의 크기를 감소시켜, 높은 데이터 레이트 디자인의 매력이 있다.Thus, there is a need for a system and method that shares nearly all circuitry for affine conversion to reduce the number of gates. To achieve high data rates and small gate sizes, the maximum path must be designed not to be too long, and the gate size must be designed so that the design can be replicated to facilitate parallel processing without significantly increasing die size. As dies grow in size, cost and power consumption increase, resulting in a lower market value of the product. The present invention is directed to an apparatus and method for reducing gate size while slightly increasing maximum path delay. This reduces the size of the circuit, making it attractive for high data rate designs.
AES/Rijndael의 아핀 변환 및 역 아핀 변환 쌍이 본 발명에 의해 하나의 변환, 즉 아핀 올 변환(Affine-All transform)으로 감소한다. 바람직한 실시예에서, 회로는 매우 적은 이중 논리로 정상 아핀 변환 및 역 아핀 변환을 모두 수행한다. 이 바람직한 실시예에서, 곱에 관한 역 ROM으로 아핀 올 변환을 구현함으로써, 로직이 크게 감소하고, ROM의 경우보다는 약간 더 크지만 멀티플렉서로 구현한 경우에 비해 최대 경로 지연이 감소한다.The affine and inverse affine transformation pairs of AES / Rijndael are reduced by one invention to one transformation, the Affine-All transform. In a preferred embodiment, the circuit performs both normal and inverse affine transformations with very little double logic. In this preferred embodiment, by implementing the affine all transformation with inverse ROM on the product, the logic is greatly reduced, and the maximum path delay is reduced compared to the implementation with multiplexers, although slightly larger than with ROM.
따라서, 본 발명의 바람직한 실시예는 곱에 관한 역원에 대해 판독 전용 메모리(ROM)를 채용하고, 아핀 변환을 위해 감소된 조합 로직을 채용한다. 이 구현예는 최대 지연 경로는 비슷하면서 게이트 수가 매우 적다.Thus, a preferred embodiment of the present invention employs read only memory (ROM) for the inverse of the product and employs reduced combinatorial logic for affine transformation. This implementation has a very small number of gates with similar maximum delay paths.
본 발명은 마지막 행에서부터 행렬식 (1.5) 및 (1.6)의 각 행이 이전의 행으로부터 1 비트씩 좌측으로 이동한다는 사실에 부분적으로 기초한다. 본 발명에서, 각 행렬의 제 1 행은 "로드 패턴(load pattern)"이라고 한다. 따라서, 아핀 변환 행렬의 "로드 패턴"은 {10001111}이고, 역 아핀 변환에 대한 "로드 패턴"은 {00100101}이다. 각 "로드 패턴 내의 0의 개수는 홀수이고, 두 변환을 본 발명의 시스템 및 방법에서 하나의 회로로 병합할 수 있다는 것이 중요한 특징이라는 점에 유의하라.The present invention is based in part on the fact that from the last row each row of determinants (1.5) and (1.6) is shifted left by one bit from the previous row. In the present invention, the first row of each matrix is referred to as a "load pattern". Thus, the "load pattern" of the affine transformation matrix is {10001111} and the "load pattern" for the inverse affine transformation is {00100101}. Note that the number of zeros in each "load pattern is odd, and it is an important feature that the two transformations can be merged into one circuit in the system and method of the present invention.
만약 두 아핀 변환이 배타적 OR 게이트를 사용하는 Daemen 및 Rijmen("FIPS 197" 참조)에 의해 제안된 바와 같이 구현되면, 회로 방정식은 다음과 같이 된다.If the two affine transformations are implemented as suggested by Daemen and Rijmen (see "FIPS 197") using an exclusive OR gate, the circuit equation becomes as follows.
아핀 변환식Affine conversion
(1.7) (1.7)
각 식은 홀수개의 항을 가지며 다섯 개의 동일한 수의 항을 갖는다는 점에 유의하라. 벡터의 덧셈은 일부 식의 부정(negation)을 결정한다. 따라서 각 식 내의 항의 수는 "로드 패턴"에 의해 결정된다. 부정의 수는 "로드 벡터"라고 하는 벡터의 덧셈에 의해 결정된다.Note that each equation has an odd number of terms and five equal numbers of terms. The addition of the vector determines the negation of some equations. Thus, the number of terms in each equation is determined by the "rod pattern". The number of negations is determined by the addition of a vector called a "load vector".
역 아핀 변환식Inverse Affine Conversion
(1.8) (1.8)
각 식은 홀수 개의 항을 가지며 세 개의 동일한 항을 갖는다. 벡터의 덧셈은 일부 식의 부정을 결정한다. 따라서 각 식 내의 항의 개수는 "로드 패턴"에 의해 결정된다. 부정의 수는 벡터의 덧셈에 의해 결정된다. Each equation has an odd number of terms and three identical terms. Addition of vectors determines the negation of some expressions. Thus, the number of terms in each equation is determined by the "rod pattern". The number of negations is determined by the addition of the vector.
이 덧셈 벡터는 또한 "로드 벡터"로서 사용될 수 있다. 두 세트의 식을 살펴보면 병합되는 공통 로직이 없다는 것을 확인할 수 있다. 만약 이 식들이 포함된 "로드 패턴"으로 다시 표현되고 벡터의 덧셈을 이용하여 부정을 결정한다면, 공통 회로가 나타날 것이다. 배타적 OR의 특성이 이것을 달성하는데 사용되며 이들 특성은 다음과 같다.This addition vector can also be used as a "load vector." Looking at the two sets of expressions, we can see that there is no common logic to merge. If these expressions are represented again with the included "load pattern" and use vector addition to determine negation, a common circuit will appear. The properties of exclusive OR are used to achieve this, and these properties are as follows.
(1.9) (1.9)
(2.0) (2.0)
(2.1) (2.1)
(2.2) (2.2)
바람직한 실시예에서, 아핀 변환 및 역 아핀 변환을 모두 구현하는 회로는 곱에 관한 역 ROM을 포함하고, 두 변환을 모두 나타내는 로직은 다음과 같이 "로드 패턴"으로서 p를 "로드 벡터"로서 v를 갖는다. 예를 들면, 아핀 행렬 중 7 개의 식이 다음과 같이 된다.In a preferred embodiment, the circuitry that implements both the affine transformation and the inverse affine transformation comprises an inverse ROM with respect to the product, and logic representing both transformations is defined as p as a "load pattern" and v as a "load vector" as follows. Have For example, the seven equations in the affine matrix are:
(2.3) (2.3)
인스턴스 생성의 수는 반으로 줄었다. p와 b의 덧셈에 의해 생성된 0 때문에, 이 식은 아핀 변환 및 역 아핀 변환 모두에 적용된다. 1과 XOR된 b는 항상 b의 역이기 때문에, 매회 v7을 이용하는 것은 적절한 경우 이 식을 부정한다.The number of instantiations was cut in half. Because of the zero generated by the addition of p and b, this equation applies to both affine and inverse affine transformations. Since b xed with 1 is always the inverse of b, using v 7 each time negates this equation where appropriate.
비교:compare:
AES/Rijndael 제안(FIPS 197 참조)에 의해 제안된 디자인을 사용하는 것은 다음 두 방식으로 구현된다.Using the design proposed by the AES / Rijndael proposal (see FIPS 197) is implemented in two ways:
(1) 128 엔트리, 16 비트 워드 ROM(1) 128-entry, 16-bit word ROM
(2) 128 엔트리, 멀티플렉서로서 구현된 16 비트 워드 룩업 테이블(2) 16-bit word lookup table implemented as a 128-entry, multiplexer
ROM, 멀티플렉서 및 본 발명의 아핀 올 회로 실시예는 합성되었고 최대 경로 해석을 이용하여 조절되었다. 도 2는 게이트의 크기가 주어진 결과 및 비교를 위한 마이크론 크기를 ROM 구현예와 비교한다. 배선 로드 모델이 기술에 따라 다르기 때문에 네트 영역은 고려되지 않는다.ROM, multiplexer and affine all circuit embodiments of the present invention were synthesized and adjusted using maximum path analysis. Figure 2 compares the micron size with the ROM implementation for results and comparison given the size of the gate. The net area is not taken into account because the wiring rod model is technology dependent.
ROM 또는 룩업 테이블의 바람직한 실시예는 16진수로 표현된 도 3에 도시된 값을 포함한다.A preferred embodiment of a ROM or lookup table includes the value shown in FIG. 3 represented in hexadecimal.
바람직한 실시예의 아핀 올 조합 로직의 네트 리스트는 도 4에 도시되어 있다. 구현을 위한 코드는 부록 A로서 포함된다.The net list of affine all combinatorial logic of the preferred embodiment is shown in FIG. Code for implementation is included as Appendix A.
본 발명은 보안 네트워킹 프로세서, 보안 키보드 장치, 자기 카드 판독 장치, 스마트 카드 판독 장치 및 무선 802.11 장치를 포함하는 통신을 안전하게 할 수 있는 모든 시스템 및 장치에 적용할 수 있다.The present invention is applicable to all systems and devices capable of securely communicating, including secure networking processors, secure keyboard devices, magnetic card readers, smart card readers, and wireless 802.11 devices.
전술한 실시예는 전형적인 예일 뿐이며, 당업자에게 자명한 이들의 변형 및 변경이 가능할 것이다. 전술한 실시예의 여러 변형은 첨부한 청구범위에 구현된 바와 같이 본 발명의 범위로부터 벗어나지 않고 이루어질 수 있다.The above-described embodiments are merely exemplary and modifications and variations thereof will be apparent to those skilled in the art. Various modifications of the above-described embodiments can be made without departing from the scope of the invention as embodied in the appended claims.
부록 AAppendix A
이하, 아핀 올 회로를 구현하기 위한 RTL을 나타낸다.Hereinafter, the RTL for implementing the affine all circuit is shown.
Claims (18)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43336502P | 2002-12-13 | 2002-12-13 | |
| US60/433,365 | 2002-12-13 | ||
| US47352703P | 2003-05-27 | 2003-05-27 | |
| US60/473,527 | 2003-05-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20050092698A true KR20050092698A (en) | 2005-09-22 |
Family
ID=32600143
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020057010593A Ceased KR20050092698A (en) | 2002-12-13 | 2003-11-28 | A small hardware implementation of the subbyte function of rijndael |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US7873161B2 (en) |
| EP (1) | EP1573956A1 (en) |
| JP (1) | JP2006510067A (en) |
| KR (1) | KR20050092698A (en) |
| AU (1) | AU2003302946A1 (en) |
| WO (1) | WO2004056036A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008036940A3 (en) * | 2006-09-22 | 2008-05-08 | Intel Corp | Techniques for merging tables |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20050053379A (en) * | 2003-12-01 | 2005-06-08 | 삼성전자주식회사 | Apparatus and method for performing AES Rijndael Algorithm |
| US7783037B1 (en) * | 2004-09-20 | 2010-08-24 | Globalfoundries Inc. | Multi-gigabit per second computing of the rijndael inverse cipher |
| US8422668B1 (en) | 2006-12-15 | 2013-04-16 | Spansion Llc | Table lookup operation on masked data |
| KR100969961B1 (en) * | 2007-12-20 | 2010-07-15 | 한국전자통신연구원 | Substitution and Method of Substitution of Block Cipher Aria |
| TWI416347B (en) | 2009-06-22 | 2013-11-21 | Realtek Semiconductor Corp | Method and processing circuit for dealing with galois field computation |
| KR101601684B1 (en) * | 2011-05-18 | 2016-03-09 | 한국전자통신연구원 | Method for implementing symmetric key encryption algorithm against power analysis attacks |
| IL235729A (en) * | 2014-11-17 | 2017-06-29 | Kaluzhny Uri | Secure storage device and method |
| US10158485B2 (en) | 2015-09-24 | 2018-12-18 | Intel Corporation | Double affine mapped S-box hardware accelerator |
| US9910792B2 (en) | 2016-04-11 | 2018-03-06 | Intel Corporation | Composite field scaled affine transforms-based hardware accelerator |
| CN119675846B (en) * | 2024-11-21 | 2026-01-20 | 华北电力科学研究院有限责任公司 | A method and apparatus for dynamically generating S-boxes over a finite field |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5091942A (en) * | 1990-07-23 | 1992-02-25 | Ericsson Ge Mobile Communications Holding, Inc. | Authentication system for digital cellular communications |
| KR100889465B1 (en) * | 2000-07-04 | 2009-03-20 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Substitution-Box for Symmetric-Key Ciphers |
| US6937727B2 (en) * | 2001-06-08 | 2005-08-30 | Corrent Corporation | Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels |
| JP3851115B2 (en) * | 2001-06-28 | 2006-11-29 | 富士通株式会社 | Cryptographic circuit |
| DE10136303A1 (en) * | 2001-07-26 | 2003-02-13 | Infineon Technologies Ag | Method and apparatus for performing a byte substitution operation of the Rijndael AES algorithm |
| US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
| JP4328487B2 (en) * | 2002-01-28 | 2009-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Combination circuit, encryption circuit, generation method thereof, and program |
| US20030198345A1 (en) * | 2002-04-15 | 2003-10-23 | Van Buer Darrel J. | Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow |
-
2003
- 2003-11-28 US US10/538,556 patent/US7873161B2/en not_active Expired - Fee Related
- 2003-11-28 KR KR1020057010593A patent/KR20050092698A/en not_active Ceased
- 2003-11-28 EP EP03813221A patent/EP1573956A1/en not_active Withdrawn
- 2003-11-28 JP JP2005502466A patent/JP2006510067A/en not_active Withdrawn
- 2003-11-28 AU AU2003302946A patent/AU2003302946A1/en not_active Abandoned
- 2003-11-28 WO PCT/IB2003/005508 patent/WO2004056036A1/en not_active Ceased
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008036940A3 (en) * | 2006-09-22 | 2008-05-08 | Intel Corp | Techniques for merging tables |
| US7801299B2 (en) | 2006-09-22 | 2010-09-21 | Intel Corporation | Techniques for merging tables |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2004056036A1 (en) | 2004-07-01 |
| JP2006510067A (en) | 2006-03-23 |
| EP1573956A1 (en) | 2005-09-14 |
| US20060109981A1 (en) | 2006-05-25 |
| AU2003302946A1 (en) | 2004-07-09 |
| US7873161B2 (en) | 2011-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| McLoone et al. | High performance single-chip FPGA Rijndael algorithm implementations | |
| KR100800468B1 (en) | Hardware encryption / decryption device and method for low power high speed operation | |
| EP1246389A1 (en) | Apparatus for selectably encrypting or decrypting data | |
| Karthigaikumar et al. | Simulation of image encryption using AES algorithm | |
| US20250013430A1 (en) | Reconfigurable architecture for improvement and optimization of advanced encryption standard | |
| KR20050092698A (en) | A small hardware implementation of the subbyte function of rijndael | |
| Arrag et al. | Design and Implementation A different Architectures of mixcolumn in FPGA | |
| US20060198524A1 (en) | Hardware implementation of the mixcolumn/invmiscolumn functions | |
| Priya et al. | FPGA implementation of efficient AES encryption | |
| Buell | Modern symmetric ciphers—Des and Aes | |
| EP1629626B1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
| Gangadari et al. | FPGA implementation of compact S-Box for AES algorithm using composite field arithmetic | |
| Bajaj et al. | AES algorithm for encryption | |
| Gujar | Image encryption using AES algorithm based on FPGA | |
| Chefranov et al. | One-Time Involutory Matrix-Based Hill Cipher Modification. | |
| Järvinen | Sharing resources between AES and the SHA-3 second round candidates Fugue and Grøstl | |
| James et al. | An Optimized Parallel Mix column and Sub bytes’ design in Lightweight Advanced Encryption Standard | |
| Premananda et al. | MEC S-box based PRESENT lightweight cipher for enhanced security and throughput | |
| Alam et al. | Single chip encryptor/decryptor core implementation of AES algorithm | |
| Schubert et al. | Reusable cryptographic VLSI core based on the SAFER K-128 algorithm with 251.8 Mbit/s throughput | |
| Nampalliwar et al. | Implementation of AES Algorithm | |
| Lee et al. | High‐Speed Hardware Architectures for ARIA with Composite Field Arithmetic and Area‐Throughput Trade‐Offs | |
| Srisuchinwong et al. | A symmetric cipher using autonomous and non-autonomous cellular automata | |
| Rajoriya et al. | REVIEW ON FPGA IMPLEMENTATION OF IMAGE ENCRYPTION AND DECRYPTION USING AES ALGORITHM ALONG WITH KEY ENCRYPTION | |
| Arrag et al. | Several AES variants under VHDL language in FPGA |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20050610 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| N231 | Notification of change of applicant | ||
| PN2301 | Change of applicant |
Patent event date: 20070907 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20081128 Comment text: Request for Examination of Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20100824 Patent event code: PE09021S01D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20101113 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20100824 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |