DOI QR코드

DOI QR Code

Impossible Differential Attack on 30-Round SHACAL-2

30 라운드 SHACAL-2의 불능 차분 공격

  • 홍석희 (고려대학교 정보보호기술연구센터) ;
  • 김종성 (고려대학교 정보보호기술연구센) ;
  • 김구일 (고려대학교 정보보호기술연구센) ;
  • 이창훈 (고려대학교 정보보호기술연구센) ;
  • 성재철 (서울시립대학교 수학) ;
  • 이상진 (고려대학교 정보보호기술연구센터)
  • Published : 2004.06.01

Abstract

SHACAL-2 is a 256 bit block cipher with various key sizes based on the hash function SHA-2. Recently, it was recommended as one of the NESSIE selections. UP to now, no security flaws have been found in SHACAL-2. In this paper, we discuss the security of SHACAL-2 against an impossible differential attack. We propose two types of 14 round impossible characteristics and using them we attack 30 round SHACAL-2 with 512 bit 18y. This attack requires 744 chosen plaintexs and has time complexity of 2$^{495.1}$ 30 round SHACAL-2 encryptions.

SHACAL-2는 국제 표준 해쉬 알고리즘 SHA-2의 압축 함수에 기반을 둔 최대 512 비트 키 크기를 가지는 256 비트 블록 암호이다. 최근에 SHACAL-2는 NESSIE 프로젝트의 256 비트 블록 암호에 선정되었으며. 현재까지 SHACAL-2의 안전성에 대한 문제점은 제기되지 않았다. 본 논문에서는 불능 차분 공격에 대한 SHACAL-2의 안전성을 논의한다. 본 논문은 두 가지 형태의 14 라운드 불능 차분 특성을 구성한다. 이를 이용하여 512 비트 키를 사용하는 30 라운드 SHACAL-2의 공격을 소개한다. 공격 결과를 요약하면 744개의 선택 평문을 가지고 2$^{495.1}$ 30 라운드 SHACAL-2 암호화 과정의 시간 복잡도로 전수 조사 과정보다 빠른 30 라운드 SHACAL-2의 공격이 가능하다.

Keywords

Ⅰ .서론

SHACAL-2(2)는 NESSIE(New European Schemes for Signatures, Integrity, and Encryption) 프로젝트에 제안된 블록 암호로서 H. Handschuh 와 D. Nacca사ie에 의해 설계된 64 라운드 블록 암호이다. 이는 국제 표준 해쉬 알고리즘 SHA-2141 의 압축 함수에 기반을 두었으며. 최근 NESSIE 프로젝트의 256 비트 블록 암호로 선정 되었다.

SHACAL-2 (2)는 블록 암호로서 다음과 같은 몇 가지 이점을 갖는다. 우선 SHACAL-2는 해쉬 함수 SHA-2(4)에 기반을 두고 있기 때문에. 다양한 환경에 적용 가능한 SHA-2의 구현을 공유할 수 있다. 그리고 SHA-2와 SAHCAL-2의 분석 과정은 밀접한 관계가 있으므로, SHA-2에 대한 분석 결과는 SHACAL-2의 안전성을 평가하는데 큰 도움을 줄 수 있다. 현재까지 SHA-2의 안전성에 대한 문제점은 제기되지 않았으며, 이는 SHACAL-2가 안전한 블록 암호라는 신뢰성을 증가 시켜준다.

본 논문에서는 SHACAL-2의 축소 라운드(전체 64 라운드 중 30 라운드)가 불능 차분 공격盘에 취약할 수 있음을 보인다. 본 논문은 두 가지 형태의 11 라운드 불능 차분 특성과 각각에 3 라운드 비선형 방정식을 결합한 두 가지 형태의 14 라운드 불능 차분 특성을 구성한다. 이를 이용하여 744 선택 평문의 데이터복잡도와 24951 30 라운드 SHACAL-2 암호화 과정의 시간 복잡도를 가지고 30 라운드 SHACAL-2를 공격한다.

Ⅱ. SHACAL-2 블록 암호의 소개

SHACAL-2(2)는 다양한 키 길이(최대 512 비트)를 가지는 256 비트 블록 암호이다. 이는 NIST 에의해 소개된 국제 표준 해쉬 함수 알고리즘 SHA-2 (4)의 압축 함수에 기반을 두고 있다. SHACAL-2 암호화 과정은 다음과 같다.

256 비트 평문은 여덟 개의 32 비트 워드 A, B. C, D, E. F, G. H로 분할된다. 32 비트 워드를 z번째 라운드 입력 값이라 하면, 평문。는 厶七 B°, CP. If. E% F°, (f. 评으로 표현되며, 64 라운드 과정을 거친 암호문은 厶", B64, C64, 伊, E64, 殆, G64. /产이 된다. z번째 라운드 암호화 과정은 다음과 같다.

#(1)

#(2)

#(3)

#(4)

#(5)

#(6)

#(7)

#(8)

#(9)

#(10)

+는 법 2软 덧셈을 의미하며, 归는 32 비트 라운드 키, K는 32 비트 라운드 상수 값이다(각 라운드 상수 값은〔4〕를 참조). 위에 정의된 /번째 라운드 암호화 과정에 사용하는 함수는 다음과 같다.

c%(x, Y, z)=(、x& Y)e(—, x&Z)

Maj(X, Y, Z) =(、X & 丫)的(X &7)©( Y&Z) Zo(X)=S2(A)®S13(X)©S22(A)

S 1(A) =s6(JO©s11(JO®s25(JO

「X는 32 비트 워드 X의 보수를 의미하며, S, (X)는 32 비트 워드 X의 i 비트 오른쪽 순환을 의미한다.

한편, 성질 X—y=x+(2 32 — i—丫)+1 = x+d + i을 이용하여, /+1번째 라운드 복호화 과정을 다음과 같이 나타낼 수 있다.

#(11)

#(12)

#(13)

#(14)

#(15)

#(16)

#(17)

#(18)

#(19)

SHACAL-2의 키는 최대 512 비트이며, 512 비트 보다 작은 키에 대해서는 0 비트 스트링을 패딩 하여 총 512 비트를 생성한 후 사용한다. 하지만 SHACAL-2에서 128비트보다 작은 키의 사용은 지양한다.

512 비트 키 스트링을 砰 [ 胪 II 胪 Ⅱ... II W15] 와 같이 표시하면, 2048 비트 키로의 확장 과정은 다음과 같다.

I俨= q(WL2)+矿負+%0俨T5) + w”T6, Mm*. <7o(x) =S?(力晒!"卸?3(*)

<7((X)= S17 WffiS 19(x)®ff10 W

R, (x)는 32 비트 워드 J의 i 비트 오른쪽 쉬프트를 의미한다.

Ⅲ. SHACAL-2 불능 차분 툑성

본 장에서는 두 가지 형태의 14 라운드 SHACAL-2 의 불능 차분 특성을 소개한다. 이 특성은 11 라운드 불능 차분 특성과 3 라운드 비선형 방정식을 결합하여 얻어진다. 먼저 두 가지 형태의 11 라운드 부정 차분 특성을 구성하고, 이 차분 특성이 불능 차분 특성으로 변화될 수 있음을 설명한다. 두 가지 형태의 11 라운드 불능 차분 특성은 첫 번째 라운드키 胪의 최상위 비트 값에 따라 결정된다. 즉, 만약 时1의 최상위 비트 값이 0이라면, 두 가지 불능 차분 특성 중 하나가 확률 1로 만족하며, 称0의 최상위 비트 값이 1이라면, 또 다른 하나의 불능 차분 특성이 확률 1로 만족한다. 다음 과정은 확률 1을 가지는 3라운드 비선형 방정식을 복호화 과정을 통해 유도한다. 3 라운드 비선형 방정식은 두 가지 형태의 11 라운드 불능 차분 특성을 14 라운드 불능 차분 특성으로 확장시킬 수 있다. 차분특성식의 설명에 앞서 본 논문에서 사용하는 표기법을 정의한다. 단, 워드의 비트 위치는 가장 오른쪽 최하위 비트부터 0으로 시작 하며. 왼쪽으로 갈수록 증가한다.

. 尸: 256 비트 평문, P=(A°, ..., 理).

. P, : 用째 라운드의 256 비트 입력값, 尹=(".., "

. %; : X, 의 z번째 비트, Xre{Ar-, Hr, W, Kr} . trL, : 7、[의 /번째 비트

- ? : 알 수 없는 32 비트 워드.

/번째 비트를 제외한 모든 자리에 0 값을 갖는 32 비트 워드.

.

. ~e, : 0 ~(/-1)번째 자리의 값은 0, /번째 자리의 값은 L 3+1)~ 31번째

자리의 값은 알지 못하는 값을 갖는 워드

3.1. 11 라운드 불능 차분 특성

SHACAL-2는, 라운드에서 라운드 , + 10까지 확률 1을 가지는 11 라운드 부정 차분 특성이 존재한다. 본 논문에서는 라운드 0T0에 대한 두 가지 형태의 11 라운드 불능 차분 특성을 소개한다. 첫 번째로 라운드 2-10에 대해 확률 1로 만족하는 9 라운드 부정 차분 특성을 설명한다. 확률 1을 가지는 부정 차분 특성은 불능 차분 특성으로 바꾸어 생각할 수 있으며 본 논문은 불능 차분 특성을 이용한다. 두 번째로 라운드 1과 라운드 0의 입력 차분 형태를 구성하는 방법을 설명한다.

표 1은 라운드 2T0에 대한 확률 1을 가지는 9라운드 부정 차분 특성을 나타낸다. 표 1에서 각 행은 XOR 차분을 나타낸다. 표 1은 다음과 같은 차분 성질을 이용하여 쉽게 확인할 수 있다.

표 1. 확률 1울 가지는 9-라운드 부정 차분 특성

성질 1. 라면, 、의 출력 차분은 다음과 같다. ° S o(X)®S o(X*)=e;—2(gd 32),2- 13(mxl 32),/-22(mod 32)

성질 2. J®X*=e라면, 다음과 같다. fl의 출력 차분은 Zj l(X)ffiS l(^*)=e >-6(n»d 32),>-ll(mod 32). i-25(nnd 32)

성질 3. ^【* = ~弓, 瑙丫* = ~勺、그리고 /> ; 라면, 다음을 만족한다. (X+W(X*+ Y*)= e,

표 1은 (0, 0, 0, 。31, 0, 0, 0, 。31»(?, ?, ?, ?, ?, ?, ?, ~%)형태인 9 라운드 부정 차분 특성을 보여준다. 이 부정 차분 특성은 입력 차분 형태가 (0, 0, 0, 翎, 0, 0, 0, 00)라면, 9 라운드 후에 여덟 번째 워드의 최하위 비트 줄력 차분 zJ础은 0이 됨을 의미하며, 이는 血3이 절대로 1이 될 수 없음을 의미한다. 이 사실은 다음과 같은 9 라운드 불능 차분 특성을 가능케 한다.(如11의 최하위 비트는 1이다)

#(20)

본 논문에서는 표 1에 나타나 있는 9 라운드 부정 차분 특성 대신에 (20)에 나타난 9 라운드 불능 차분 특성을 사용한다.

지금부터 라운드 1과 라운드 0의 입력 차분의 구성 방법에 대해 살펴보자. 먼저 라운드 1의 입력 차분을 구성한다. 평문 쌍을 (旦尸)라 표시하면, 2 라운드 차분 尸2㊉?2=(0, 0, 0 翎, 0, 0, 0, 翎)을 만족하기 위해서, 1 라운드 차분 형태는 최소한 441=額1 = 死1=&刀=0, %1 = 2妇1=四1을 만족해야 한다 흐卜지만 珞岛总, 成, 塚盈의 값을 고려하지 않고, 단지 如1그리고 曲1 을 조절하여 产, 尸2 의 원하는 차분 특성을 꾸밀 수 없다. 따라서, 破, Z归뿐만 아니라 砧, 處, 爲, a察战, 盈값을 조절해야 한다. 조사 결과 여덟 가지 형태의 쌍이 F朝*2=(0, 0, 0, 翎, 0, 0, 0, 翎)을 만족하며, 각 차분 형태와 상태 값은 표 2에 나타나 있다.

표 2. 라운드 1의 여덟 가지 형태의 입력 차분

다음은 라운드 0의 입력 차분, 즉, 평문쌍 P, P 의 차분을 구성하는 방법을 설명한다.<為, 珞, 聶, 盈 값은 라운드 키 君의 영향을 받고, 그 값들은 표 2 에서와 같이 고정된 값을 갖는다. 따라서, 표 2에 나타난 라운드 1의 입력 차분 및 상태 값을 만족하기 위해서는 의 특정 비트 뿐만 아니라, 라운드키 砂의 최상위 비트 碼까지 고려해야 한다. 즉, 四*값에 따라 P, 尸의 특정 비트를 고정하여 ㊉尸*i의 값이 표 2에서 제시된 8개의 형태 중의 하나가 되게 하는 방법을 사용한다.

차분 (0, e&, 0, 0, 0, e&, 0, 0)을 갖는 평문쌍 户, 尸는 다음과 같은 조건을 만족한다고 가정하자.

#(21)

위의 조건을 만족하고 m馬=0인 경우, 尸, 尸의 1 라운드 암호화 과정 후 p\p*1 차분은 표 2의 형태 0을 나타낸다. 이유는 다음과 같다.

암호화 과정을 통해 2也1=如1=直1=/〃尸 =0과 ZJCi = zJGi = e3i을 만족한다. 위의 조건(21) 로부터 7% = Ri= 刑, 7驾 = 7하=0 와 员1 =弱 =0을 확인할 수 있다. 또한 이 값을 식 (6)과 (10) 에 적용하여 E1과 刖은 砰+2刽과 같음을 확인할 수 있고즉, 死1=0), &과 A4은 盼과 같음을 확인할 수 있다(즉, 201=0). 따라서 碱! = 0인 경 最=0과 旳 = 蜀=1을 만족됨을 알 수 있다. 그러므로 표 2에 나타난 尸, /시의 차분 형태 0을 만족하는 RP를 구성할 수 있다. 위와 같은 상태를 만족하는 평문쌍 (巳P)의 차분을 Do 이라고 표시한다. 즉, F&F*=Do(표 3).

표 3. 라운드 0의 두 가지 형태의 입력 차분

다음은 차분 (0, e 31, e 31, 0, 0, e 31, 0, 0)을 갖고, 조건 (22)를 만족하는 평문쌍。, F**를 가정하자.

#(22)

위의 조건을 만족하고 破!=1인 경우, 日尸**의 1라운드 암호화 과정 후 차분은 표 2의 형태 4를 만족함을 알 수 있다. 이러한 경우(日, /5**) 의 차분을 0으로 표시한다. 즉, p&p*=Di(표 3). 위 두 가지 경우를 정리하면, 조건 (21)과 조건 (22)를 만족하는 차분 0과 〃' 은 각각 1 라운드 암호화 과정 후 표 2의 형태 0과 4를 만족하며, 2 라운드 암호화 과정 후에는 표 1의 입력 차분 값을 만족한다.

그러므로 한 비트 키 破!의 값에 따라 확률 1로 만족하는 두 가지 형태의 11 라운드 불능 차분 특성을 구성할 수 있다. 두 가지 11 라운드 불능 차분 특성은 다음과 같이 요약할 수 있다.

성질 1-1. w& = 0인 경우, 차분 Do을 만족하는 임의의 평문쌍에 대해서(즉, PeP*=Da). 11 라운드 암호화 과정 후에 여덟 번째 워드의 최하위 비트는 1이 될 수 없다(즉, 础&烷晚 1).

성질 1-2. 破!=1인 경우, 차분 Di을 만족하는 임의의 평문쌍에 대해서(즉, W**=Q)11 라운드 암호화 과정 후에 여덟 번째 워드의 최하위 비트는 1이 될 수 없다(즉, 础㊉烷*晚1).

3.2. 14 라운드 불능 차분 특성

본 절에서는 11 라운드 불능 차분 특성에 3 라운드 비선형 방정식을 결합하는 방법을 소개한다. 본 논문에서 사용하는 불능 차분 특성 (20)은 단지의 최하위 비트 /础에 관심이 있다. 外의

값은 복호화 과정을 통해 厶%3气..., 甘LKfK12, K】3, J砰, 俨, 胪의 특정 비트로 표현 가능하다. 즉, 써)1의 3 라운드 비선형 방정식을 유도할 수 있으며, 이를 이용하여 14 라운드 불능 차분 특성으로 확장한다. 이 과정 중에 최하위 비트의 덧셈은 XOR 연산과 같음을 이용한다. 유도과정은 다음과 같다.

먼저 방정식 (12)를 사용하여 础은 (23)과 같이 厶气矽2, …, //12, /。, 伊의 특정 비트의 비선형 방정식으로 표현할 수 있다.

#(23)

복호화 과정을 사용하여, 糾은 (24)와 같이 Ab, BL…, H、KU, Ki2j伊, 俨의 특정 비트의 비선형 방정식으로 표현할 수 있다.

#(24)

비선형 방정식 (24)의 代。과 帰2는 방정식 (11)과 (23)을 사용하여 비선형 방정식 (25)와 (26)으로 표현할 수 있다.

#(25)

#(26)

유사한 방법으로, 瑞은 (27)과 같이 A14, Bu, -, HM’kU'KeK13, 胪, 1评, 俨의 특정 비트의 비선형 방정식으로 표현할 수 있다.

#(27)

비선형 방정식 (27)의 磁戢, 嬉, 饴은 비선형방정식 (24), (25), (26)을 이용하여 (28). (29), (30), (31)과 같이 표현할 수 있다.

#(28)

#(29)

#(30)

#(31)

따라서, 闢는 비선형 함수 职厶%甘4, ...」尹, Ku, Ke, Ka, I戸, 俨, 胪)로 표현 7]능하다(이 함수를 간단하게 NFe로 표시한다). 그러므로 14 라운드 SHACAL-2에 대한 불능 차분 특성을 다음과 같이 나타낼 수 있다.

성질 2. F®P*=D<A 相尸**=7刀을 만족하는 세 개의 평문 (EF, 尸**)을 고려하자.

2-1. 만약 编=0 라면, 확률 1을 가지고 *14 ㊉A归*Mei이 성립한다.

2-2. 만약 魏=1 라면, 확률 1을 가지고 A归14㊉a归**m钊이 성립한다.

그러므로 破!값에 따라 라운드 0T3에 대한 두 가지 형태의 14 라운드 불능 차분 특성을 구성할 수 있다 .

Ⅳ. 512 비트 키를 사용하는 30 라운드 SAHCAL-2의 블능 차분 공격

본 장에서는 앞서 소개한 두 가지 형태의 14 라운드불능 차분 특성을 이용하여 30 라운드 SHACAL-2 의 512 비트 키를 찾는 방법을 설명한다.

(巳“巳, 球)은 /=1, “・, 248에 대해서 P.®P, = Do와 PeP?=Dr을 만족하는 세 개의 평문이고, (C“G, G*)는 (巳, R, R*)에 대응하는 30 라운드 SHACAL-2의 세 개의 암호문 이라고 가정하자. CM기4①me)는 /기와 /차1의 여덟 번째 워드의 최하위 비트 차분을, (AF14®\F**14), 는 /吁와 F**11 의 여덟 번째 워드의 최하위 비트 차분을 나타낸다. 위의 가정으로부터 각 세 개의 평문 C%R, R) 는성질 2를 만족한다.

차분값. 小归&을 알기 위해서 비선형 방정식 (27)의 키 값 唄은 요구되지 않는다. 또한 AF14 값이 아닌 瓦\归14값을 알기 위해서, 라운드 17의 출력 쌍을 안다는 가정 아래 姚, 婢, …, 碱, 嬪, 疣 …, 姨, M毒, M甲, …, 飕의 키 값만을 요구한다. 따라서 만약 라운드 30 라운드의 암호문쌍을 안다면, 495 비트 키 孵, 胪, …, 胪, 姨, 1砰, …, 飕, 姨, 婢…, z據, 遞M, …, 碱, 思 硒을 추측함으로써 복호화 과정을 통해 (N기4卸四*14)와 (泗1峪 NF心■) 을 얻을 수 있다. 하지만 키 스케줄 관찰 결과 俨, 胪, 泸, 碱, 여, 婢을 추측흐여 礴을 얻을 수 있다. 따라서 총 494 비트 키를 추측하여 성질 2의 여부를 판단할 수 있다.

伊, 知, …"捜는 모든 가능한 494 비트 키 값이라고 가정하자. 각각의 々에 대한 모든 248) 값에 대해서 (AF 14®\F *14) , =0 또는 (NF 临 NF **14) , =0여부를 테스트한다.

만약 信가 모든 어】 대해서 (AF 14ffiAF *14) , =0 을 만족한다면, 仓와 碼=0을 키 후보로 저장한다. 반면, 모든 z에 대해서 **m)广。을 만족한다면, 4와 碼 = 1을 키 후보로 저장한다. 모든 과정을 거친 후 키 후보로 저장된 키와 남은 17 비트 키에 대해서 전수조사를 수행한다. 알고리즘 1은 위의 공격과정을 요약한다.

알고리즘 1의 시간 복잡되는 단체 1에 의해 결정된다. 단계 2의 사용되는 키는 단계 1에서 사용되는 2494의 키에 비해 낮은 비율을 차지하므로, 단계 2의 시간 복잡도는 단계 1에 비해 매우 작다. 그러므로 30 라운드 SHACAL-2에 대한 공격은 744( = 3 . 1A 247248)개의 선택 평문과 약 喘 . |j(2494-2-3) =2妫」30 라운드 SHACAL-2 암호화 과정을 요구한다.

알고리즘 1. 30 라운드 SHACAL-2 공격

주의 : 만약 추측한 키가 올바르지 않다면 J2VF14 값은 랜덤하다고 가정한다. 따라서 단계 1을

통과하는 495 비트 부분키의 기대값은 0.5( = 24952 248)이다 하지만 구현 결과, 단계 】 을 통과하는 키 후보의 개수는 기대값 이상이었다. 时4의 25 비트를 제외하고 올바르게 추측한 2霰개의 495 비트 키에 약 52.6개의 키가 단계 1을 통과 하였고, 俨5의 26 비트를 제외하고 올바르게 추측한 2阳개 495 비트 키의 경우 약 9.3개의 키가. 0刀°의 26 비트를 제외하고 올바르게 추측한 2%개 495 비트 키의 경우에 약 48개의 키가 단계 1을 통과하였다(단계 1을 통과한 키의 개수는 10번 테스트 결과의 평균값이다). 보조 정리 1은 단계 1을 통과하는 키의 개수가 기대값 이상의 수치가 나온 이유를 설명한다.

보조정리 1.

Z=X+ Y, Z* =X*+ 須, 飕X* =勺, Y= y*라고 가정히자.(단, XKX*, r는 32 비트 워드이다) . 그러면 확률 1/2*(顶+为-1M31)으로 W = 皿+"”뉴T이 성립한다

예를 들어, ?碾값을 제외하고 495 비트를 올바르게 추측하였다고 가정하자. 틀리게 추측된 한 비트 키는 보조정리 1로부터 확률 2*으로 &0刀4 = 1을 만족한다. 따라서 올바르지 못한 키에 대해서도 단계 1 을 통과하는 경우가 발생한다. 하지만, W47, ---, 의 특정 비트의 올바르지 못한 키 추측은 /1膏14의값을 랜덤하게 생성한다. 그러므로 거의 대부분의 495 비트 틀린 키는 zlNFM값을 랜덤하게 출력하기 때문에 대략 24販1 30 라운드 SHACAL-2 암호화 과정의 시간 복잡도를 가지고 30 라운드 SHACAL-2를 공격할 수 있다.

#

본 논문은 SHACAL-2의 불능 차분 공격을 소개하였다. 첫 번째로 라운드 키의한 비트에 영향을 받는 확률 1로 성립하는 두 가지 형태의 11 라운드 SHACAL-2 부정 차분을 이용하여 두 가지 형태의 11 라운드 불능 차분 특성을 구성하였다. 두 번째로 복호화 과정을 통해 확률 1을 가지는 3 라운드 비선형 방정식을 유도하고, 이를 이용하여 첫 번째 라운드 키의한 비트에 영향을 받는 두 가지 형태의 14 라운드 불능 차분 특성으로 확장하였다. 이 불능 차분 특성을 사용하여 744 선택 평문의 데이터 복잡도와 2495 1시간 복잡도를 가지고 전수조사 보다 빠른 512 비트 키를 가지는 30 라운드 SHACAL-2를공격할 수 있다.

References

  1. Advances in Cryptology-EUROCRYPT'99, LNCS 1592 Cryptanalysis of skipjack reduced to 31 rounds using impossible differentials E.Biham;A.Biryukov;A.Shamir
  2. Submission to the NESSIE project SHACAL:A Family of Block Ciphers H.Handschuh;D.Naccache
  3. FSE 2002. LNCS 2365 Impossible Differential Cryptanalysis of Reduced Round XTEA and TEA D.J.Moon;K.D.Hwang;W.I.Lee;S.J.Lee;J.I.Lim
  4. FIPS 180-2:Secure Hash Standard U.S.Department of Commerce