XTEA

XTEA
XTEA
XTEA InfoBox Diagram.svg
XTEA의 파이스텔 라운드 2회(1사이클)
일반
디자이너로저 니덤, 데이비드 휠러
초판1997
유래
후계자수정 블록 티
암호 상세
키 사이즈128비트
블록 크기64비트
구조.파이스텔 암호
라운드가변, 64 Feistel 라운드 권장(32 사이클)
최고의 퍼블릭 암호 분석
XTEA 36라운드에 대한 관련 키 직사각형 공격(Lu, 2009)[vague]

암호학에서 XTEA(eXtended TEA)는 TEA의 약점을 수정하기 위해 설계된 블록 암호입니다.암호의 설계자케임브리지 컴퓨터 연구소의 David Wheeler와 Roger Needham이며, 알고리즘은 1997년에 공개되지 않은 기술 보고서에 제시되었습니다(Needham and Wheeler, 1997).그것은 어떤 [1]특허의 대상도 아니다.

TEA와 마찬가지로 XTEA는 128비트키와 64라운드를 권장하는 64비트 블록 Feistel 암호입니다.TEA와의 몇 가지 차이점은 분명합니다.예를 들어, 키 스케줄이 다소 복잡해지고 시프트, XOR 및 추가가 재배치됩니다.

실장

표준 C 소스 코드는 David Wheeler와 Roger Needham에 의해 퍼블릭도메인에 공개된 참조 코드를 채택하여 XTEA를 사용하여 암호화 및 복호화합니다.

#실패하다 < stdint >h>  /* v[0] 및 v[1]에서 64비트의 데이터와 128비트의 키[0] - 키[3] */  무효 암호화(서명되어 있지 않다 인트 num_module, uint32_t v[2], uint32_t 컨스턴트 열쇠[4]) {     서명되어 있지 않다 인트 i;     uint32_t v0=v[0], v1=v[1], =0, 델타=0x9E3779B9;     위해서 (i=0; i < > num_module; i++) {         v0 += (((v1 << > 4) ^ (v1 >> 5)) + v1) ^ ( + 열쇠[ & 3]);          += 델타;         v1 += (((v0 << > 4) ^ (v0 >> 5)) + v0) ^ ( + 열쇠[(>>11) & 3]);     }     v[0]=v0; v[1]=v1; }  무효 해독하다(서명되어 있지 않다 인트 num_module, uint32_t v[2], uint32_t 컨스턴트 열쇠[4]) {     서명되어 있지 않다 인트 i;     uint32_t v0=v[0], v1=v[1], 델타=0x9E3779B9, =델타*num_module;     위해서 (i=0; i < > num_module; i++) {         v1 -= (((v0 << > 4) ^ (v0 >> 5)) + v0) ^ ( + 열쇠[(>>11) & 3]);          -= 델타;         v0 -= (((v1 << > 4) ^ (v1 >> 5)) + v1) ^ ( + 열쇠[ & 3]);     }     v[0]=v0; v[1]=v1; } 

참조 소스 코드로부터의 변경은 경미합니다.

  • 사용된 참조 소스 코드unsigned long64비트 클리닝이 아닌uint32_t.
  • 참조 소스 코드가 사용되지 않았습니다.const종류들.
  • 참조 소스 코드가 중복 괄호를 생략했습니다.C precedence를 사용하여 라운드 함수를 다음과 같이 기술합니다.v1 += (v0<<4 ^ v0>>5) + v0 ^ sum + k[sum>>11 & 3];

루프를 반복할 때마다 2개의 Feistel-cipher가 반올림되므로 "num_rounds" 파라미터의 권장값은 64가 아닌 32입니다.속도를 높이기 위해 sum+key[] 값을 미리 계산하여 루프를 풀 수 있습니다.

암호 분석

2004년에 Ko 등에서는 XTEA 64라운드 중 27라운드에 대해 2개선택된 평문과 2의 시간115.15 복잡도를 요구하는20.5 관련 키 차등 공격을 제시했다(Ko 등, 2004).[2][3]

2009년에 Lu는 36라운드의 XTEA에 대해 관련 키 직사각형 공격을 제시하여 이전에 발표된 XTEA의 암호 분석 결과보다 더 많은 라운드를 깼습니다.이 문서에서는 각각 [4][5]2바이트의 데이터와126.44 2바이트의 조작63.83, 2바이트의 데이터와104.33 2개의 조작에 대응하는64.98 약한 키 가정이 없는 공격, 2바이트의 공격을 제시하고 있습니다.

블록티

XTEA와 함께 제공되는 것은 Block TEA라고 하는 가변폭 블록 암호입니다.이 암호는 XTEA 라운드 함수를 사용하지만 Block TEA는 이를 여러 번 반복하여 메시지 전체에 걸쳐 주기적으로 적용합니다.Block TEA는 메시지 전체에 대해 동작하기 때문에 동작 모드가 필요하지 않은 속성을 가집니다.Block TEA에 대한 공격은 (Saarinen, 1998)에 설명되어 있으며, Block TEA의 후속 제품인 XXTEA의 약점도 자세히 설명되어 있습니다.

「 」를 참조해 주세요.

  • RC4 — XTEA와 마찬가지로 구현이 매우 간단하도록 설계된 스트림 암호입니다.
  • XXTEA: Block TEA의 후계자.
  • TEA - TEA의 전구체를 차단합니다.

레퍼런스

  1. ^ Roger M. Needham, David J. Wheeler (October 1997). Tea extensions (PDF). Computer Laboratory, University of Cambridge (Technical report).{{cite techreport}}: CS1 maint: 작성자 파라미터 사용(링크)
  2. ^ Ko, Youngdai; Hong, Seokhie; Lee, Wonil; Lee, Sangjin; Kang, Ju-Sung (2004). Related Key Differential Attacks on 27 Rounds of XTEA and Full-Round GOST (PDF). Fast Software Encryption. Lecture Notes in Computer Science. Vol. 3017. pp. 299–316. doi:10.1007/978-3-540-25937-4_19. ISBN 978-3-540-22171-5. Retrieved 2018-10-10.
  3. ^ Hong, Seokhie; Hong, Deukjo; Ko, Youngdai; Chang, Donghoon; Lee, Wonil; Lee, Sangjin (2004). Differential Cryptanalysis of TEA and XTEA. Information Security and Cryptology - ICISC 2003. Lecture Notes in Computer Science. Vol. 2971. pp. 402–417. doi:10.1007/978-3-540-24691-6_30. ISBN 978-3-540-21376-5.
  4. ^ Lu, Jiqiang (2 July 2008). "Related-key rectangle attack on 36 rounds of the XTEA block cipher". International Journal of Information Security. 8 (1): 1–11. doi:10.1007/s10207-008-0059-9. ISSN 1615-5262.
  5. ^ Lu, Jiqiang (January 2009), "Related-key rectangle attack on 36 rounds of the XTEA block cipher" (PDF), International Journal of Information Security, 8 (1): 1–11, doi:10.1007/s10207-008-0059-9, ISSN 1615-5262, S2CID 26794956

추가 정보

외부 링크