DOI QR코드

DOI QR Code

A Fast Algorithm for evaluating the Security of Substitution and Permutation Networks against Differential attack and Linear attack

SPN구조 블록 암호의 차분 공격 및 선형 공격에 대한 안전성을 측정하는 고속 알고리즘

  • Published : 2001.06.01

Abstract

In this paper, we examine the method for evaluating the security of SPN structures against differential cryptanalysis and linear cryptanalysis. We present an example of SPN structures in which there is a considerable difference between the differential probabilities and the characteristic probabilities. Then we 7pose an algorithm for estimating the maximum differential probabilities and the maximum linear hull probabilities of SPN structures and an useful method for accelerating the proposed algorithm. By using this method, we obain the maximum differential probabilities and the maximum linear probabilities of round function F of block cipher E2.

본 논문에서는 SPN 구조 블록 암호의 안전성을 평가하는 알고리즘을 제안한다. 먼저, practical security를 이용하여 차분 공격과 선형 공격에 대한 안전성을 측정하는데 문제점이 있는 SPN 구조 블록 암호의 예를 제시한다. 다음으로, SPN 구조 블록 암호의 최대 차분 확률(maximum differential probability)과 linear hull 최대 선형 확률(maximum linear hull probability)을 측정하는 알고리즘을 제안하고, 이 알고리즘의 수행 효율성을 높이는 가속화 방법을 제안한다. 마지막으로, 제안한 알고리즘을 사용하여 블록 암호 E2의 라운드 함수 F의 최대 차분 확률 및 linear hull의 최대 선형 확률을 계산한다.

Keywords

Ⅰ. 서론

SPN(Substitution and Permutation Networks) 구조 블록 암호의 차분 공격(differential cryptanaylsis)[1-2]과 선형 공격(linear cryptanalysis)[3]에 대한 안전성은 각각 최대 차분 확률(maximum differential probability)과 linear hull의 최대 선형 확률(maximum linear probability of linear hull)을 기반으로 한다. 그러나, 일반적으로 이들 확률을 계산하는 것은 매우 어렵다. 따라서, 최대 차분 확률 대신에 최대 특성 확률(maximum characteristic probability)의 상한을 이용하며, 또한, linear hull의 최대 선형 확률 대신에 선형 근사 확률(linear approximation probability)의 상한을 이용한다. 그러나. SPN 구조 블록 암호에서는 차분 확률과 특성 확률이 크게 다를 수 있으며, 또한, linear hull의 최대 선형 확률과 선형 근사 확률 역시 큰 차이를 보일 수 있다.

본 논문에서는 SPN 구조 블록 암호의 안전성을 측정하는 알고리즘을 제안한다. 먼저. 차분 확률과  특성 확률이 크게 다른 SPN 구조 블록 암호의 예를 제시한다. 이는 practical security4-5,6-7관점에서 SPN 구조 블록 암호의 안전성을 평가할 때 문제점이 있을 수 있음을 시사한다. 다음으로 SPN 구조 블록 암호의 안전성을 측정하는 알고리즘을 제안한다. 제안 알고리즘에서, 차분 확률은 동일한 입력 difference와 출력 difference를 가지는 특성 확률들의 합이 된다. 또한, linear hull의 선형 확률은 동일한 입력 mask와 출력 mask를 가지는 선형 근사 확률들의 합이 된다. 그리고. 이 알고리즘의 효율성을 크게 높일 수 있는 가속화 방법을 제안한다. 마지막으로 가속화 방법을 사용한 제안 알고리즘을 이용하여 블록 암호 E2[8]의 최대 차분 확률과 최대 선형 확률을 구한다.

Ⅱ. SPN 구조 블록 암호의 차분 공격 및 선형공격에 대한 특성

SPN 구조 블록 암호의한 라운드는 키 덧셈(key addition), 대치(substitution), 선형 변환 (linear transformation)의 3 단계로 구성된다. 키 덧셈 단계는 일반적으로 라운드 키와 라운드 입력의 배타적 논리합(exclusive-or)이다. 대치 단계는 입력을 몇 개의 작은 블록으로 구분한 후에 각각의 소 블록들에 S-box라 부르는 비선형 변환을 적용하여 출력값을 얻는 과정으로 혼동(confusion)효과를 주기 위한 단계이다. 선형 변환 단계는 대치 단계의 암호적 특성을 확산하는 단계이다. 전형적인 SPN 구조 블록 암호의한 라운드는 (그림 1)과 같다.

(그림 1) SPN 구조 블록 암호의한 라운드

S-box와 선형 변환은 복호화를 위하여 가역(invertible)이어야 한다. 그래서, 본 논문에서는 모든 S-box를 정의역과 공변역을 {0, 1}m으로 하는 전단사함수로 가정한다.

S를 m 비트 입력과 출력을 가지는 S-box라 하자. S의 차분 확률 및 선형 확률은 다음으로 정의된다.

정의 1. 임의의 a',b',a,b∈{0.1}m에 대하여 S의 차분 확률 DPS(a'→b')과 선형 확률 LPS(a→b) 은 다음으로 정의된다.

#,

#.

여기서 x, y는 X와 y의 비트별 곱의 패리티(0 또는 1)을 의미한다.

a'과 b'을 각각 입력 difference와 출력 difference라 한다. 또한, a와 b를 각각 입력 mask와 출력 mask라 한다.

암호학적으로 안전한 S-box의 DPS와 LPS는 임의의 입력 difference a'≠0와 임의의 출력 mask b≠0에 대해 작아야 한다.

정의 2. S의 최대 차분 확률 # 와 최대 선형확률 #는 다음으로 정의된다.

#

#

Practical measuret[4-5-6-7] 관점에서 SPN 구조 블록 암호의 안전성을 측정하는 것은 기본적으로 active S-box의 개념으로부터 시작한다.

정의 3. 어떤 S나)ox에 임의의 0이 아닌 입력 difference가 주어졌을 때 그 S-box를 differentially active S-box라 한다. 그리고, 어떤 S-box에 임의의 0이 아닌 출력 mask값이 주어졌을 때 그 S-box를 linearly active S-box라 한다.

대치 단계에서 사용되는 모든 S-box들은 전단사함수이므로 S-box가 differentially active S-box이면 0이 아닌 출력 difference를 가지며, S-box가 linearly active S-box이면 0이 아닌 입력 mask 값을 가진다.

블록 암호에서 active S-box의 최소 개수를 계산하여 이로부터 차분 및 선형 확률의 상한 값을 구하는 것이 practical security 관점에서 블록 암호의 안전성을 평가하는 것이다.

다음으로 SPN 구조 블록 암호의 차분 확률 및 선형 확률을 고려한다. 우선, 1번째 라운드의 선형변환 단계 L1(x)를 다음으로 표현하기로 한다.

#

여기서 , Ci는 n×n 행렬(non-singular matrix)이다. 즉 det(Ct)≠0 이다. #이므로 SPN 구조 블록 암호의한 라운드의 차분 확률ea' = (a1',…, aN')와 b' = (b1',…,bn')에 대해 다음으로 정의된다.

#

이 차분 특성(differential characteristic)을 a'→b'→Li(b') 으로 표기하기로 한다. r 라운드 차분 특성은 다음 집합으로 정의된다.

#

그리고. 특성 확률은 다음과 같다.

#

#과 Lr(Br')을 각각 r 라운드 차분 특성에서의 입력과 출력이라 한다. 동일한 입력과 출력을 가지는 모든 특성들의 집합을 r 라운드 차분이라 하며, 차분 확률은 동일한 입력과 출력을 가지는 특성 확률 등의 합이 된다. 즉, 차분은 특성들의 모임이라 할 수 있다.

SPN 구조 블록 암호의 선형 확률 역시 차분 확률과 유사하게 정의된다. Li에 대응하는 선형 변환 Li'을 다음으로 정의하자.

#

그러면, #이므로 한 라운드 SPN 구조 블록 암호의 선형 근사 확률은 다음으로 정의된다.

#

이 선형 근사를 #로 표기하자. r 라운드 선형 근사는 다음 집합으로 정의된다.

#

그리고, 선형 근사 확률은 다음과 같다.

#

Ai#을 각각 r라운드 선형 근사의 입력 mask와 출력 mask라 한다. 동일한 입력 mask와 출력 mask를 가지는 모든 선형 근사들의 집합을 r라운드 linear hull이라 하며 , linear hull의 선형 확률은 동일한 입력 mask와 출력 mask를 가지는 선형 근사 확률들의 합이 된다. 즉. linear hulle 선형 근사들의 집합이다.

Ⅲ. SPN 구조 안전성 평가 알고리즘

본 장에서는 SPN 구조 블록 암호의 최대 차분 확률과 linear hull의 최대 선형 확률을 평가하는 알고리즘을 제안한다. 먼저 차분 확률과 특성 확률이 큰 차이를 보이는 SPN 구조 블록 암호의 예를제시한다. 예로서 블록 암호 E2의 라운드 함수 F를 고려한다. 단, 사용되는 S-box는 GF(23)상의 x5 로 설정한다. GF(23)상의 x5의 difference distribution tablee [표 1]과 같다.

(그림 2) E2의 라운드 함수 F

표 1 GF(23)의 x5의 difference distribution table

P 함수의 입력을 x1, x2, x3, x4, x5, x6, x7, x8라 하자. 그러면, P 함수의 출력 y1, y2, y3, y4, y​​​​​​​5, y​​​​​​​6, y​​​​​​​7, y8은 다음과 같다.

이제 라운드 함수 F의 차분 확률을 계산하자. F의 입력 difference를 (4,4,4,0,0,0,0,0), 출력 difference를 (0,0,2,0,2,0,0,0)라 하자. [표 1]에서 출력 difference가 2가 되는 입력 difference는 2,3,4,5의 4 가지이다. P 함수의 입력 difference가 (x1,x2,x3,0,0,0,0,0), 출력 difference가 (0,0,0,y4,0,y6,0,0) 이므로 x1 = x2 = x3#이 된다. 즉, 라운드 함수 F 의 차분 확률은

#

이 된다. 다음으로 라운드 함수 F의 특성 확률의 상한을 계산하자. 참고 문헌[9~10]에 의하면 라운드 함수 F의 differentially actice S-box의 최소 개수는 5 이다. 따라서, 특성 확률의 상한은 #이 되는데. 여기서, #는 우리가 제시하는 예제에서 E2에 원래 사용된 S-box 대신에 사용한 S-box의 최대 차분 확률이다.

본 예제에서 특성 확률의 상한은 차분 확률보다 작다. 이는 practical secui'ity 관점에서 SPN 구조 블록 암호의 안전성을 평가할 때 중요한 오류를 범할 수 있음을 시사한다.

이제 최대 차분 확률과 linear hull의 선형 확률을 평가하는 알고리즘을 제안한다.

[최대 차분 확률 측정 알고리즘]

[단계 1] Differentially active S-box의 개수가 최소가 되는 특성을 찾는다.

[단계 2] 단계 1에서 찾은 특성과 동일한 입력 difference와 출력 difference를 가지는 모든 특성을 찾는다. 찾은 특성들에 대해서 각 라운드 별 differentially active S-box의 개수는 동일하여야 한다.

[단계 3) 단계 2에서 구한 특성 확률들의 합을 차분 확률로 설정한다.

참고 1. 제안 알고리즘에서 구한 차분 확률이 최대 차분 확률이 아닐 수 있다. 또한, linear hull의 최대 선형 확률 역시 제안 알고리즘과 유사한 방법으로 구할 수 있다.

제안 알고리즘을 E2의 라운드 함수 F 의 최대 차분 확률을 구하는데 적용해 보자. E2의 라운드 함수 F의 active S-box의 최소 개수는 5임을 이미 알고 있다. E2의 라운드 함수 F는 처음 S-box들과 P 함수를 1 라운드, 다음 구조를 2 라운드로 구분할 수 있다(그림 1 참조). 즉, 라운드 함수 F는 2라운드 SPN 구조 블록 암호로 볼 수 있다. 첫 번째로 1 라운드에서 S4와 S8의 2개 active S-box가 있고, 2 라운드에서는 S1, S4, S5의 3개 active S-box가 있는 경우를 고려하자. 이 경우 입력 difference는 (0,0,0,a' 4,0,0,0,a'8)이며, 줄력 difference 는 (0,0,b' 3,b' 4, 0,0,0,b' 8) 이다. 또한, 차분 확률은

#(1)

이 된다.

식 (1)의 합을 계산하기 위하여 a' 4, a' 8, b' 3, b' 4, b' 8의 모든 가능한 경우를 고려하여 야 하며 이는 #이다. 두 번째로 1 라운드에서 S1, S2, S3의 3개 active S-box가 있고, 2라운드에서 S4, S6의 2개 active S-box가 있는 경우를 고려한다. 이 경우에 입력 difference는 (a' 1,a' 2,a' 3,0,0,0,0,0)출력 difference는 (0,0,b' 3,b' 5,0,0,0)이 되며, 차분 확률은

#(2)

이 된다. 식 (2)를 계산하기 위해서는 a' 1, a' 2, a' 3, b' 3, b' 5의 모든 가능한 경우를 고려하여야 하는데 이 양 역시 #이다. 즉. 라운드 함수 F의 최대 차분 확률을 구하기 위해서는 약 240의 계산이 필요하며 이는 현실적으로 계산하기 어려운 양이다. 이 문제를 해결하기 위하여 다음 장에서 가속화 방법을 제안한다.

Ⅳ. 가속화 방법

본 장에서는 앞장에서 제안한 알고리즘의 효율성을 높히는 유용한 방법을 제안한다.

보조정리 1. 실수 #, 1≤j≤m, l≤i≤N 에 대해서 다음 부등식이 성립한다.

#

(증명) 수학적 귀납법을 이용하여 증명한다. m=l 인 경우에는 부등식은 자명하게 성립한다. m 에 대하여 부등식이 성립한다고 가정하고 다음의 Holder 부등식을 적용한다.

#

귀납법의 가정에 의하여 부등식의 좌변은 다음에 의해 유계(bounded)된다.

#

따라서, 부등식이 성립한다.

정리 1. 실수 xi(j), yi(k), 1≤j≤m, 1≤k≤n, 1≤i≤N에 대하여 다음 부등식이 성립한다.

#

(증명) 좌변은 다음으로 다시 표현할 수 있다.

#

보조 정리 1에 의하여 위 식은 다음으로 유계된다.

#

위 식은 다시 다음으로 유계된다.

#

이제. 정리 1을 사용하여 라운드 함수 F의 최대 차분 확률을 계산한다. 정리 1에 의하면 식 (1) 의 상한은 다음이 된다.

#(3)

라운드 함수 F의 모든 S-box는 동일하므로 정리 1에 의해 구한 상한은 최대값이 된다. 그러나, 서로 다른 S-box가 사용되었다면 정리 1에 의하여 구한 상한은 일반적으로 최대값이 아닐 수 있다. 모든 가능한 경우의 a와 b에 대하여 식 (3)의 합을 구하기 위해서는 (256-1) 2의 경우만 고려하면 되고 이 양은 컴퓨터 계산을 이용하여 계산 가능한 양이다. 컴퓨터 시뮬레이션에 의하여 최대 차분 확률은 a' =84과 b' = 1b일 때 56,960/(256)5이다.

즉, 차분 특성

#

의 확률은

#

형태의 차분 특성들 중에서 56,960/(256)2을 최대값으로 가진다. 이 계산은 표 2와 표 3을 이용하여 구할 수 있다. 라운드 함수 F의 모든 S-box들이 동일하므로 최대 차분 확률은 차분의 형태가 다를지라도 모두 동일하다.

[표 2) δs(84x,b'x)의 분포

(표 3) δs(a'4x,1b'x)의 분포

다음으로 1 라운드에서 3개의 active S-box, 2라운드에서 2개의 active S-box가 있는 경우의 최대 차분 확률을 계산하자. 정리 1에 의하면 식 (2)의 상한은

#

이 된다. a'=84, 과 b'= 1bx일 때 식 (4)는 최대값을 가진다. 따라서, 차분 특성

#

은 최대 차분 확률 69.760/(256)5을 가진다.

이상에서 E2의 라운드 함수 F의 최대 차분 확률은 69,760/(256)5임을 계산하였다. 유사하게. 선형변환을 L 대신에 L'을 사용하여 linear hull의 최대 선형 확률을 구할 수 있다. 1 라운드에서 2개의 active S-box, 2 라운드에서 3개의 active S-box가 있는 경우에는 최대 선형 확률은

#

이 된다. 1 라운드에서 3개의 active S-box, 2 라운드에서 2개의 active S-box가 있는 경우에는 최대 선형 확률은

#

이 된다. 따라서. 최대 선형 확률은 218,225/(256)5이 된다.

참고 2. E2의 설계자들은 컴퓨터 시뮬레이션을 통하여 라운드 함수 F의 최대 차분 확률의 근사값이 2-2391이고 최대 선형 확률의 근사값이 2-22.26임을 제시한 바 있다.

Ⅴ. 결론

본 논문에서는 최대 차분 확률과 linear hull의 최대 선형 확률을 평가하는 알고리즘을 제안하였다. 최대 차분 확률을 계산하기 위하여 첫번째로 differentially active S-box의 개수가 최소인 특성을 찾고 찾은 특성과 동일한 입력 difference와 출력 difference를 가지는 모든 특성을 찾는다. 다음으로, 찾은 특성들의 합으로 최대 차분 확률을 계산한다. 이 과정의 효율성을 높히는 가속화 방법을 제안하였다. 유사한 방법으로 linear hull의 최대 선형 확률을 구할 수 있다. 가속화 방법을 적용한 제안 알고리즘을 사용하여 블록 암호 E2의 라운드 함수 F의 최대 차분 확률과 최대 선형 확률을 구하였다.

References

  1. Advances in Cryptology - Crypto'90. volume 537 of Lecture Notes in Computer Science v.537 Differential cryptanalysis of {DES}-like crypto-system Eli Biham;Adi Shamir;Alfred J. Menezes(ed.);Scott A. Vanstone(ed.)
  2. Journal of Cryptology v.4 no.1 Differential cryptanalysis of DES-like cryptosystems Eli Biham;Adi Shamir
  3. Fast Software Encryption. volume 1267 of Lecture Notes in Computer Science v.1267 The block cipher square Joan Daemen;Lars R. Kundsen;Vincent Rijmen;Eli Biham (ed.)
  4. Journal of Crypto-logy v.9 no.1 Substitution-permutation net-works resistant to differential and linear cryptanalysis Howard M. Heys;Stafford E. Tav-ares
  5. Cambridge Security Workshop. volume 809 of Lecture Notes in Computer Science v.809 Practically secure feistel chiphers Lars R. Kundsen;Ross Anderson (ed.)
  6. Third International Workshop. volume 1039 of Lecture Notes in Com-puter Science v.1039 The cipher shark;Fast Software Encry-ption Vincent Rijmen;Joan Daemen;Bart Preneel;Anton Bosselaers;Erik De Win
  7. AES Proposal E2;Efficient Encryption algorithm NTT-NIppon Telegraph and Telephone Corporation
  8. Advances in Cryptology-Eurocrypt'93. volume 765 of Lecture Notes in Computer Science v.765 Linear cryptanalysis method for DES cipher Mitsuru Matsui;Tor Helle-seth
  9. 5th Annual International Workshop. SAC'98, volume 1556 of Lecture Notes in Com-puter Science A strategy for con-structing fast round functions with practical security against differential and linear cryptanalysis Masayuki Kanda;Youichi Takashima;Tsutomu Matsumoto;Strafford Tavares (ed.);Henk Meijer (ed.)
  10. ICISC'99, volume 1787 of Lecture Notes in Computer Science v.1787 On the optimal diffusion layers with practical security against differential and linear cry-ptanalysis Information Security and Cryptology Ju-Sung Kang;Choonsik Park;Sangjin Lee;Jong-In Lim;JooSeok Song (ed.)