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
Application number
KR1019950056850A
Other languages
English (en)
Other versions
KR970049698A (ko
Inventor
김광조
이상진
박상준
고승철
이대기
Original Assignee
양승택
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구원 filed Critical 양승택
Priority to KR1019950056850A priority Critical patent/KR0153758B1/ko
Priority to US08/780,143 priority patent/US5796837A/en
Publication of KR970049698A publication Critical patent/KR970049698A/ko
Application granted granted Critical
Publication of KR0153758B1 publication Critical patent/KR0153758B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, 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)

  1. 보호하고자 하는 64비트 데이타 입력을 통과시키면서 비트 단위로 자리 바꿈하게 하는 전처리부(203); 64비트 키 입력을 비이트 단위당 통과시켜 56비트의 키 정보를 얻는 패리티 검사부(209); 상기 키 정보를 입력받아 48비트 정보를 생성하여 매 반복 연산에 사용되는 48비트를 공급하는 반복 연산용 키 확장부(210); 상기 전처리부(203)로부터의 하나의 데이터는 16번의 연산처리를 하면서 상기 반복 연산용 키 확장부(210)로부터의 확장 키 정보를 혼합하여 처리하는 제1 내지 제16연산부; 상기 제1 내지 제16 연산부로부터의 연산결과를 입력받아 64비트의 데이터 출력신호를 내는 후처리부(207)를 구비하는 것을 특징으로 하는 입출력 변화 공격과 선형공격에 안전한 대치회로 생성기.
  2. 제1항에 있어서, 반복 연산부 32비트를 입력받아 48비트 정보로 확장하여 출력하는 확장부(302); 상기 반복 연산용 키 확장부(210)로부터의 확장키 48비트와 상기 확장부(302)로부터의 48비트 정보를 비트 단위로 배타적 논리합 연산을 한후 6비트 단위의 8개로 분할시켜 출력하는 배타적 논리합연산기(303); 상기 배타적 논리합연산기(303)로부터의 분할된 각 6비트를 각 4비트 단위로 출력된 8개 부분에 연접시켜 32비트 정보를 얻는 제1 내지 제8대치회로; 상기 제1 내지 제8 대치회로부터의 32비트 정보를 비트 단위로 32비트 자리바꿈하여 반복 연산부의 출력신호를 내는 자리바꿈부(308)를 구비하는 반복연산부를 더 포함하는 것을 특징으로 하는 입출력 변화공격과 선형공격에 안전한 대치회로 생성기.
  3. 입출력 변화공격에 안전한 대치회로 생성기에 적용되는 생성방법에 있어서, 임의의 대치회로에 대하여 모든 입력 6비트 입력X와 임의의 efg값에 대하여 S(x)와 S(x+(11efg0)는 동일하지 않아야 하는 조건에 합당한가를 조사하는 제1단계; 상기 제1단계 수행후, 조건을 만족하면 만족하는 대치회로를 선택하여 출력하고 조건에 충족되지 않으면 만족하지 않는 대치회로로 출력하는 제2단계를 포함하여 이루어지는 것을 특징으로 하는 입출력 변화 공격에 안전한 대치회로 생성방법.
  4. 선형공격에 안전한 대치회로 생성기에 적용되는 생성방법에 있어서, 선형공격에 안전한 대치회로 생성기의 해당 조건(D1)의 만족 여부를 판단하여 만족하는 대치회로로 출력하도록 한 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  5. 제5항에 있어서, 설정된 조건(L1)에 따른 임의의 대치회로를 읽어 정의된 선형분포표를 계산하여 최대값이 16이하가 되는가를 판단하는 제1단계; 상기 제1단계 수행후, 최대값 16이하인 조건이 성립하면 만족하는 대치회로로 출력하고 최대값16이 넘으면 조건을 만족하지 않는 대치회로로 출력하는 제2단계를 포함하여 이루어지는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  6. 제5항에 있어서, 선형 반복특성을 최소화하기 위한 한가지 조건(L2)으로 임의의 대치회로의 기 정의된 선형 분포표 상에 1의 값이 2이하인 임의의 a 및 b에 대하여 선형 분포표상의 절대값이 10이하가 되는가를 판단하는 단계; 상기 제1단계 수행후, 성립하면 조건을 만족하는 대치회로로 출력하고 만족하지 않으면 만족하지 않는 대치회로로 출력하는 단계를 포함하는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  7. 제5항에 있어서, 설정된 조건(L3)에 대한 임의의 대치회로에 대하여 기 정의된 선형분포표를 계산한 후 입력 마스크값이 16이 아닐때, 1의 개수가 하나인 a와 2개의 출력 마스크 값, b1과 b2의 배타적 논리합 값이 1의 개수가 아닌 경우에 대하여 NS(a,b1)과 NS(a,b2)값의 곱의 절대치가 48이하가 되는가를 판단하여 성립하면 L3조건을 만족하는 대치회로로 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  8. 제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대치회로로 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  9. 제5항에 있어서, 선형반복 특성을 최소화하기 위한 조건(L6)의 제5및 제8대치회로의 기 정의된 선형분포표(NSj(a,b))를 계산하여 입력 마스크값이 16이 되는 a와 2개의 출력 마스크값 b1과 b2의 배타적 논리합연산값이 1인 경우에 대하여 NSj(a,b1)과 NSj(a,b2)값의 곱의 절대치가 48이하이면 설정된 조건을 만족하는 제5 및 제8대치회로로 출력하는 단계를 포함하고 있는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  10. 제5항에 있어서, 선형 반복특성을 최소화하기 위하여 제6대치회로를 생성하기 위한 조건(L6)의 제6대치회로의 정의된 선형분포표(NS6(a,b))를 계산하여 입력 마스크값이 16이 되는 a와 2개의 출력 마스크 값, b1과 b2의 배타적 논리합연산값이 4인 경우에 대하여 NS6(a,b1)과 NS6(a,b2)값의 곱이 절대치가 48이하이면 조건을 만족하는 제6대치회로로 출력하는 단계를 포함하고 있는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
  11. 제5항 내지 제10항 중 어느 한 항에 있어서, 초기화 과정을 거친후 랜덤 치환을 발생하여 4개의 치환을 선별하여 충분한 양의 후보 대치회로를 발생하는 단계; 각각의 대치회로에 대하여 각각의 설정된 조건(D1,L1내지L3)을 만족하는 개별적 대치회로를 생성하는 단계; 상기 L5조건, L6조건을 만족하는 대치회로를 제5, 제6, 제8대치회로의 후보로 생성하고 최종적으로 l4조건을 검사하여 8개의 각각의 대치회로를 발생하는 단계를 포함하고 있는 것을 특징으로 하는 선형공격에 안전한 대치회로 생성방법.
KR1019950056850A 1995-12-26 1995-12-26 입출력 변화 공격과 선형 공격에 안전한 대치회로 생성기 및 생성방법 KR0153758B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160025944A (ko) * 2014-08-28 2016-03-09 삼성전자주식회사 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치

Families Citing this family (16)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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