KR0153758B1 - 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법 - Google Patents
입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법Info
- Publication number
- KR0153758B1 KR0153758B1 KR1019950056850A KR19950056850A KR0153758B1 KR 0153758 B1 KR0153758 B1 KR 0153758B1 KR 1019950056850 A KR1019950056850 A KR 1019950056850A KR 19950056850 A KR19950056850 A KR 19950056850A KR 0153758 B1 KR0153758 B1 KR 0153758B1
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- condition
- replacement circuit
- replacement
- outputting
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Abstract
본 발명은 전 세계적으로 데이터 보호 표준방식으로 널리 알려진 DES(Data Encryption Standard)에서 사용할 수 있는 대치 회로를 입출력 변화공격과 선형공격에 동시에 강한 입출력 변화공격과 선형공격에 안전한 대치 회로 생성기 및 생성방법에 관한 것으로, 보호하고자 하는 64비트 데이터 입력을 통과시키면서 비트 단위로 자리 바꿈하게 하는 전처리부(203); 64비트 키입력을 바이트 단위당 통과시켜 56비트의 키정보를 얻는 패리트 검사부(209); 상기 키 정보를 입력받아 48비트 정보를 생성하여 매 반복 연산에 사용되는 48비트를 공급하는 반복 연산용 키 확장부(210); 상기 전처리부(203)로부터의 하나의 데이터는 16번의 연산처리를 하면서 상기 반복 연산용 키 확장부(210)로부터 확장 키 정보를 혼합하여 처리하는 제1 내지 제16 연산부; 상기 제1 내지 제16연산부로부터의 연산결과를 입력받아 64비트의 데이터 출력신호를 내는 후처리부(207)를 구비하는 것을 특징으로 한다.
Description
제1도는 본 발명이 적용되는 일반적인 정보보호 시스템의 구성도.
제2도는 본 발명이 적용되는 DES 형태 블럭 암호 시스템의 구성도.
제3도는 본 발명이 적용되는 DES의 반복 연산부 구성도.
제4도는 본 발명이 적용되는 DES의 반복 연산부 중 대치회로 구성도.
제5도는 대치회로의 예시도.
제6도는 D1 조건 검사도.
제7도는 L1 조건 검사도.
제8도는 L2 조건 검사도.
제9도는 L3 조건 검사도.
제10도는 L4 조건 검사도.
제11도는 L5 조건 검사도.
제12도는 L6 조건 검사도.
제13도는 본 발명에 의해 8개 대치회로 생성흐름도.
제14도는 본 발명에 의해 생성된 8개 대치회로의 예시도.
* 도면의 주요부분에 대한 부호의 설명
203 : 전처리부 204 내지 206 : 연산부
207 : 후처리부 209 : 패리티 검사부
210 : 반복연산용 키확장부
본 발명은 전 세계적으로 데이터 보호 표준방식으로 널리 알려진 DES(Data Encryption Standard)에서 사용할 수 있는 대치 회로를 입출력 변화공격과 선형공격에 동시에 강한 입출력 변화공격과 선형공격에 안전한 대치 회로 생성기 및 생성방법에 관한 것이다.
현재 실질적으로 가장 널리 이용되고 있는 DES는 90년대에 들어와서 설계 당시의 안전기준(256)보다 훨씬 효과적인 2가지의 공격방법이 발표된 바가 있다. 그 하나는 이스라엘의 샤미어(Shamir)와 비함(Biham)에 의해 제안된 압출력변화 공격(Differential Cryptanalysis)으로 DES 해독이 247의 연산에 의하여 가능하다고 주장하였다. 또 하나는 일본의 마쯔이(Matsui)에 의해 입출력변화 공격의 개념을 확장한 선형공격(Linear Cryptanalysis)으로 DES 해독이 243의 연산으로 가능하다고 주장하였다. 이 2가지 공격의 공통점은 DES내에 핵심적으로 작용하는 8개의 대치회로에 대하여 공격에 실마리가 되는 입출력 변화 특성 및 선형 특성을 사전에 조사하여 유용한 반복 특성을 확률적인 분석에 의해 숨겨진 키정보를 찾아내는 것이다.
본 발명의 목적은 입출력 변화 공격 및 선형 공격에 대비하여 각각 안전한 판단 기준을 제시하고 실제 발생된 8개 대치회로를 생성하여, 현재 DES의 안전성을 향상시켜 2가지 공격이 키 전수 검사의 복잡도(256)보다 월등히 강화된 DES의 입출력 변화공격과 선형공격에 안전한 대치회로 생성기 및 생성방법을 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은, 보호하고자 하는 64비트 데이터 입력을 통과시키면서 비트 단위로 자리 바꿈하게 하는 전처리부; 64비트 키 입력을 바이트 단위당 통과시켜 56비트의 키 정보를 얻는 패리티 검사부; 상기 키 정보를 입력받아 48비트 정보를 생성하여 매 반복연산에 사용되는 48비트를 공급하는 반복 연산용 키 확장부; 상기 전처리부로부터의 하나의 데이타는 16번의 연산처리를 하면서 상기 반복 연산용 키 확장부로부터의 확장 키 정보를 혼합하여 처리하는 제1 내지 제16 연산부; 상기 제1 내지 제16 연산부로부터의 연산결과를 입력받아 64비트의 데이터 출력신호를 내는 후처리부를 구비하는 것을 특징으로 한다.
또한, 입출력 변화 공격에 안전한 대치회로 생성기에 적용되는 생성방법에 있어서, 임의의 대치회로에 대하여 모든 입력 6비트 입력x와 임의의 efg값에 대하여 S(x)와 S(x(11 efg 0))는 동일하지 않아야 하는 조건에 합당한가를 조사하는 제1단계; 상기 제1단계 수행후, 조건을 만족하면 만족하는 대치회로를 선택하여 출력하고 조건에 충족되지 않으면 만족하지 않는 대치회로로 출력하는 제2단계를 포함하여 이루어지는 것을 특징으로 한다.
그리고 선형공격에 안전한 대치회로 생성기에 적용되는 생성방법에 있어서, 선형공격에 안전한 대치회로 생성기의 해당조건(D1)의 만족여부를 판단하여 만족하는 대치회로로 출력하도록 한 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명에 따른 일 실시예를 상세히 설명한다.
제1도는 본 발명이 적용되는 일반적인 정보보호 시스템의 구성도이다.
도면에 의하면 컴퓨터에 저장되는 주요 정보가 안전하지 않는 통신로를 통하여 전달할 때 저장된 평문정보(101)를 송수신자간 사전에 안전한 통신로(107)를 통하여 전달된 키(103)를 사용하여 암호화 변환(102)하여 암호문(104)을 생성하여 원하는 통신 상대방에게 전달된다. 이때 적법한 송수신자가 아닌 제3자는 자신의 임의대로 암호문을 얻을 수 가 있으나 키 정보를 모르기 때문에 합법적으로 원래의 정보로 복원할 수가 없다. 그러나 사전에 합법적으로 배포된 키 정보를 가지고 있는 수신자는 암호화 변환의 역변환이 되는 복호화 변환(105)을 하여 원래의 평문과 동일한 복호문을 얻을 수가 있다.
제2도는 본 발명에 적용되는 DES 형태 블록 암호시스템의 구성도로서, 구체적인 동작방법은 DES를 예를 들어 설명한다.
DES의 입력은 보호하고자 하는 64비트 데이터 입력(201)과 합법적으로 배포된 64비트의 키 입력정보(202)가 되고 출력은 변환된 암호문(208)이 된다.
64비트 데이터 입력은 전처리부(203)를 통과하면서 비트 단위로 자리바꿈을 한다. 64비트 키 입력은 바이트 단위당 패리티 검사부(209)를 통과하여 실질적인 56비트의 키 정보를 얻고 이 정보는 반복 연산부에 사용되는 48비트 정보를 생성하는 반복 연산용 키 확장부(210)을 경유하여 매 반복 연산에 사용되는 48비트를 공급하게 된다.
전처리를 한 데이터는 제1연산부(204), 제2연산부(205)를 지나 제16연산부(206)까지는 확장 키 정보를 혼합하여 처리하게 된다. 16개의 연산부에는 64비트를 반분하는 과정과 오른쪽 반의 32비트 정보는 제3도에서 기술할 반복연산부를 통과하여 32비트 출력을 왼쪽 반의 32비트 정보를 비트 단위로 배타적 논리합 연산을 하고 32비트 단위의 정보를 교환한 후 재차 다음 반복 연산부의 입력으로 된다. 일련의 과정에서 암호화 변환을 복호화 변환과정이 근본적으로 동일하나 사용되는 확장키 정보를 역순으로 사용하면 된다.
제3도는 본 발명에서 사용하는 반복 연산부의 구성도이다.
반복 연산부의 32비트 입력(301)은 32에서 48확장부(302)에 의해 48비트로 확장된다. 즉 입력 32비트를 a1, a2,..., a32이라 하면 32에서 48확장부(302)를 통과하면 a32, a1, a2,..., a5, a6, a5, a6, a7,..., a31, a32가 되어 48비트 정보가 된다.
48비트 정보는 반복연산용 확장키 48비트(304)와 비트 단위로 배타적 논리합 연산을 한 후 6비트 단위의 8개로 분할된다. 분할된 후 각 6비트는 제1대치회로(305), 제2대치회로(306)...제8대치회로(307)에 입력되어 각 4비트 단위로 출력된 8개 부분을 연접시켜 32비트 정보를 얻으며 비트 단위로 자리 바꿈부(308)을 통과하여 32비트 반복 연산부의 출력(309)을 얻는다.
제4도는 본 발명에서 적용 대상이 되는 대치 함수의 구성도이다.
8개의 대치회로는 동일한 구조를 가지며 한 개의 대치회로는 0에서 15까지의 정수를 요소로 하느 4개의 치환표(403)로 구성된다. 동작방법은 6비트의 입력, b0, b1,...,b5 중 b0과 b5비트를 합하여 선택입력(401)이 되어 4개의 치환표(403)중에 하나를 지정하고, 입력 6비트중 가운데 4비트 즉, b1,b2,b3,b4는 지정된 4개의 치환표 가운데 1개의 치환표 값의 주소를 지정하여 저장된 값을 출력하도록 되어 있다.
제5도는 치환회로의 예를 나타낸다.
입력이 이진수로 100011이 되면 b0과 b5를 모아 이진수로 11이 되고 10진수로 3이 된다 .즉, 3번째 치환표(501)를 지정하고 입력의 가운데 4비트 0001 즉 10진수로 1이 되며 3번째 치환표 중 1번째 값(502)를 읽어내면 10진수로 12, 즉 1100을 출력하게 된다. 이러한 치환회로를 수학적인 기호로 표기하면 S(x) : Z6 2→Z1 2인 단사함수로 DES에서 가장 핵심적인 역할을 한다.
제6도는 입출력 변화 공격에 대응하는 조건(D1 조건)을 나타낸다.
입출력 변화 공격에 대응하기 위하여는 8개의 대치 회로 모두의 입력변화가 출력에 변화가 일어나도록 조건을 부여하여야 한다. 임의의 대치회로(602)에 대하여 모든 입력 6비트 입력 x(603)와 어떠한 efg값(604)에 대하여 S(x)와 S(x(11 efg 0))는 동일하지 않아야 하며(607),이를 만족하는 대치회로를 선택(614)한다.
다음은 선형 공격법에 대하여 안전한 대치회로를 구성하기 위하여는 몇 가지 용어를 정의하고자 한다. 선형공격법의 최초 작업은 대치회로의 선형 분포도를 조사하는 일이다 .마스크되는 6비트 입력과 4비트 출력을 각각 α,β라 표기하면 임의의 대치회로 S(x)에 대하여 식(1)이 성립하는 선형 분포표 (NS(α,β))를 정의한다.
또한, 선형 분포표 상에 가장 큰 값을 m으로 표기한다.
제7도는 선형공격에 안전한 대치회로의 생성에 필요한 조건 중 하나인 L1 조건을 나타낸다. 즉, 어떠한 대치회로(702)를 읽어 그 선형분포표를 계산하여(703) m이 16이하(704)가 되는가를 판단하여 성립하면 L1조건을 만족하는 대치회로로 출력하고(705) 최대값16이 넘으면 L1조건을 만족하지 않는 대치회로로 출력한다(706).
제8도는 선형공격에 안전한 대치회로의 생성에 필요한 조건 중 하나인 L2조건을 나타낸다. 즉, 선형 반복 특성을 최소화하기 위한 한가지 조건으로 어떠한 대치회로(802)의 선형 분포표상(803)에 1의 값이 2이하인 a 및 b에 대하여 선형 분포표상의 절대값이 10이하(804)가 되는 가를 판단하여 성립하면 L2조건을 만족하는 대치회로로 출력한다(805).
제9도는 선형공격에 안전한 대치회로의 생성에 필요한 조건중 하나인 L3조건을 나타낸다.
임의의 대치회로(902)에 대하여 선형분포표를 계산한(903) 후 입력 마스크값이 l6이 아닐때(904), 1의 개수가 하나인 a와 2개의 출력 마스크값, b1과 b2의 배타적 논리합 값이 1의 개수가 아닌 경우에 대하여 NS(a,b1)과 NS(a,b2)값의 곱의 절대치가 48이하(905)가 되는가를 판단하여 성립하면 L3 조건을 만족하는 대치회로로 출력한다(906).
제10도는 선형공격에 안전한 대치회로의 생성에 필요한 조건 중 하나인 L4조건을 나타낸다.
DES에 있어서 8개의 대치회로는 선형공격에 대하여 안정성을 확보하기 위하여는 각 위치 별로 다른 역할을 하게 되어 있다. 우선 8개의 대치회로(1002) 각각에 대하여 선형공격의 안전성을 확보하기 위한 조건으로 어떠한 대치회로(1003)에 대하여 NS1(a,b)을 계산하고(1007), 그중 NS1(4,4)와 NS1(2,2)값이 0(1011)이 되면 L4조건을 만족하는 제1대치회로로 출력한다(1015) 어떠한 대치회로(1004)에 대하여 NS2(a,b)를 계산하고(1008), 그 중 NS2(4,4)와 NS2(2,1) 값이 0(1012)이 되면 L4조건을 만족하는 제2대치회로로 출력한다(1016). 어떠한 대치회로(1005)에 대하여 NS3(a,b)을 계산하고(1009), 그 중 NS3(8,4)와 NS3(4,8)값이 0(1013)이 되면 L4 조건을 만족하는 제3대치회로로 출력한다(1017). 어떠한 대치회로(1006)에 대하여 NS4(a,b)을 계산하고(1010), 그중 NS4(8,4)와 NS4(2,2) 값이 0(1014)이 되면 L4조건을 만족하는 제4대치회로로 출력한다(1018). 어떠한 대치회로(1019)에 대하여 NS5(a,b)을 계산하고(1023), 그 중 NS5(16,1)과 NS5(8,8)과 NS5(2,4)값이 0(1027)이 되면 L4조건을 만족하는 제5대치회로로 출력한다(1031) 어떠한 대치회로(1020)에 대하여 NS6(a,b)을 계산하고(1024), 그 중 NS6(16,4)과 NS6(4,8)과 NS6(2,2)값이 0(1028)이 되면 L4조건을 만족하는 제6대치회로로 출력한다(1032). 어떠한 대치회로(1021)에 대하여 NS7(a,b)을 계산하고(1025), 그 중 NS7(4,8)과 NS7(2,1)값이 0(1029)이 되면 L4조건을 만족하는 제7대치회로로 출력한다(1033). 어떠한 대치회로(1022)에 대하여 NS8(a,b)을 계산하고(1026), 그 중 NS8(16,1)과 NS8(2,4)값이 0(1030)이 되면 L4조건을 만족하는 제8대치회로로 출력한다(1034).
제11도는 선형반복 특성을 최소화하기 위하여 제5대치회로 및 제8대치회로를 생성하기 위한 특별한 조건(L5)을 나타낸다. 제5 및 제8대치회로(1102)의 선형분포표(NSj(a,b))를 계산하여(1103) 입력 마스크값이 16이 되는 a(1104)와 2개의 출력 마스크 값, b1과 b2의 Execlusive-Or값이 1인 경우에 대하여 NSj(a,b1)과 NSj(a,b2)값의 곱의 절대치가 48이하(1105)이면 L5조건을 만족하는 제5 및 제8 대치회로로 출력한다(1106).
제12도는 선형반복 특성을 최소화하기 위하여 제6대치회로를 생성하기 위한 특별한 조건(L6)을 나타낸다. 제6대치회로(1202)의 선형분포표(NS6(a,b))를 계산하여(1203), 입력 마스크값이 16이 되는 a(1204)와 2개의 출력 마스크값, b1과 b2의 Exclusive-Or값이 4인 경우에 대하여 NS6(a,b1)과 NS6(a,b2)값의 곱의 절대치가 48이하(1205)이면 L6조건을 만족하는 제6대치회로로 출력한다(1206).
제13도는 본 발명에 의하여 8개의 대치회로 생성 흐름도이다. 초기화과정(1302)을 거친후 랜덤치환을 발생하여(1303) 4개의 치환을 선별하여(1304) 충분한 양의 후보 대치회로를 발생한다.
각각의 대치회로에 대하여 D1조건(1305), L1조건(1306), L2조건(1307), L3조건(1308)을 만족하는 개별적 대치회로를 생성한다. 그 다음 L5조건(1309), L6조건(1310)을 만족하는 대치회로를 제5, 제6, 제8 대치회로의 후보로 생성하고 최종적으로 L4조건(1311)을 검사하여 8개의 각각의 대치회로를 발생한다(1312).
제14도는 본 발명에 의하여 생성된 8개 대치회로의 예시도이며, 생성된 8개의 대치회로를 이용하면 DES에 대하여 입출력변화 공격과 선형공격이 적용될 수 없으며 삽입할 대치 함수를 개별화하여 사용하면 독자적인 보호 체계를 구축하여 체계의 다양성을 제공할 수 있다.
Claims (11)
- 보호하고자 하는 64비트 데이타 입력을 통과시키면서 비트 단위로 자리 바꿈하게 하는 전처리부(203); 64비트 키 입력을 비이트 단위당 통과시켜 56비트의 키 정보를 얻는 패리티 검사부(209); 상기 키 정보를 입력받아 48비트 정보를 생성하여 매 반복 연산에 사용되는 48비트를 공급하는 반복 연산용 키 확장부(210); 상기 전처리부(203)로부터의 하나의 데이터는 16번의 연산처리를 하면서 상기 반복 연산용 키 확장부(210)로부터의 확장 키 정보를 혼합하여 처리하는 제1 내지 제16연산부; 상기 제1 내지 제16 연산부로부터의 연산결과를 입력받아 64비트의 데이터 출력신호를 내는 후처리부(207)를 구비하는 것을 특징으로 하는 입출력 변화 공격과 선형공격에 안전한 대치회로 생성기.
- 제1항에 있어서, 반복 연산부 32비트를 입력받아 48비트 정보로 확장하여 출력하는 확장부(302); 상기 반복 연산용 키 확장부(210)로부터의 확장키 48비트와 상기 확장부(302)로부터의 48비트 정보를 비트 단위로 배타적 논리합 연산을 한후 6비트 단위의 8개로 분할시켜 출력하는 배타적 논리합연산기(303); 상기 배타적 논리합연산기(303)로부터의 분할된 각 6비트를 각 4비트 단위로 출력된 8개 부분에 연접시켜 32비트 정보를 얻는 제1 내지 제8대치회로; 상기 제1 내지 제8 대치회로부터의 32비트 정보를 비트 단위로 32비트 자리바꿈하여 반복 연산부의 출력신호를 내는 자리바꿈부(308)를 구비하는 반복연산부를 더 포함하는 것을 특징으로 하는 입출력 변화공격과 선형공격에 안전한 대치회로 생성기.
- 입출력 변화공격에 안전한 대치회로 생성기에 적용되는 생성방법에 있어서, 임의의 대치회로에 대하여 모든 입력 6비트 입력X와 임의의 efg값에 대하여 S(x)와 S(x+(11efg0)는 동일하지 않아야 하는 조건에 합당한가를 조사하는 제1단계; 상기 제1단계 수행후, 조건을 만족하면 만족하는 대치회로를 선택하여 출력하고 조건에 충족되지 않으면 만족하지 않는 대치회로로 출력하는 제2단계를 포함하여 이루어지는 것을 특징으로 하는 입출력 변화 공격에 안전한 대치회로 생성방법.
- 선형공격에 안전한 대치회로 생성기에 적용되는 생성방법에 있어서, 선형공격에 안전한 대치회로 생성기의 해당 조건(D1)의 만족 여부를 판단하여 만족하는 대치회로로 출력하도록 한 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항에 있어서, 설정된 조건(L1)에 따른 임의의 대치회로를 읽어 정의된 선형분포표를 계산하여 최대값이 16이하가 되는가를 판단하는 제1단계; 상기 제1단계 수행후, 최대값 16이하인 조건이 성립하면 만족하는 대치회로로 출력하고 최대값16이 넘으면 조건을 만족하지 않는 대치회로로 출력하는 제2단계를 포함하여 이루어지는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항에 있어서, 선형 반복특성을 최소화하기 위한 한가지 조건(L2)으로 임의의 대치회로의 기 정의된 선형 분포표 상에 1의 값이 2이하인 임의의 a 및 b에 대하여 선형 분포표상의 절대값이 10이하가 되는가를 판단하는 단계; 상기 제1단계 수행후, 성립하면 조건을 만족하는 대치회로로 출력하고 만족하지 않으면 만족하지 않는 대치회로로 출력하는 단계를 포함하는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항에 있어서, 설정된 조건(L3)에 대한 임의의 대치회로에 대하여 기 정의된 선형분포표를 계산한 후 입력 마스크값이 16이 아닐때, 1의 개수가 하나인 a와 2개의 출력 마스크 값, b1과 b2의 배타적 논리합 값이 1의 개수가 아닌 경우에 대하여 NS(a,b1)과 NS(a,b2)값의 곱의 절대치가 48이하가 되는가를 판단하여 성립하면 L3조건을 만족하는 대치회로로 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항에 있어서, 8개의 대치회로 각각에 대하여 선형공격의 안전성을 확보하기 위한 조건(L4)으로 임의의 대치회로 대하여 NS1(a,b)을 계산하고, 그 중 NS1(4,4)와 NS1(2,2) 값이 0이 되면 설정된 조건을 만족하는 제1대치회로로 출력하는 단계; 임의의 대치회로에 대하여 Ns2(a,b)를 계산하고, 그 중 NS2(4,4)와 NS2(2,1)값이 0이 되면 설정된 조건을 만족하는 제2대치회로로 출력하는 단계; 임의의 대치회로에 대하여 NS3(a,b)을 계산하고, 그 중 NS3(8,4)와 NS3(4,8)값이 0이 되면 설정된 조건을 만족하는 제3대치회로로 출력하는 단계; 임의의 대치회로에 대하여 NS4(a,b)을 계산하고, 그 중 NS4(8,4)와 NS4(2,2)값이 0이 되면 설정된 조건을 만족하는 제4대치회로로 출력하는 단계; 임의의 대치회로에 대하여 NS5(a,b)을 계산하고, 그 중 NS5(16,1)와 NS5(8,8)값이 0이 되면 설정된 조건을 만족하는 제5대치회로로 출력하는 단계; 임의의 대치회로에 대하여 NS6(a,b)을 계산하고, 그 중 NS6(16,4)와 NS6(4,8)과 NS6(2,2)값이 0이 되면 설정된 조건을 만족하는 제6대치회로로 출력하는 단계; 임의의 대치회로에 대하여 NS7(a,b)을 계산하고, 그 중 NS7(4,8)과 NS7(2,1)값이 0이 되면 설정된 조건을 만족하는 제7대치회로로 출력하는 단계; 임의의 대치회로에 대하여 NS8(a,b)을 계산하고, 그 중 NS8(16,1)와 NS8(2,4)값이 0이 되면 L4 조건을 만족하는 제6대치회로로 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항에 있어서, 선형반복 특성을 최소화하기 위한 조건(L6)의 제5및 제8대치회로의 기 정의된 선형분포표(NSj(a,b))를 계산하여 입력 마스크값이 16이 되는 a와 2개의 출력 마스크값 b1과 b2의 배타적 논리합연산값이 1인 경우에 대하여 NSj(a,b1)과 NSj(a,b2)값의 곱의 절대치가 48이하이면 설정된 조건을 만족하는 제5 및 제8대치회로로 출력하는 단계를 포함하고 있는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항에 있어서, 선형 반복특성을 최소화하기 위하여 제6대치회로를 생성하기 위한 조건(L6)의 제6대치회로의 정의된 선형분포표(NS6(a,b))를 계산하여 입력 마스크값이 16이 되는 a와 2개의 출력 마스크 값, b1과 b2의 배타적 논리합연산값이 4인 경우에 대하여 NS6(a,b1)과 NS6(a,b2)값의 곱이 절대치가 48이하이면 조건을 만족하는 제6대치회로로 출력하는 단계를 포함하고 있는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
- 제5항 내지 제10항 중 어느 한 항에 있어서, 초기화 과정을 거친후 랜덤 치환을 발생하여 4개의 치환을 선별하여 충분한 양의 후보 대치회로를 발생하는 단계; 각각의 대치회로에 대하여 각각의 설정된 조건(D1,L1내지L3)을 만족하는 개별적 대치회로를 생성하는 단계; 상기 L5조건, L6조건을 만족하는 대치회로를 제5, 제6, 제8대치회로의 후보로 생성하고 최종적으로 l4조건을 검사하여 8개의 각각의 대치회로를 발생하는 단계를 포함하고 있는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950056850A KR0153758B1 (ko) | 1995-12-26 | 1995-12-26 | 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법 |
US08/780,143 US5796837A (en) | 1995-12-26 | 1996-12-26 | Apparatus and method for generating a secure substitution-box immune to cryptanalyses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950056850A KR0153758B1 (ko) | 1995-12-26 | 1995-12-26 | 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970049698A KR970049698A (ko) | 1997-07-29 |
KR0153758B1 true KR0153758B1 (ko) | 1998-11-16 |
Family
ID=19444547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950056850A KR0153758B1 (ko) | 1995-12-26 | 1995-12-26 | 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5796837A (ko) |
KR (1) | KR0153758B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160025944A (ko) * | 2014-08-28 | 2016-03-09 | 삼성전자주식회사 | 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6031911A (en) * | 1996-07-18 | 2000-02-29 | Entrust Technologies, Ltd. | Practical S box design |
US20030118190A1 (en) * | 1998-05-29 | 2003-06-26 | Siemens Aktiengesellschaft | Method and apparatus for processing data where a part of the current supplied is supplied to an auxiliary circuit |
EP1001569A4 (en) * | 1998-06-02 | 2002-03-13 | Nippon Telegraph & Telephone | DEVICE AND METHOD FOR EVALUATING THE RANDOM OF A FUNCTION, DEVICE AND METHOD FOR PRODUCING A RANDOM FUNCTION AND RECORDED MEDIUM ON WHICH IMPLEMENTATION PROGRAMS THEREOF ARE RECORDED |
US7292693B1 (en) * | 1998-08-13 | 2007-11-06 | Teledyne Technologies Incorporated | Deterministically generating block substitution tables which meet a given standard of nonlinearity |
DE19845073C2 (de) * | 1998-09-30 | 2001-08-30 | Infineon Technologies Ag | Verfahren zur Absicherung der DES-Verschlüsselung gegen Ausspähung der Schlüssel durch Analyse der Stromaufnahme des Prozessors |
US6295606B1 (en) * | 1999-07-26 | 2001-09-25 | Motorola, Inc. | Method and apparatus for preventing information leakage attacks on a microelectronic assembly |
US7346161B2 (en) * | 2000-01-26 | 2008-03-18 | Fujitsu Limited | Method and apparatus for designing cipher logic, and a computer product |
AU2001269086A1 (en) * | 2000-07-04 | 2002-01-14 | Koninklijke Philips Electronics N.V. | Substitution-box for symmetric-key ciphers |
JP3505482B2 (ja) * | 2000-07-12 | 2004-03-08 | 株式会社東芝 | 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体 |
US20020061107A1 (en) * | 2000-09-25 | 2002-05-23 | Tham Terry K. | Methods and apparatus for implementing a cryptography engine |
US20020078342A1 (en) * | 2000-09-25 | 2002-06-20 | Broadcom Corporation | E-commerce security processor alignment logic |
US20030068038A1 (en) * | 2001-09-28 | 2003-04-10 | Bedros Hanounik | Method and apparatus for encrypting data |
US7103180B1 (en) * | 2001-10-25 | 2006-09-05 | Hewlett-Packard Development Company, L.P. | Method of implementing the data encryption standard with reduced computation |
US7076059B1 (en) * | 2002-01-17 | 2006-07-11 | Cavium Networks | Method and apparatus to implement the data encryption standard algorithm |
US7477741B1 (en) | 2004-10-01 | 2009-01-13 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Analysis resistant cipher method and apparatus |
KR101646705B1 (ko) | 2009-12-01 | 2016-08-09 | 삼성전자주식회사 | 에스-박스를 구현한 암호화 장치 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3962539A (en) * | 1975-02-24 | 1976-06-08 | International Business Machines Corporation | Product block cipher system for data security |
US3958081A (en) * | 1975-02-24 | 1976-05-18 | International Business Machines Corporation | Block cipher system for data security |
US4275265A (en) * | 1978-10-02 | 1981-06-23 | Wisconsin Alumni Research Foundation | Complete substitution permutation enciphering and deciphering circuit |
US5231662A (en) * | 1989-08-01 | 1993-07-27 | Tulip Computers International B.V. | Method and device for enciphering data to be transferred and for deciphering the enciphered data, and a computer system comprising such a device |
US5317638A (en) * | 1992-07-17 | 1994-05-31 | International Business Machines Corporation | Performance enhancement for ANSI X3.92 data encryption algorithm standard |
US5237611A (en) * | 1992-07-23 | 1993-08-17 | Crest Industries, Inc. | Encryption/decryption apparatus with non-accessible table of keys |
US5473693A (en) * | 1993-12-21 | 1995-12-05 | Gi Corporation | Apparatus for avoiding complementarity in an encryption algorithm |
US5511123A (en) * | 1994-08-04 | 1996-04-23 | Northern Telecom Limited | Symmetric cryptographic system for data encryption |
-
1995
- 1995-12-26 KR KR1019950056850A patent/KR0153758B1/ko not_active IP Right Cessation
-
1996
- 1996-12-26 US US08/780,143 patent/US5796837A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160025944A (ko) * | 2014-08-28 | 2016-03-09 | 삼성전자주식회사 | 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR970049698A (ko) | 1997-07-29 |
US5796837A (en) | 1998-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0153758B1 (ko) | 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법 | |
KR100610367B1 (ko) | 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치 | |
EP0981223B1 (en) | Encryption/decryption apparatus | |
Golić et al. | Multiplicative masking and power analysis of AES | |
US7079651B2 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
US8401180B2 (en) | Non-linear data converter, encoder and decoder | |
WO2007116262A1 (en) | Protection against side channel attacks | |
Kermani et al. | Parity-based fault detection architecture of S-box for advanced encryption standard | |
Clark et al. | The LILI-II keystream generator | |
Devika et al. | Parameterizable FPGA implementation of SHA-256 using blockchain concept | |
Breveglieri et al. | An operation-centered approach to fault detection in symmetric cryptography ciphers | |
KR20050078271A (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
JPH09179726A (ja) | 擬似乱数発生装置 | |
KR20050076015A (ko) | 유한체 곱셈기 | |
JP2950485B2 (ja) | ストリーム暗号処理装置 | |
KR20000035057A (ko) | 능률적인 블록 암호화 방법 | |
Abdulgadir et al. | Side-channel resistant implementations of three finalists of the nist lightweight cryptography standardization process: Elephant, tinyjambu, and xoodyak | |
Burnett et al. | Efficient Methods for Generating MARS-like S-boxes | |
Bokhari et al. | BOKHARI: A new software oriented stream cipher: A proposal | |
Hasija et al. | A Performance Analysis of Root-Converging Methods for Developing Post Quantum Cryptography Algorithms to Mitigate Key-Size-Based Attacks | |
Hulle et al. | Compact Reconfigurable Architecture for Sosemanuk Stream Cipher | |
Beletsky | Galois generalized matrices in stream ciphers | |
Huang | An enhanced hill cipher and its application in software copy protection | |
Babbage et al. | Probabilistic factors in the sober-t stream ciphers | |
Biham et al. | Differential cryptanalysis of hash functions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090701 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |