KR100574945B1 - 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법 - Google Patents
겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법 Download PDFInfo
- Publication number
- KR100574945B1 KR100574945B1 KR1020030055031A KR20030055031A KR100574945B1 KR 100574945 B1 KR100574945 B1 KR 100574945B1 KR 1020030055031 A KR1020030055031 A KR 1020030055031A KR 20030055031 A KR20030055031 A KR 20030055031A KR 100574945 B1 KR100574945 B1 KR 100574945B1
- Authority
- KR
- South Korea
- Prior art keywords
- cipher text
- nth
- round
- ciphertext
- rounds
- Prior art date
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
-
- 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/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법이 개시된다. 본 발명의 겹침 연산 방식의 암호화 방법은 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계와, 제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제2 내지 제N+1 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계와, 그리고 제1 암호문과 제2 암호문을 비교하여, 제1 암호문과 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 포함한다. 제1 및 제2 하드웨어 엔진들은 DES(Data Encryption Standard) 알고리즘으로 동작된다. 제1 내지 제N+1 오류원들은 온도 쇼크, 기압 쇼크, RF 에너지, 강한 이온 충격, 자외선, 그리고 레이저 에너지와 같은 환경 변화에 따른 공격으로 인해 제1 및 제N 라운드마다 오류를 발생시킬 확률을 높인다. 이러한 상황에서, 본 발명의 암호화 방법은 제1 암호문과 제2 암호문이 동일할 경우에 그 암호문을 출력하도록 하여, 높은 안전성을 갖는 암호화 알고리즘을 제공한다.
DES, 오류원, 겹침 연산 방식, 변동 클럭 방식, 암호화 엔진
Description
도 1은 일반적인 DES 알고리즘을 설명하기 위한 암호화 장치의 일반적인 블럭도이다.
도 2는 도 1의 보조키 Ki를 발생하는 키 스케쥴(Key Schedule)을 설명하는 도면이다.
도 3은 일반적인 DES 코아 아키텍쳐의 블럭을 설명하는 도면이다.
도 4는 본 발명의 제1 실시예에 따른 겹침 연산 방식을 구현하는 암호화 엔진을 설명하는 도면이다.
도 5는 본 발명의 제2 실시예에 따른 변동 클럭 방식을 구현하는 암호화 엔진을 설명하는 도면이다.
본 발명은 암호화 방법 및 암호화 장치에 관한 것으로, 특히 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법에 관한 것이다.
일반적으로, 데이터 암호화 표준(DES: Data Encryption Standard, 이하 "DES"라고 칭한다) 알고리즘은 가장 널리 쓰이고 있는 암호화 방식으로 네트워킹 사용이 증가함에 따라 그 중요성이 더해가고 있다. 특히, 보안 인터넷 응용이나 원격 접근 서버나 케이블 모뎀과 위성용 모뎀 등의 분야에서 많이 이용되고 있다.
DES는 기본적으로 64 비트 블럭의 입력 및 출력을 가지는 64 비트 블럭 암호이며, 64 비트의 키 블럭 중 56 비트가 암호화 및 복호화에 사용되고 나머지 8 비트는 패러티 검사용으로 사용된다. 64 비트의 평문(Plain Text) 블럭과 56 비트의 키(Key)를 입력으로 해서 64 비트의 암호문(Cipher Text) 블럭을 출력하는 암호화 장치이다.
DES를 실현하는 중요한 기법은 치환(P-Box), 대치(S-Box) 그리고 보조키(Subkey)를 발생하는 키 스케쥴 등이 있다. 데이터 암호화부의 내부는 16 라운드의 반복 연산을 수행하는 형태로 되어 있고 입력부의 초기 치환(IP)과 출력부의 역 초기 치환(IP-¹)으로 구성된다.
도 1은 일반적인 DES 알고리즘을 설명하기 위한 암호화 장치의 일반적인 블럭도이다. 이를 참조하면, 암호화 장치의 알고리즘은 먼저 64 비트의 평문 블럭을 초기 치환(IP: Initial Permutation)에 의해 치환을 수행하는 초기 치환부(110)와 , 초기 치환부(110)의 64 비트 블럭을 두개의 32 비트 블럭으로 나누어 왼쪽 변수(L0)와 오른쪽 변수(R0)에 저장하고 사이퍼(Cipher) 함수 f로 수행되는 16 라운드의 곱 변형(Product Transformation)과 왼쪽 변수(Li, i=1 내지 16)와 오른쪽 변수(Ri, i=1 내지 16)를 매 라운드마다 교환하여 16 라운드의 블럭 변형(Block Transfomation)을 수행하는 변형부(120)와 16 라운드에 걸친 변형이 끝난 후 역 초기 치환(IP-¹)을 거쳐서 암호화된 암호문을 출력하는 역 초기 치환부(130)로 구성된다.
변형부(120)에서의 곱 변형은 초기 치환부(110)에서 나누어진 32 비트의 블럭 중에서 오른쪽 변수(Ri)에 저장된 데이터를 키 스케쥴(Key Schedule)에 의해서 생성된 보조키(Subkey) Ki와 함께 입력시켜서 암호화 연산을 수행하는 사이퍼 함수 f(121)와 사이퍼 함수 f의 결과를 전단의 왼쪽 변수(Li)의 출력과 함께 배타적 논리합하여 후단의 오른쪽 변수로 출력하는 익스쿠르시브-오아부(122)에 의해 구현된다. 익스쿠르시브-오아부(122)의 32 비트의 데이터는 오른쪽 변수(Ri+1)에 저장되고 오른쪽 변수(Ri)에 저장된 32 비트의 데이터는 다음 라운드의 왼쪽 변수(Li+1)에 교환되어 저장된다. 이러한 1 라운드의 연산이 반복되어 16 라운드가 수행되는 것이다.
초기 치환부(110)를 거친 64 비트의 평문 블럭을 둘로 나누어 왼쪽 레지스터(L0)와 오른쪽 레지스터(R0)에 입력하면 16회의 각 라운드는 다음 수학식1과 수학식2로 표현된다.
도 2는 보조키 Ki(i=1 내지 16)를 발생하는 키 스케쥴(Key Schedule)을 설명하는 도면이다. 이를 참조하면, 키 스케쥴은 56 비트의 키(Key)를 입력 받아서 치환하는 제1 치환 선택부(PC1:Permutation Choice 1)(200)와, 제1 치환 선택부(200)에 의해서 치환된 56 비트의 블럭을 28 비트의 두 블럭으로 나누어서 변수 C0와 D0에 저장한 후, 16 라운드의 곱 변형 연산 중 사이퍼 함수의 연산에 필요한 48 비트의 보조키를 생성하기 위해 왼쪽 변수 Ci(211)와 오른쪽 변수 Di(212)를 왼쪽 쉬프터(213, 214)에 의해서 한자리 또는 두자리씩 왼쪽으로 쉬프터시켜 다음 라운드의 왼쪽 변수 Ci+1과 오른쪽 변수 Di+1에 저장하는 기본 연산부(210) 및 각 라운드 마다 쉬프트된 왼쪽 변수 Ci 및 오른쪽 변수 Di의 28 비트의 블럭을 입력 받아서 48 비트의 보조키 Ki를 출력하는 제2 치환 선택부(PC2)(220)로 구성된다. 16 라운드 동안 Ci와 Di는 28 자리 수 만큼 쉬프트되어 C0와 C16, 그리고 D0와 D16은 서로 같은 데이터가 된다.
도 3은 일반적인 DES 코아 아키텍쳐의 블럭을 설명하는 도면이다. 이를 참조하면, 사이퍼 함수 f는 오른쪽 레지스터에 저장된 32 비트의 입력(Ri-1) 중 몇개를 복사하여 48 비트로 치환되는 확장 치환부(Expansion Permutation)(300)와, 확장 치환부(300)의 치환 결과를 각 라운드에서 키 스케쥴에 의해서 생성된 48 비트의 보조키와 배타적 논리합하는 익스쿠르시브-오아부(310), 익스쿠르시부 오아부(310)에서 연산된 48 비트의 블럭을 32 비트의 블럭으로 대치(Substitution)하는 S-Box 치환부(320), 그리고 S-Box 치환부(320)의 치환된 32 비트의 블럭을 다시 치환하여 32 비트의 블럭을 생성하는 P-Box 치환부(330)로 구성된다. P-Box 치환부(330)를 거친 32 비트의 블럭은 왼쪽 레지스터에 저장되어 있는 32 비트의 블럭(Li-1)과 배타적 논리합되어 다음 라운드의 오른쪽 레지스터에 Ri로 저장된다. 오른쪽 레지스터에 저장되어 있던 32 비트의 블럭(Ri-1)은 다음 라운드의 왼쪽 레지스터 Li로 저장된다.
DES를 공격하는 알고리즘으로 차분 해독법(Differential Cryptanalysis)과 선형 해독법(linear Cryptanalysis)등이 널리 알려져 있다. 그러나 이러한 공격방법은 DES의 알고리즘의 취약성을 이용한 것으로 실제 공격에는 적합한 것은 아니었다. 최근 Fault Attack이 RSA와 같은 공개키 방식의 알고리즘에 효과적인 공격 방법으로 등장하고 차분 해독법을 고안한 Eli Biham이 Fault Attack을 DES와 같은 블록 암호법에 적용한 DFA(Differential Fault Attack)을 새롭게 제안하였다. 기존의 공격방법에 비해 매우 적은 수백개의 평문쌍을 가지고 키를 찾아낼 수 있는 방법으로 이론적인 공격방법보다 치명적인 공격방법이다. 따라서 이러한 DFA에 대한 안전성을 보장할 수 있는 암호화 장치 및 방법이 요구된다.
본 발명의 목적은 인위적, 자연적 오류로 인한 키값의 유출을 방지하기 위해 겹침 연산 방식을 구현하는 암호화 방법을 제공하는 데 있다.
본 발명의 다른 목적은 변동 클럭 방식을 구현하는 암호화 방법을 제공하는 데 있다.
본 발명의 또다른 목적은 겹침 연산 방식과 변동 클럭 방식을 구현하는 이중 암호화 방법을 제공하는 데 있다.
상기 목적을 달성하기 위하여, 본 발명의 겹침 연산 방식의 암호화 방법은 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계; 제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제2 내지 제N+1 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계; 및 제1 암호문과 제2 암호문을 비교하여, 제1 암호문과 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 구비하고, 제1 및 제2 하드웨어 엔진의 제1 라운드 각각은 평문 블럭을 두 블럭으로 나누어 왼쪽 레지스터와 오른쪽 레지스터에 입력하는 단계; 오른쪽 레지스터에 저장된 데이터는 보조키와 함께 사이퍼 함수 f를 통해 암호화 연산하는 단계; 및 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터의 출력과 함께 배타적 논리합하여 다음 라운드의 오른쪽 레지스터에 저장하고, 오른쪽 레지스터에 저장된 데이터는 다음 라운드의 왼쪽 레지스터에 교환되어 저장하는 단계로 구성되고, 제1 라운드의 연산이 N번 반복되어 제1 및 제2 하드웨어 엔진의 제1 내지 제N 라운드의 암호화 연산을 수행한다.
바람직하기로, 제1 및 제2 하드웨어 엔진들은 DES(Data Encryption Standard)와 같이 라운드를 구분할 수 있는 모든 블록 암호화 알고리즘에 적용될 수 있다. 제1 내지 제N+1 오류원들은 온도 쇼크(temperature shock), 기압 쇼크(barometric shock), RF 에너지, 강한 이온 충격(heavy ion bombardment), 자외선, 그리고 레이저 에너지(laser energy)와 같은 환경 변화에 따른 공격(attack) 으로 인해 제1 하드웨어 엔진과 제 2 하드웨어 엔진의 다른 라운드에서 오류를 발생하도록 하여 제 1하드웨어 엔진과 제2 하드웨어 엔진의 결과값이 다르도록 하여 오류가 발생한 암호문을 사용하지 않도록 한다.
그리고, 겹침 연산 방식의 암호화 방법은 제1 암호문과 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는 단계를 더 구비하고, 64 비트로 구성되는 평문을 32 비트씩 두 블럭으로 나누어 암호화 처리한다.
상기 다른 목적을 달성하기 위하여, 본 발명의 변동 클럭 방식의 암호화 방법은 제1 클럭 신호에 응답하여 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계; 제2 클럭 신호에 응답하여 제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계; 및 제1 암호문과 제2 암호문을 비교하여, 제1 암호문과 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 구비하고, 제1 및 제2 하드웨어 엔진의 제1 라운드 각각은 평문 블럭을 두 블럭으로 나누어 왼쪽 레지스터와 오른쪽 레지스터에 입력하는 단계; 오른쪽 레지스터에 저장된 데이터는 보조키와 함께 사이퍼 함수 f를 통해 암호화 연산하는 단계; 및 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터의 출력과 함께 배타적 논리합하여 다음 라우드의 오른쪽 레지스터에 저장하고, 오른쪽 레지스터에 저장된 데이터는 다음 라운드의 왼쪽 레지스터에 교환되어 저장하는 단계로 구성되고, 제1 라운드의 연산이 N번 반복되어 제1 및 제2 하드웨어 엔진의 제1 내지 제N 라운드의 암호화 연산을 수행한다.
더욱 바람직하기로, 변동 클럭 방식의 암호화 방법은 겹침 연산 방식에서와 동일하게 암호 연산의 시작점을 다르게 하고 제1 하드웨어 엔진의 동작 클럭과 제2 하드웨어 엔진의 동작 클럭을 다르게 하여 공격자가 오류를 주입할 경우 다른 연산 시점에 오류가 발생하도록 하여 최종 단계에서 제 1하드웨어 연산의 결과와 제2 하드웨어 연산 결과가 서로 다르도록 하는 방법이다.
그리고, 변동 클럭 방식의 암호화 방법은 제1 암호문과 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는 단계를 더 구비하고, 64 비트로 구성되는 평문을 32 비트씩 두 블럭으로 나누어 암호화 처리한다
상기 또다른 목적을 달성하기 위하여, 본 발명의 이중 암호화 방법은 제1 클럭 신호에 응답하여 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계; 제2 클럭 신호에 응답하여 제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제2 내지 제N+1 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계; 및 제1 암호문과 상기 제2 암호문을 비교하여, 제1 암호문과 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 구비하고, 제1 및 제2 하드웨어 엔진의 제1 라운드 각각은 평문 블럭을 두 블럭으로 나누어 왼쪽 레지스터와 오른쪽 레지스터에 입력하는 단계; 오른쪽 레지스터에 저장된 데이터는 보조키와 함께 사이퍼 함수 f를 통해 암호화 연산하는 단계; 및 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터의 출력과 함께 배타적 논리합하여 다음 라우드의 오른쪽 레지스터에 저장하고, 오른쪽 레지스터에 저장된 데이터는 다음 라운드의 왼쪽 레지스터에 교환되어 저장하는 단계로 구성되고, 제1 라운드의 연산이 N번 반복되어 제1 및 제2 하드웨어 엔진의 제1 내지 제N 라운드의 암호화 연산을 수행한다.
그리고, 이중 암호화 방법은 제1 암호문과 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는 단계를 더 구비하고, 64 비트로 구성되는 평문을 32 비트씩 두 블럭으로 나누어 암호화 처리한다
따라서, 본 발명의 암호화 방법에 의하면, 제1 및 제2 하드웨어 엔진의 각 라운드 마다의 연산 과정에서 오류가 발생되도록 서로 다른 오류원을 제공하고 서로 다른 클럭 주파수로 동작시켜, 그 결과로 제1 및 제2 암호문이 서로 다를 확률을 높인다. 이러한 상황에서, 제1 암호문과 제2 암호문이 동일할 경우에 그 암호문을 출력하도록 하여, 높은 안전성을 갖는 암호화 알고리즘을 제공한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 제1 실시예에 따른 암호화 엔진을 설명하는 도면이다. 이를 참조하면, N번의 겹침 연산 방식(N overlapping operation mode)을 사용하는 2개의 하드웨어 엔진들(430, 440)이 보여진다. 제1 하드웨어 엔진(430)의 각 라운드들로는 오류원들(falut sources, F1, F2, F3 …, Fn-1, Fn)이 제공된다. 제2 하드웨어 엔진(440)의 각 라운드들로도 오류원들(F2, F3, …, Fn, Fn+1)이 제공된다.
오류원들(F1, F2, F3, …, Fn-1, Fn, Fn+1)은 온도 쇼크(temperature shock), 기압 쇼크(barometric shock), RF 에너지, 강한 이온 충격(heavy ion bombardment), 자외선, 그리고 레이저 에너지(laser energy) 등과 같은 환경 변화에 따른 공격(attack)으로 인해 각 라운드마다 오류(fault)를 발생시키는 요인을 의미한다.
64 비트의 평문 블럭(410)이 제1 하드웨어 엔진(430)과 제2 하드웨어 엔진(440)으로 각각 입력된다. 제1 및 제2 하드웨어 엔진(430, 440) 각각은 앞서 도 1의 변형부(120)와 거의 동일한 구성을 갖는다.
제1 및 제2 하드웨어 엔진(430, 440) 각각은 64 비트의 평문 블럭(410)을 32 비트의 두 블럭으로 나누어 왼쪽 레지스터(Li, 도 1)와 오른쪽 레지스터(Ri, 도 1)에 입력되고, 오른쪽 레지스터(Ri)에 저장된 데이터는 보조키 Ki와 함께 사이퍼 함수 f를 통해 암호화 연산하고, 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터(Li)의 출력과 함께 배타적 논리합하여 다음 라우드의 오른쪽 레지스터(Ri+1)에 저장되고, 오른쪽 레지스터(Ri)에 저장된 데이터는 다음 라운드의 왼쪽 레지스터(Li+1)에 교환되어 저장된다. 이러한 1 라운드의 연산이 반복되어 n 라운드의 연산이 수행된다.
제1 하드웨어 엔진(430)의 제1 라운드로 제1 오류원(F1)이 제공된다. 제2 내지 제n 오류원들(F2, F3, …, Fn-1, Fn)은 제1 하드웨어 엔진(430)의 제2 내지 제n 라운드로 각각 제공된다. 제1 하드웨어 엔진(430)의 제2 라운드로 제공된 제2 오류 원(F2)은 제2 하드웨어 엔진(440)의 제1 라운드로 제공되고, 제1 하드웨어 엔진(430)의 제3 라운드로 제공된 제3 오류원(F3)은 제2 하드웨어 엔진(440)의 제2 라운드로 제공되고, 제1 하드웨어 엔진(430)의 제n 라운드로 제공된 제n 오류원은 제2 하드웨어 엔진(440)의 제(n-1) 라운드로 제공된다. 그리고 제2 하드웨어 엔진(440)의 제n 라운드로 제(n+1) 오류원이 제공된다.
평문 블럭(410)은 제1 하드웨어 엔진(430)을 통해 암호화 처리되어 제1 암호문으로 출력되고, 제2 하드웨어 엔진(440)을 통해 암호화 처리되어 제2 암호문으로 출력된다.
본 실시예의 제1 하드웨어 엔진(430)은 제1 라운드에서 평문 블럭(410)을 입력하고 제1 오류원(F1)에 의해 발생된 제1 라운드 오류(fault)를 포함하는 연산 결과를 출력하고, 제2 라운드에서는 제1 라운드에서 발생된 제1 라운드 오류를 포함하는 연산 결과를 입력하고 제2 오류원(F2)에 의해 발생되는 제2 라운드 오류를 포함하는 연산 결과를 출력한다. 이러한 방식으로, 제n 라운드에서는 제(n-1) 라운드에서 발생된 제(n-1) 라운드 오류를 포함하는 연산 결과를 입력하고 제n 오류원(Fn)에 의해 발생되는 제n 오류를 포함하는 연산 결과를 제1 암호문으로 출력한다(435).
본 실시예의 제2 하드웨어 엔진(440)은 제1 라운드에서 평문 블럭(410)을 입력하고 제2 오류원(F2)에 의해 발생된 제2 라운드 오류(fault)를 포함하는 연산 결과를 출력하고, 제2 라운드에서는 제1 라운드에서 발생된 제2 라운드 오류를 포함하는 연산 결과를 입력하고 제3 오류원(F3)에 의해 발생되는 제3 라운드 오류를 포 함하는 연산 결과를 출력한다. 이러한 방식으로, 제(n-1) 라운드에서는 제(n-2) 라운드에서 발생된 제(n-2) 라운드 오류를 포함하는 연산 결과를 입력하고 제n 오류원(Fn)에 의해 발생되는 제n 오류를 포함하는 연산 결과를 출력하고, 제n 라운드에서는 제(n-1) 라운드에서 발생된 제n 라운드 오류를 포함하는 연산 결과를 입력하고 제(n+1) 오류원(Fn+1)에 의해 발생되는 제n+1 오류를 포함하는 연산 결과를 제2 암호문으로 출력한다(445).
이 후, 제1 암호문과 제2 암호문은 비교되는 데(450), 제1 암호문과 제2 암호문이 일치하면 그 일치된 암호문을 출력하고(460), 제1 암호문과 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는다(470).
본 실시예의 암호화 엔진(400)은 이상적으로 제1 하드웨어 엔진(430)과 제2 하드웨어 엔진(440)이 동일한 연산 결과로 제1 암호문과 제2 암호문을 출력할 것을 기대한다.
그런데, 제1 및 제2 하드웨어 엔진(430, 440)의 각 라운드 마다 서로 다른 오류원(F1, F2, …, Fn-1, Fn, Fn+1)을 제공하여 이에 영향을 받아, 제1 및 제2 하드웨어 엔진(430, 440)의 동일한 라운드 마다 다른 오류를 포함하여 그 연산 결과가 서로 다르게 될 가능성을 높인다. 그리하여, 최종적으로 출력되는 제1 및 제2 하드웨어 엔진(430, 440)의 제1 암호문과 제2 암호문이 서로 다를 확률이 매우 높다.
그럼에도 불구하고, 제1 하드웨어 엔진(430)에서 출력되는 제1 암호문과 제2 하드웨어 엔진(440)에서 출력되는 제2 암호문이 일치한다는 것은 평문(410)의 암호 화 처리가 오류원들(F1, F2, …, Fn-1, Fn, Fn+1)에 대하여 면역성을 가지면서 안전하게 수행되었다는 것을 의미한다. 그러므로, 제1 암호문과 제2 암호문이 일치하면 그 일치된 암호문을 출력하여 암호화 동작을 마친다.
본 실시예에서는 제1 및 제2 하드웨어 엔진(430, 440)의 각 라운드 마다 서로 다른 오류원(F1, F2, …, Fn-1, Fn, Fn+1)이 제공되는 예에 대하여 기술하고 있다. 이를 구현하는 방안으로, 제1 하드웨어 엔진(430)과 제2 하드웨어 엔진(440)의 동작 시점을 1 라운드 차이가 나도록 설정한다.
도 5는 본 발명의 제2 실시예에 따른 암호화 엔진을 설명하는 도면이다. 이를 참조하면, 암호화 엔진(500)은 도 4의 암호화 엔진(400)과 비교하여 제1 및 제2 하드웨어 엔진(530, 540)의 각 라운드 마다 제공되는 오류원들(F1, F2, …, Fn)이 동일하다는 점에서 차이가 있다. 그리고, 제1 클럭 신호(CLK1)의 주파수와 제2 클럭 신호(CLK2)의 주파수를 서로 다르게 설정하고, 제1 하드웨어 엔진(530)의 동작은 제1 클럭 신호(CLK1)에 응답하여 수행되고, 제2 하드웨어 엔진(540)의 동작은 제2 클럭 신호(CLK2)에 응답하여 수행된다는 점에서 차이가 있다.
64 비트의 평문 블럭(510)이 제1 하드웨어 엔진(530)과 제2 하드웨어 엔진(540)으로 각각 입력된다. 제1 및 제2 하드웨어 엔진(530, 540) 각각은 64 비트의 평문 블럭(410)을 32 비트의 두 블럭으로 나누어, 도 3에 도시된 하나의 라운드 연산을 반복하여 n 라운드의 연산을 수행한다.
제1 하드웨어 엔진(530)의 제1 라운드로 제1 오류원(F1)이 제공된다. 제2 내지 제n 오류원들(F2, F3, …, Fn-1, Fn)은 제1 하드웨어 엔진(530)의 제2 내지 제n 라운드로 각각 제공된다. 그리고, 제1 하드웨어 엔진(530)의 제1 라운드로 제공된 제1 오류원(F1)은 제2 하드웨어 엔진(540)의 제1 라운드로 제공되고, 제1 하드웨어 엔진(530)의 제2 라운드로 제공된 제2 오류원(F2)은 제2 하드웨어 엔진(540)의 제2 라운드로 제공되고, 제1 하드웨어 엔진(530)의 제n 라운드로 제공된 제n 오류원은 제2 하드웨어 엔진(540)의 제n 라운드로 제공된다.
본 실시예의 제1 하드웨어 엔진(530)은 제1 클럭 신호(CLK1)에 응답하여 제1 라운드에서 평문 블럭(510)을 입력하고 제1 오류원(F1)에 의해 발생된 제1 라운드 오류(fault)를 포함하는 연산 결과를 출력하고, 제2 라운드에서는 제1 라운드에서 발생된 제1 라운드 오류를 포함하는 연산 결과를 입력하고 제2 오류원(F2)에 의해 발생되는 제2 라운드 오류를 포함하는 연산 결과를 출력한다. 이러한 방식으로, 제n 라운드에서는 제(n-1) 라운드에서 발생된 제(n-1) 라운드 오류를 포함하는 연산 결과를 입력하고 제n 오류원(Fn)에 의해 발생되는 제n 오류를 포함하는 연산 결과를 제1 암호문으로 출력한다(535).
본 실시예의 제2 하드웨어 엔진(540)은 제2 클럭 신호(CLK2)에 응답하여 제1 라운드에서 평문 블럭(510)을 입력하고 제1 오류원(F1)에 의해 발생된 제1 라운드 오류(fault)를 포함하는 연산 결과를 출력하고, 제2 라운드에서는 제1 라운드에서 발생된 제1 라운드 오류를 포함하는 연산 결과를 입력하고 제2 오류원(F2)에 의해 발생되는 제2 라운드 오류를 포함하는 연산 결과를 출력한다. 이러한 방식으로, 제n 라운드에서는 제(n-1) 라운드에서 발생된 제(n-1) 라운드 오류를 포함하는 연산 결과를 입력하고 제n 오류원(Fn)에 의해 발생되는 제n 오류를 포함하는 연산 결 과를 제2 암호문으로 출력한다(545).
이 후, 제1 암호문과 제2 암호문은 비교되는 데(550), 제1 암호문과 제2 암호문이 일치하면 그 일치된 암호문을 출력하고(560), 제1 암호문과 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는다(570).
본 실시예의 암호 엔진(500)도 이상적으로 제1 하드웨어 엔진(530)과 제2 하드웨어 엔진(540)이 동일한 연산 결과로 제1 암호문과 제2 암호문을 출력할 것을 기대한다.
그런데, 제1 및 제2 하드웨어 엔진(530, 540)의 연산 시작 시점이 다르고 동작 시점이 클럭 주파수가 서로 다른 제1 클럭 신호(CLK1)와 제2 클럭 신호(CLK2)에 의해 각각 결정되기 때문에, 제1 및 제2 하드웨어 엔진(530, 540)이 동일한 라운드를 수행하지 않으므로 같은 시점에 오류를 주입할지라도 제1 하드웨어 엔진과 제2 하드웨어 엔진의 다른 연산 단계에 영향을 미치게 되어 제1 하드웨어 엔진과 제2 하드웨어 엔진의 결과 값은 다르게 된다.
이러한 상황에도 불구하고, 제1 하드웨어 엔진(530)에서 출력되는 제1 암호문과 제2 하드웨어 엔진(540)에서 출력되는 제2 암호문이 일치한다는 것은 평문(510)의 암호화 처리가 오류원들(F1, F2, …, Fn-1, Fn, Fn+1)에 대하여 면역성을 가지면서 안전하게 수행되었다는 것을 의미한다. 그러므로, 본 실시예의 암호엔진(500)은 제1 암호문과 제2 암호문이 일치하면 그 일치된 암호문을 출력하여 암호화 동작을 마친다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하다. 예컨대, 본 발명의 제1 실시예에서는 제1 및 제2 하드웨어 엔진의 각 라운드의 연산 동작이 겹쳐서 수행되는 예에 대하여 기술하고, 제2 실시에에서는 제1 및 제2 하드웨어 엔진의 각 라운드의 연산 동작이 서로 다른 속도로 이루어지는 예에 대하여 기술하였다. 이로부터, 제1 실시예의 동작과 제2 실시예의 동작을 결합하여, 제1 및 제2 하드웨어 엔진의 각 라운드 마다 서로 다른 오류원을 제공하여 제1 및 제2 하드웨어 엔진의 동일한 라운드 마다 다른 오류를 포함하도록 하고 제1 및 제2 하드웨어 엔진의 각 라운드의 연산 동작이 서로 다른 속도로 수행되도록 설계할 수 있음은 물론이다.
본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 본 발명의 암호화 엔진에 의하면, 제1 및 제2 하드웨어 엔진의 각 라운드 마다의 연산 과정에서 오류가 발생되도록 서로 다른 오류원을 제공하고 서로 다른 클럭 주파수로 동작시켜, 그 결과로 제1 및 제2 암호문이 서로 다를 확률을 높인다. 이러한 상황에서, 제1 암호문과 제2 암호문이 동일할 경우에 그 암호문을 출력하도록 하여, 높은 안전성을 갖는 암호화 알고리즘을 제공한다.
Claims (17)
- 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계;제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 상기 제2 내지 제N+1 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계; 및상기 제1 암호문과 상기 제2 암호문을 비교하여, 상기 제1 암호문과 상기 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 구비하고,상기 제1 및 제2 하드웨어 엔진의 제1 라운드 각각은평문 블럭을 두 블럭으로 나누어 왼쪽 레지스터와 오른쪽 레지스터에 입력하는 단계;상기 오른쪽 레지스터에 저장된 데이터는 보조키와 함께 사이퍼 함수 f를 통해 암호화 연산하는 단계; 및상기 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터의 출력과 함께 배타적 논리합하여 다음 라우드의 오른쪽 레지스터에 저장하고, 상기 오른쪽 레지스터에 저장된 데이터는 다음 라운드의 왼쪽 레지스터에 교환되어 저장하는 단계로 구성되고,상기 제1 라운드의 연산이 N번 반복되어 상기 제1 및 제2 하드웨어 엔진의 제1 내지 제N 라운드의 암호화 연산을 수행하는 겹침 연산 방식의 암호화 방법.
- 제1항에 있어서, 상기 제1 및 제2 하드웨어 엔진들은DES(Data Encryption Standard) 알고리즘으로 동작되는 것을 특징으로 하는 겹침 연산 방식의 암호화 방법.
- 제1항에 있어서, 상기 제1 내지 제N+1 오류원들은온도 쇼크(temperature shock), 기압 쇼크(barometric shock), RF 에너지, 강한 이온 충격(heavy ion bombardment), 자외선, 그리고 레이저 에너지(laser energy)와 같은 환경 변화에 따른 공격(attack)으로 인해 상기 제1 및 제N 라운드마다 오류(fault)를 발생시킬 확률을 높이는 것을 특징으로 하는 겹침 연산 방식의 암호화 방법.
- 제1항에 있어서, 상기 겹침 연산 방식의 암호화 방법은상기 제1 암호문과 상기 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는 단계를 더 구비하는 것을 특징으로 하는 겹침 연산 방식의 암호화 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 겹침 연산 방식의 암호화 방법은64 비트로 구성되는 상기 평문을 32 비트씩 상기 두 블럭으로 나누는 것을 특징으로 하는 겹침 연산 방식의 암호화 방법.
- 제1 클럭 신호에 응답하여 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계;제2 클럭 신호에 응답하여 제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드 들 각각으로 상기 제1 내지 제N 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계; 및상기 제1 암호문과 상기 제2 암호문을 비교하여, 상기 제1 암호문과 상기 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 구비하고,상기 제1 및 제2 하드웨어 엔진의 제1 라운드 각각은평문 블럭을 두 블럭으로 나누어 왼쪽 레지스터와 오른쪽 레지스터에 입력하는 단계;상기 오른쪽 레지스터에 저장된 데이터는 보조키와 함께 사이퍼 함수 f를 통해 암호화 연산하는 단계; 및상기 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터의 출력과 함께 배타적 논리합하여 다음 라우드의 오른쪽 레지스터에 저장하고, 상기 오른쪽 레지스터에 저장된 데이터는 다음 라운드의 왼쪽 레지스터에 교환되어 저장하는 단계로 구성되고,상기 제1 라운드의 연산이 N번 반복되어 상기 제1 및 제2 하드웨어 엔진의 제1 내지 제N 라운드의 암호화 연산을 수행하는 변동 클럭 방식의 암호화 방법.
- 제6항에 있어서, 상기 변동 클럭 방식의 암호화 방법은상기 제1 클럭 신호의 활성화 시점과 상기 제2 클럭 신호의 활성화 시점이 서로 다른 것을 특징으로 하는 변동 클럭 방식의 암호화 방법.
- 제6항에 있어서, 상기 변동 클럭 방식의 암호화 방법은상기 제1 클럭 신호의 주파수와 상기 제2 클럭 신호의 주파수가 서로 다른 것을 특징으로 하는 변동 클럭 방식의 암호화 방법.
- 제6항에 있어서, 상기 변동 클럭 방식의 암호화 방법은상기 제1 암호문과 상기 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는 단계를 더 구비하는 것을 특징으로 하는 변동 클럭 방식의 암호화 방법.
- 제6항에 있어서, 상기 제1 내지 제N+1 오류원들은온도 쇼크(temperature shock), 기압 쇼크(barometric shock), RF 에너지, 강한 이온 충격(heavy ion bombardment), 자외선, 그리고 레이저 에너지(laser energy)와 같은 환경 변화에 따른 공격(attack)으로 인해 상기 제1 및 제N 라운드마다 오류(fault)를 발생시킬 확률을 높이는 것을 특징으로 하는 겹침 연산 방식의 암호화 방법.
- 제6항 내지 제10항 증 어느 한 항에 있어서, 상기 변동 클럭 방식의 암호화 방법은64 비트로 구성되는 상기 평문을 32 비트씩 상기 두 블럭으로 나누는 것을 특징으로 하는 변동 클럭 방식의 암호화 방법.
- 제1 클럭 신호에 응답하여 제1 하드웨어 엔진의 제1 라운드 내지 제N 라운드 들 각각으로 제1 내지 제N 오류원들을 순차적으로 제공하여 제1 암호문을 출력하는 단계;제2 클럭 신호에 응답하여 제2 하드웨어 엔진의 제1 라운드 내지 제N 라운드들 각각으로 상기 제2 내지 제N+1 오류원들을 순차적으로 제공하여 제2 암호문을 출력하는 단계; 및상기 제1 암호문과 상기 제2 암호문을 비교하여, 상기 제1 암호문과 상기 제2 암호문이 일치하는 경우 일치된 암호문을 출력하는 단계를 구비하고,상기 제1 및 제2 하드웨어 엔진의 제1 라운드 각각은평문 블럭을 두 블럭으로 나누어 왼쪽 레지스터와 오른쪽 레지스터에 입력하는 단계;상기 오른쪽 레지스터에 저장된 데이터는 보조키와 함께 사이퍼 함수 f를 통해 암호화 연산하는 단계; 및상기 사이퍼 함수 f의 결과는 전단의 왼쪽 레지스터의 출력과 함께 배타적 논리합하여 다음 라우드의 오른쪽 레지스터에 저장하고, 상기 오른쪽 레지스터에 저장된 데이터는 다음 라운드의 왼쪽 레지스터에 교환되어 저장하는 단계로 구성되고,상기 제1 라운드의 연산이 N번 반복되어 상기 제1 및 제2 하드웨어 엔진의 제1 내지 제N 라운드의 암호화 연산을 수행하는 이중 암호화 방법.
- 제12항에 있어서, 상기 이중 암호화 방법은상기 제1 클럭 신호의 활성화 시점과 상기 제2 클럭 신호의 활성화 시점이 서로 다른 것을 특징으로 하는 이중 암호화 방법.
- 제12항에 있어서, 상기 이중 암호화 방법은상기 제1 클럭 신호의 주파수와 상기 제2 클럭 신호의 주파수가 서로 다른 것을 특징으로 하는 이중 암호화 방법.
- 제12항에 있어서, 상기 이중 암호화 방법은상기 제1 암호문과 상기 제2 암호문이 일치하지 않으면 암호문을 출력하지 않는 단계를 더 구비하는 것을 특징으로 하는 이중 암호화 방법.
- 제12항에 있어서, 상기 제1 내지 제N+1 오류원들은온도 쇼크(temperature shock), 기압 쇼크(barometric shock), RF 에너지, 강한 이온 충격(heavy ion bombardment), 자외선, 그리고 레이저 에너지(laser energy)와 같은 환경 변화에 따른 공격(attack)으로 인해 상기 제1 및 제N 라운드마다 오류(fault)를 발생시킬 확률을 높이는 것을 특징으로 하는 이중 암호화 방법.
- 제12항 내지 제16항 중 어느 한 항에 있어서, 상기 이중 암호화 방법은64 비트로 구성되는 상기 평문을 32 비트씩 상기 두 블럭으로 나누는 것을 특징으로 하는 이중 암호화 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030055031A KR100574945B1 (ko) | 2003-08-08 | 2003-08-08 | 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법 |
US10/875,719 US20050031121A1 (en) | 2003-08-08 | 2004-06-25 | Encryption method and apparatus |
FR0408630A FR2858731B1 (fr) | 2003-08-08 | 2004-08-04 | Procede et appareil de cryptage |
DE102004038594A DE102004038594B4 (de) | 2003-08-08 | 2004-08-06 | Verschlüsselungsverfahren und -vorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030055031A KR100574945B1 (ko) | 2003-08-08 | 2003-08-08 | 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050015857A KR20050015857A (ko) | 2005-02-21 |
KR100574945B1 true KR100574945B1 (ko) | 2006-04-28 |
Family
ID=34075011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030055031A KR100574945B1 (ko) | 2003-08-08 | 2003-08-08 | 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050031121A1 (ko) |
KR (1) | KR100574945B1 (ko) |
DE (1) | DE102004038594B4 (ko) |
FR (1) | FR2858731B1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100546375B1 (ko) | 2003-08-29 | 2006-01-26 | 삼성전자주식회사 | 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법 |
KR100699836B1 (ko) * | 2005-03-19 | 2007-03-27 | 삼성전자주식회사 | 스칼라 곱에서 dfa 대책을 위한 장치 및 방법 |
GB2434234B (en) * | 2005-03-19 | 2008-01-02 | Samsung Electronics Co Ltd | Scalar multiplication apparatus and method |
US20080052530A1 (en) * | 2006-02-16 | 2008-02-28 | International Business Machines Corporation | System and method to provide CPU smoothing of cryptographic function timings |
EP2290575A1 (en) * | 2009-08-31 | 2011-03-02 | Incard SA | IC Card comprising an improved processor |
KR101150289B1 (ko) * | 2010-06-24 | 2012-05-24 | 충북대학교 산학협력단 | 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법 |
DE102013205166A1 (de) * | 2013-03-22 | 2014-09-25 | Robert Bosch Gmbh | Verfahren zum Erzeugen einer Einwegfunktion |
JP6262085B2 (ja) * | 2014-06-25 | 2018-01-17 | ルネサスエレクトロニクス株式会社 | データ処理装置及び復号処理方法 |
CN110341974B (zh) * | 2019-07-25 | 2020-12-04 | 武汉大势智慧科技有限公司 | 无人机云台故障监测方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317638A (en) * | 1992-07-17 | 1994-05-31 | International Business Machines Corporation | Performance enhancement for ANSI X3.92 data encryption algorithm standard |
US6219791B1 (en) * | 1998-06-22 | 2001-04-17 | Motorola, Inc. | Method and apparatus for generating and verifying encrypted data packets |
US6870929B1 (en) * | 1999-12-22 | 2005-03-22 | Juniper Networks, Inc. | High throughput system for encryption and other data operations |
DE10000503A1 (de) * | 2000-01-08 | 2001-07-12 | Philips Corp Intellectual Pty | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
US7685423B1 (en) * | 2000-02-15 | 2010-03-23 | Silverbrook Research Pty Ltd | Validation protocol and system |
DE10136335B4 (de) * | 2001-07-26 | 2007-03-22 | Infineon Technologies Ag | Prozessor mit mehreren Rechenwerken |
DE10211933C1 (de) * | 2002-03-18 | 2003-07-17 | Infineon Technologies Ag | Verfahren und Anordnung zur Erkennung von möglichen Angriffen auf die Schlüsselgenerierung digitaler Schlüssel |
-
2003
- 2003-08-08 KR KR1020030055031A patent/KR100574945B1/ko not_active IP Right Cessation
-
2004
- 2004-06-25 US US10/875,719 patent/US20050031121A1/en not_active Abandoned
- 2004-08-04 FR FR0408630A patent/FR2858731B1/fr not_active Expired - Fee Related
- 2004-08-06 DE DE102004038594A patent/DE102004038594B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20050015857A (ko) | 2005-02-21 |
DE102004038594A1 (de) | 2005-09-08 |
DE102004038594B4 (de) | 2009-01-22 |
FR2858731A1 (fr) | 2005-02-11 |
US20050031121A1 (en) | 2005-02-10 |
FR2858731B1 (fr) | 2006-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6985582B1 (en) | Encryption/decryption unit and storage medium | |
US11546135B2 (en) | Key sequence generation for cryptographic operations | |
KR100296958B1 (ko) | 블록 데이터 암호화 장치 | |
EP0618701B1 (en) | Hardware arrangement for enciphering bit blocks while renewing a key at each iteration | |
Brown et al. | Improving resistance to differential cryptanalysis and the redesign of LOKI | |
EP1722502A1 (en) | Key masking for cryptographic processes | |
US20050232430A1 (en) | Security countermeasures for power analysis attacks | |
JP2011103686A (ja) | 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法 | |
EP2137856A1 (en) | A simple and efficient one-pass authenticated encryyption scheme | |
Bogdanov | Attacks on the KeeLoq block cipher and authentication systems | |
Bogdanov | Linear slide attacks on the KeeLoq block cipher | |
KR100574945B1 (ko) | 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법 | |
WO2017173136A9 (en) | Key update for masked keys | |
Bogdanov | Cryptanalysis of the KeeLoq block cipher | |
Biham et al. | A unified approach to related-key attacks | |
US20140153725A1 (en) | Low-power encryption apparatus and method | |
EP1587237A1 (en) | Security countermeasures for power analysis attacks | |
Joux et al. | Loosening the KNOT | |
EP1001398B1 (en) | Ciphering apparatus | |
Reddy et al. | A new symmetric probabilistic encryption scheme based on random numbers | |
WO2009104827A1 (en) | Method and apparatus for generating key stream for stream cipher, s-box for block cipher and method for substituting input vector using the s-box | |
Lu et al. | The higher-order meet-in-the-middle attack and its application to the Camellia block cipher | |
US20240113871A1 (en) | Encryption processing apparatus, encryption processing method for encryption processing apparatus, and storage medium | |
Hasan | Key-joined block ciphers with input-output pseudorandom shuffling applied to remotely keyed authenticated encryption | |
Tay | Applying Differential Cryptanalysis to DES Reduced to 5 Rounds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090415 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |