Ⅰ. 서론
1.1. 블록암호에 대한 선형공격의 역사
블록암호에 대한 선형공격은 1993년 M. Matsui에 의해 처음으로 소개되었다[7,8]. 선형공격은 차분공격[1]과 더불어 블록암호에 가장 널리 적용되는 공격법이다. 차분공격 이 고계 차분공격 , 부정 차분공격 , 불능 차분 공격, 부메랑공격, 렉탱글공격 등으로 다양하게 발전해왔듯이, 선형공격을 발전시키기 위한 다양한 연구와 시도가 있었다. 그 중 대표적인 것이 다중선형공격이다.
다중선형공격의 아이디어는 간단하다. Matsui가 최초에 제안한 두 개의 공격 알고리즘은 가장 좋은 바이어스를 가질 것으로 기대되는 하나의 선형 근사식만을 이용했다® 다중선형공격은 이 알고리즘들을 여러 개의 선형근사식을 이용하는 공격법으로 확장시키는 것이다. 그럼으로써 공격의 데이터 복잡도 혹은 시간 복잡도를 낮추는 효과를 얻으려는 것이다. 이 아이디어는 1994년 Kaliski Jr.과 Robshaw에 의하여 제안되었다同 그러나 그들의 알고리즘은 키비트 마스크가 동일한 선형 근사식들만을 이용해야한다는 제약을 갖고 있었다.
다중선형공격의 다른 흐름을 제시한 것은 2003년의 Junod 논문이다". 그는 Matsui가 12대의 병렬연결된 워크스테이션으로 DES図에 대한 선형공격을 구현한 결과를 발표했음에 주목했다岡 그 공격에서 Matsui는 각각 13 비트의 키 정보를 갖는 두 개의 선형근사식을 이용했다. Junod는 블록암호에 대한 공격을 키정보에 대한 직접적인 분할-정복 (Divide- and-conquer) 공격으로 보지 않고, 모든 가능한 키 후보에 대한 목록을 작성하는 것으로 보았다. Junod의 관점에서 Matsui의 공격은 최적화되지 못한 방법이었다. 왜냐하면, 두 개의 선형 근사식에서 작성되는 두 개의 부분키의 리스트를 하나로 합치는 과정이 최적이 아니었기 때문이다. 그는 Neyman-Pearson의 binary hypothesis testing problem 을 적용하여 이것을 해결했으며, 두 개 이상의 키 후보목록에 대해서도 일반적으로 적용할 수 있음을 주장했다. Junod의 연구는 다중선형공격 그 자체에 관한 것은 아니었으며, 그렇다고 그가 데이터 복잡도나 시간 복잡도와 성공확률간의 관계를 설명한 것도 아니었다. 그러나 Junod의 관점은 다중선형공격에 관한 최신 이론인 Biryukov 등의 연구에 큰 영향을 준 것은 사실이다.
Biryukov 등은 새로운 다중선형공격법을 제시하면서 Kaliski Jr.과 Robshaw가 제안한 공격 법 이 갖는 제약을 해결했다고 주장했으며, 이를 DES에 대한 실험을 통해 입증해보였다闵 그들의 연구에는 블록암호에 대한 공격을 모든 가능한 키 후보를 관측된 통계량에 따라 재정 렬하는 것으로 보는 Junod의 관점이 바탕이 되었다. 그러나, Biryukov 등이 제시한 다중선형공격법은 DES 와 같이 선형적인 키스케줄을 가진 블록암호에는 효과적일 수 있으나, 비선형 키스케줄을 갖는 블록 암호에는 적용이 어렵다. 선형 키스케줄을 갖는 경우, Biryukov 등의 알고리즘은 마스터키의 부분적 인 키정보를 대표 값으로 갖는 키후보의 coset들을 정렬하게 된다. 그러나 비선형 키스케줄의 경우에는 선형근사식의 우변이 근사식의 개수보다 훨씬 더 많은 키 정보를 포함하게 되어 오히려 키공간은 분할되지 않게 된다. 비선형 키스케 줄의 설계가 그렇게 어렵지 않다는 점에서 그들이 제시한 공격 알고리즘의 유용성에 의문이 남는다.
1.2. 본 논문의 연구 결과
본 논문에서는 비선형 키스케줄을 갖는 블록암호에 Birukov의 다중선형공격법이 적용될 수 없는 이유를 구체적으로 밝히고, 비선형 키스케줄을 갖는 블록 암호에 효과적으로 적용될 수 있는 새로운 다중 선형공격법을 제시한다. 본 논문의 실험결과는 새로운 다중 선형공격에 관한 이론은 실제에서도 잘 적용된다는 것을 보여준다.
1.3. 기호 정리
우선 블록암호 旧의 입출력들을 정의하자. RGK를각각 블록암호 旧의 평문, 암호문, 키라고 하자. E의 블록 길이는 n이며, 키 길이는 *라고 하자. 그러므로 P, C 를 n차 벡터공간 聲(2)"의 원소로, K를 k차 벡터공간 GF(2)*의 원소로 여길 수 있다. 블록암호 E는 총 r라운드로 구성되어 있으며, 키 스케줄이 q개의 /비트의 서브키 断 를 생성한다고 하자. 吼, …, 吧는 Z차 벡터공간 6农(2)‘의 원소로 볼 수 있다. 〃번째 (1 < I < r) 라운드함수는 X. 로 표시한다. 兀_1은 Z번째 라운드함수 召의 입력이며, % 는 §의 출력인 동시에 S + 1 번째 라운드함수 气+1의 입력이기도 하다. 따라서 XQ=P, Xr = C 이다
Ⅱ. Biryukov의 다중선형공격
2.1. Biryukov의 다중선형공격 개요
키스케줄이 선형이라 가정하고, Biryukov 등이 제시한 공격알고리즘 중 Algorithm MK1 을 살펴보자闵 이것은 Matsui의 Algorithm 1을 확장시킨 것이다. 키스케줄이 선형이기 때문에, 공격에 이용되는 m개의 선형 근사식을 다음과 같이 표현할 수 있다.
#(1)
. 는 두 이진벡터간의 내적을 의미한다. 상수 비트인 b느 각 선형근사식이 성립할 확률 z가 1/2보다 크도록 하는 값으로 고정된다. 각 孔는 다음과 같이 표현된다.
#(2)
与를 2번째 근사식의 바이어스라 하며, q를 /번째 근사식의 임 밸런스 (imbalance) 라 한다, z = (zvz2, …, 布)를 선형근사식의 우변값들의 벡터라고 하자. 거의 모든 선형공격법과 마찬가지로, Biryukov의 다중 선형공격법은 주어진 데이터로부터 필요한 통계량을 추출하는 통계량 추출과정, 통계량을 분석하고 키 후보를 정렬하는 키 후보 정렬과정, 옳은 키를 검색하는 키 검색과정으로 구성되어 있다.
통계량 추출과정에서는 7V개의 평문-암호문쌍 (Q, (?)이 주어지면, 각 식의 좌변값을 계산하고, /번째 식의 좌변이 0이 될 때마다 카운터 의 값을 1씩 증가 시 킨다.
키 후보 정렬과정 에서는 이전 단계에서 주줄된 통계량인 爲, …, 妳을 a = 1로 표현하여 각 근사식의 불균형성에 대한 관측값으로 활용한다. zt = 0 이라면 7V이 커질수록 3는 c, 에 근접하게 되지만, 반대로 z* = 1 이라면 &는 - q에 근접하게 된다. £와 &를 각각 다음과 같이 정의하자.
#(3)
또, 설명의 편의를 위해 모든 习가 독립이라고 가정하자. 그러면 Z에 대한개의 모든 가능한 후보는 다음 값에 따라 오름차순으로 정렬된다.
#(4)
이것은 각 키 후보 Z에 대응되는 불균형성의 벡터 &와 m차 공간의한 점 E간의 거리가 가까운 순으로 키후보를 정렬한 것이라 볼 수 있다.
마지막으로 키 검색과정에서는 이전 단계에서 만들어진 키 후보의 정렬된 목록에 따라 옳은 키를 검색한다. 키 후보 정렬과 키 검색 과정은 혼합되어 적용될 수도 있다.
[2] 에는 Matsui 의 Algorithm 2를 확장시킨 Algorithm MK2도 제시되어 있는데, 다음과 같은 형태의 선형근사식들을 이용한다.
#(5)
[2]에 의하면, 좌변의 电 . 石과 缶 . 을 계산하는데 필요한 서브키 비트들의 벡터를 分로, 우변의 zv---, zm 비트들의 벡터를 z。로 정의한다. Algorithm MK2는 각 가능한 Zj 값에 대하여, 그것에 대응되는 z。 의 목록을 만드는 것이다. 각 知에 대하여 E 가 다르게 계산되므로, 分와 연관된 c를 "=(%1, ..., %, “, )로표기화자. 각 목록들은 다음 값에 따라 3户0)에 대한 하나의 통합된 목록으로 만들어질 수 있다.
#(6)
대부분의 경우 Algorithm MK2 가 Algorithm MK1 보다 효율적이다.
2.2. Biryukov의 다중선형공격이 비선형 키스케줄을 갖는 블록암호에 적용되기 어려운 이유
[2]는 DES의 8라운드에 대한 Algorithm MK1 과 MK2의 실험결과를 보여줌으로써, 두 공격 알고리즘이 Matsui의 알고리즘보다 효과적임을 역설하고 있다. 그러나 이것은 모든 블록암호에 적용될 수 있는 결과가 아니다. 블록암호의 키스케줄이 비선형적이라 가정호].자. 그것도 비선형성이 매우 높다고 하자. 효율성을 고려하지 않는다면 비선형 키스케줄을 만드는 방법은 그렇게 어렵지 않다. 암호화 알고리즘의 평문에 키를, 각 서브키에 고정된 상수를 입력하여각 라운드의 출력값을 서브키로 얻는 것도 하나의 방법이다. 여기서 우리가 지적하고자 하는 것은 블록 암호의 키스케줄이 높은 비선형성을 가질 때, Algorithm MK1과 MK2가 제공하는 정보가 모호해진다는 것이다.
W = ( 昭, …, 吧)를 서브키의 벡터라 하자. 그러면, Algorithm MK1에 이용되는 m개의 선형 근사식들은 (1)이 아닌 다음과 같은 형태를 갖게 된다.
#(7)
모두 다른 (%0.)에 대해서, Algorithm MK1 을 적용하면 모든 가능한 z= (知…, %, )에 대하여 정렬된 목록을 얻을 수 있다. 그러나 그 목록으로 마스터키 K 또는 서브키 侪, …, 禍의 부분 정보를 얻기는 쉽지 않을 것이다. 마스터키 K를 복구하는 관점에서 일반적으로 z의 목록에서 얻을 수 있는 것은 K의 비트들에 대한 수많은 고차단항식들의 선형결합식들에 대한 부분정보이다. 이러한 비선형 결합식에 대한 해를 얻기 위해서는 엄청나게 많은 수의 관계식이 필요하다. 그러한 해법이 가능할 정도의 선형근사식을 얻는 것도 불가능에 가까울뿐더러, 설령 얻을 수 있다고 해도 다중 선형공격알고리즘의 시간복잡도를 크게 증가시킬 것이다. 또, 라운드키를 복구하는 관점에서도, z의 목록에서 얻을 수 있는 것은 서브키 비트들의 선형결합식들에 대한 부분정보이다. 그러나 여기에는 평문을 암호화하는데 이용된 모든 서브키의 비트들이 포함된다. 만약, z로부터 첫 번째와 마지막 라운드에 사용된 서브키들만의 관계식을 얻어낼 수 있다면 그 서브키들의 부분정보를 얻을 수 있겠지만, 일반적으로 블록 암호에 대하여 그런 일이 발생할 확률은 매우 작다. 블록암호에 의하여 출력되는 암호문의 각 비트도 평문과 키의 비트들에 대한 고차 방정식으로 표현될 수 있지만 그것으로부터 평문이나 키에 대한 정보를 얻어내기가 무척 어려운 것과 비슷한 이치이다.
그렇다면 Algorithm MK2의 경우는 어떤지 살펴보자. 비선형 키스케줄을 갖는 블록암호로부터 얻어진 아래와 같은 식이 Algorithm MK2 가 적용된다고 흐标"
#(8)
이 경우 (z/o)에 대한 분할-정복 공격이 가능할 만큼 많은 평문-암호문 쌍을 이용한다면 에 대한 것은 여전히 모호하지만, 項에 대한 정보는 거의 확실하게 얻을 수 있다. 많은 평문-암호문 쌍을 이용할수록 알고리즘에 의하여 만들어지는 목록의 맨 첫 순위에 대응되는 값이 0?快。)에 대한 옳은 값일 확률이 높아지기 때문이다. 문제는, 선형키스케줄을 갖는 블록 암호에 적용되었을 때와는 달리, 평문-암호문 쌍을 많이 이용해야만 咨에 대한 정보를 얻을 수 있다는 것이다. 많은 선형근사식과 많은 평문-암호문 쌍을 공격에 이용하는 것은 공격의 복잡도를 너무 크게 만들 우려가 있다. 그렇다고 Algorithm MK2에 적은 평문-암호문쌍을 이용하면 각 初값에 대하여 생성되는 zo 목록들이 제공하는 정보의 모호성은 分에도 확산되기 때문에 공격의 효율은 크게 떨어진다.
Ⅲ. 새로운 다중선형공격법
3.1. 공격 알고리즘 개요
이 절에서는 비선형 키스케줄을 갖는 블록 암호에도 적용할 수 있는 새로운 다중선형공격 알고리즘을 소개한다. 이것을 Algorithm MK3라 하자. Algorithm MK3 는 다음과 같은 m개의 식을 이용한다.
#(9)
a3 . . 毛t의 계산에 필요한 서브키 비트열을 z라 하자. 그리고 공격의 효율을 높이기 위해, 모든 식은 같은 활성 (active) S 박스를 갖는다고 가정하자. N 개의 평문-암호문 쌍이 이용된다고 하자. 공격의 첫 단계인 통계량 추출과정에서는 가능한 모든 z값에 대하여 (9)의 식들을 만족시키는 평문-암호문 쌍의 개수의 벡터 As = … 들을 구한다. (2)의 각 식들의 우변이 서브키비트에 관한 어떤 식으로 표현될 수 있는지는 관심의 대상이 아니라는 것이 Algorithm MK1, MK2와의 차이점이다. 이것은 본질적으로 큰 차이를 가져온다. Algorithm MK1과 MK2에서 이용되는 식들은 선형근사식이라 불리는 반면, Algorithm MK3 에서 이용되는 것은 linear hull이다. 그러므로 项번째 식의 임밸런스의 제곱은 %와 缶를 為과 의 비트 마스크로 갖는 모든 선형근사식들의 임밸런스의 제곱들의 합이기 때문에, 확률적 관점에서 큰 이득을 얻을 수 있다. 키 후보 정렬과정에서는 이전단계에서 생성된 벡터들을 다음과 같은 값으로 변환한다.
#(10)
그 다음, Uz 값에 따라 대응되는 서브키 비트열의 후보들을 내림차순으로 정렬한다. Algorithm MK1 과 MK2가 서브키들의 후보들을 오름차순으로 정렬한 반면, Algorithm MK3이 내림차순으로 정렬하는 이유는 옳은 서브키 비트열인 z* 에 대하여 7V이 커질수록 #의 값이 0으로 수렴할 것으로 기대되지만, 반대로 %* 의 값은 0으로부터 점점 멀어질 것으로 기대되기 때문이다.
마지막으로 키 검색과정에서는 이전 단계에서 작성된 목록을 이용하여 서브키 또는 마스터키의 옳은 값을 검색한다.
3.2. 성공 확률
z* 를 옳은 서브키 비트열이라 하자. (9)의 j 번째 식의 임밸런스를 勺 > 0라 하자. 벡터 办의 각 성분 如、, 는 정규분포 N(M1 + c, )/2“W4)또는 N(Ar(l-cJ)/2, 7V/4) 를 따른다. 반면, Z 尹 Z* 인 Z에 대하여 t" 는 정규분포 N(M2, M4)을 따른다. 그러므로 但는 자유도가 m인 전형적인 카이제곱분포를 따른다. 이 때의 陰의 확률밀도함수를 라 하자. 은 다음과 같은 형태를갖는다.
#(11)
반면에, #는 자유도가 m이며 중심매개변수
#(12)
를 갖는 비중심(noncentral) 카이제곱분포를 따른다. 이때의 电의 확률밀도함수를 入)라 중}자. 는 다음과 같은 형태를 갖는다.
#(13)
여기서 4(少)는 Bessel I 함수라 불리며 다음과 같은 형태를 갖는다.
#(14)
이와 같은 통계학적 논리를 바탕으로 Matsui가 Algorithm 2에 대하여 계산한 것과 비슷한 논리로 Algorithm MK3의 성공확률을 계산해보자. z의 비트 길이를 »라 하자. 옳은 서브키 비트열에 대응되는 uzt 을 佝로, 나머지 但들을 로 재정렬 하도록 하자. Algorithm MK의, 성공, 을 ㈣이 가장 큰 값을 갖는 경우로 정의할 때, 성공확률을 다음과 같이 정리할 수 있다.
#(15)
블록암호에 대한 공격을 구상할 때 찾고자하는 서브키 비트 수나 이용하는 선형근사식의 개수는 미리 결정되는 것이므로 성공확률에 영향을 미치는 유일한 변수는 평문-암호문의 개수 N=q 또는 入=应2이다. 따라서 공격자는 시간복잡도와 성공확률을 감안하여 A 를 결정하고 이를 통하여 데이터 복잡도 즉, 평문-암호문 쌍의 개수를 결정할 수 있다.
이러한 성공확률 계산방식은 공격 알고리즘에 의해 작성되는 키후보 목록의 최상위권만을 고려하는 분할-정복 전략을 가정한 것이다. 그러나 분할-정복 전략만을 고집하는 것은 옳지 않다. 다중선형공격에서 많은 선형 근사식을 이용하다보면 분할-정복의 목적을 달성할 수 있을 만큼 많은 평문-암호문 쌍을 이용하는 것이전수조사 못지않은 부담을 안겨줄 수 있기 때문이다. 반대로, 이용하는 평문-암호문 쌍의 개수에 따라, 대상이 되는 서브키 비트들에 대한 몇 비트의 정보를 높은 확률로 얻어낼 수 있는지 예측할 수 있는 방법으로 알고리즘의, 성공'을 정의하고 성공확률을 계산해보자. N 개의 평문-암호문 쌍을 이용했을 때, 옳은 서브키 비트열 z* 가 알고리즘에 의하여 작성되는 키 후보 목록의 상위 2「« 내에 있게 되는 사건을 매개변수 a에 관한 '성공'으로 정의하자. 이것은 [11]에서 제시되었던 Algorithm 2의 성공확률 계산법에 적용된, 성공, 의 개념이기도 하다. 이 개념을 Algorithm MK3에 적용하여 성공확률을 계산해보고자 한다.
*, . .■, 11梦_1를 를 만족하도록 재배열시키자. u3(0 < ; < 2*) 들은 모두 자유도 m 인 카이제곱분포를 따른다. 자유도 m 인 카이제곱분포의 누적분포함수와 확률밀도함수를 각각 F와 /■로 간단히 나타내도록 하자. [11]에 따르면 <7=1-2-«라 할 때, Uj(0 < j < 2fc) 중 r=2k-2k-a= [(2k-l) q\ +1 번째 통계량 ■"의 확률분포는 다음과 같은 평균 灼와 표준편차 气를 갖는 정규분포에 근사된다.
#(16)
평문-암호문 쌍의 개수 a이 충분히 커지면, %의 분포인, 자유도 m과 비중심 매개변수 入를 갖는 비중심 카이제곱분포는 중심극한정리에 의해 평균 “° =m +入, 분산 比 =2(m +2入)를 갖는 정규분포에근사된다. 그러므로, 옳은 서브키 비트열 z* 이 Algorithm MK3에 의해 작성되는 목록의 상위 2-" 내에 있을 확률, 즉 새로운 개념의 성공확률은 다음과 같이 계산된다.
#(17)
Ⅳ. Algorithm MK3에 대한 실험
4.1. 실험용 블록암호 Marmotte
우리는 실험용으로 설계된 블록암호 Marmotte에 Algorithm MK3을 적용하여보았다. Marmotte는 16 비트의 블록 길이를 갖고, 전형적인 6 라운드 SPN 구조로 이루어져 있다. 블록암호 Marmotte는 16비트평문 ■。를 다음과 같은 과정을 거쳐 16비트 암호문 C로 변환한다. 임의의 16비트 변수』는 4비트 값을 성분으로 갖는 벡터로 고려할 수 있다고 하자: A = (A3, A2, Ai, A0).
[표 1] . 블록암호 Marmotte의 암호화 과정
S( . )는 다음과 같은 4비트 입출력표를 갖는 S 박스이다.
서브키 叫), …, 的은 16비트 마스터키 K로부터 다음과 같은 높은 비선형성을 갖는 키 스케줄 알고리즘에 의해 생성된다. 블록암호 Marmotte의 암호화 과정의 평문 대신 K를 대입하고, 서브키 자리에는 모두 0을 대입하여 7번의 OFB연산을 수행한다. OFB 체인의 첫 번째, ... , 여섯 번째 결과값들을 각각 서브키 叫), ..., 的으로 정한다.
4.2. 블록 암호 Marmotte에 대한 공격
우리가 Marmotte의 다중선형공격에 이용한 linear hulle 다음과 같이 라운드2의 입력 气과 암호문 (7에 대하여 성립하는 형태를 갖는다.
#(18)
Marmotte에는 (18)과 같은 형태를 갖고 임밸런스가 0이 아닌 linear hull이 225개가 존재하며, 임밸런스의 제곱의 합 扌은 약 2「丄48이다. 이러한 Hnear hull들을 이용하는 Algorithm MK3의 타겟이 되는 것은 첫 번째 서브키 叫)의 상위 12비트 즉, 凹頂炒曜糾眼이다- 100 개의 랜덤하게 선택된 키들에 대하여 다양하게 Algorithm MK3을 적용한 결과, 실제의 성공확률이 이론적인 것과 거의 일치 하였다. (표 2). 이것은 이론적인 성공확률을 이용하여 실제 성공확률을 매우 잘 예측할 수 있음을 의미한다. 또한, 목표가 되는 정보량(즉, a) 에 따라 평문-암호문쌍의 개수를 조절함으로써 시간 복잡도를 감안한 공격이 가능하다.
[S. 2] . 블록암호 Marmotte에 대한 Algorithm MK3의 성공확률(%, 회수)
Ⅴ. 결론
본 논문에서는 비선형 키스케줄을 갖는 블록암호에 Birukov의 다중선형공격법이 적용될 수 없는 이유를 구체적으로 밝히고, 비선형 키스케줄을 갖는 블록 암호에 효과적으로 적용될 수 있는 새로운 다중 선형공격법을 제시하였다. 실험용 16비트 블록암호 Mar motte에 대한 Algorithm MK3의 실험결과는 새로운 다중 선형공격법에 관한 이론이 실제로도 잘 적용된다는 것을 보여준다. 이 새로운 공격법은 선형 키스케줄을 갖는 블록 암호에도 적용될 수 있으며, 기존에 제시된 블록 암호들에 대한 선형공격에 대한 안전성의 재평가에 필요한 도구로서 활용될 수 있을 것으로 기대된다.
* 본 연구는 정보통신부 및 정보통신연구진흥원의 대학 IT연구센터 지원사업의 연구결과로 수행되 었습니다.
References
- E. Biham, A. Shamir, Differential Cryptanalysis of the Data Encryption Standard, Springer-Verlag, 1993
- A. Biryukov, C. De Canniere, M. Quisquater, 'On Multiple Linear Approximations', CRYPTO 2004, LNCS 3152, pp. 1-22, Springer-Verlag, 2004
- P. Junod, 'On the Optimality of Linear, Differentia l, and Sequential Distinguishers', EUROCRYPT 2003, LNCS 2656, pp. 17-32, Springer-Verlag, 2003
- P. Junod, S. Vaudenay, 'Optimal Key Ranking Procedures in a Statistical Cryptanalysis', FSE 2003, LNCS 2887, pp. 235-246, Springer-Verlag, 2003
- B. S. Kaliski, M. J. Robshaw, 'Linear Cryptanaly sis Using Multiple Approximations', CRYPTO '94, LNCS 839, pp. 26-39, Springer-Verlag, 1994
- L. R. Knudsen, J. E. Mathiassen, 'A ChosenPlaintext Linear Attack on DES', FSE 2000, LNCS 1978, pp. 262-272, 2001
- M. Matsui, 'Linear Cryptanalysis Method for DES Cipher', EUROCRYPT'93, LNCS 765, pp. 386-397, Springer-Verlag, 1993
- M. Matsui, 'The First Experimental Cryptanaly sis of the Data Encryption Standard', CRYPTO '94, LNCS 839, pp. 1-11, Springer-Verlag, 1994
- NIST, FIPS 46-3: Data Encryption Standard, 1999
- NIST, FIPS 197: Advanced Encryption Standard, 2001
- A. A. Selcuk, A. Bicak, 'On Probability of Success in Linear and Differential Crypt analysis', SCN'02, LNCS 2576, pp. 177-188, Springer-Verlag, 2002