두 마리 물고기

Twofish
두 마리 물고기
Twofishalgo.svg
투피쉬 알고리즘
일반
디자이너브루스 슈나이어
초간출판1998
파생된 위치복어, SAFERY, 사각형
관련삼치
인증AES 결승전 진출자
암호상세
키 사이즈128비트, 192비트 또는 256비트
블록 크기128비트
구조페이젤 네트워크
라운드16
최고의 공개 암호 분석
약 2개의51 선택된 일반 텍스트가 필요한 잘린 차동 암호화 분석.[1] 2단계를256 사용하여 256비트 키 버전 중 16개 라운드를 분할하는 불가능한 차등 공격.[2]

암호학에서 투피쉬블록 크기가 128비트, 키 크기가 최대 256비트인 대칭블록 암호다. 고급 암호화 표준 공모전의 5개 최종 후보 중 하나였지만 표준화 대상으로 선정되지는 않았다. 투피쉬는 이전 블록 암호인 블로피쉬와 관련이 있다.

투피쉬의 특징은 사전 계산된 키 의존형 S박스의 사용과 비교적 복잡한스케줄이다. n비트 키의 절반은 실제 암호화 키로, 나머지 절반은 암호화 알고리즘(키 종속 S-박스)을 수정하는 데 사용된다. 두 마리의 물고기는 다른 디자인에서 몇 가지 요소들을 빌린다. 예를 들어, SAFERED 암호족에서 사이비-하다마드 변환[3](PHT)과 같은 말이다. 투피쉬는 DES와 같은 페이젤 구조를 가지고 있다. 두 마리의 물고기는 또한 최대 거리 분리 가능 행렬을 사용한다.

투피쉬는 1998년 도입 당시 128비트 의 경우 Rijndael(고급 암호화 표준의 선택 알고리즘)보다 다소 느렸지만 256비트 키의 경우 다소 빨랐다. 2008년 이후 거의 모든 AMD 및 Intel 프로세서가 AES 명령 집합을 통해 Rijndael 알고리즘의 하드웨어 가속화를 포함했다; 명령 집합을 사용하는 Rijndael 구현은 이제 (소프트웨어)보다 더 빠른 주문이다. 두 마리 물고기 구현.[4]

투피쉬는 브루스 슈나이어, 존 켈시, 더그 휘팅, 데이비드 바그너, 크리스 홀, 그리고 닐스 퍼거슨에 의해 고안되었는데, 투피쉬에 대한 추가적인 암호 분석을 수행하기 위해 만난 "확장 투피쉬 팀"이다. 다른 AES 대회 참가자들로는 스테판 럭스, 코노 타다요시, 마이크 스테이 등이 있었다.

투피쉬 암호는 특허를 얻지 못했고, 참조 구현은 공공 영역에 배치되었다. 그 결과 투피쉬 알고리즘은 아무 제한 없이 누구나 자유롭게 사용할 수 있다. OpenPGP 표준(RFC 4880)에 포함된 몇 가지 암호 중 하나이다. 그러나 투피쉬는 더 오래 사용 가능했던 복어보다 덜 널리 쓰였다.

퍼포먼스

설계되는 동안 성능은 Twofish에서 항상 중요한 요소였다. 투피쉬는 암호화 속도, 메모리 사용량, 하드웨어 게이트 수, 키 설정 및 기타 파라미터의 중요도에 따라 여러 계층의 성능 트레이드오프를 허용하도록 설계되었다. 이를 통해 다양한 애플리케이션에서 구현될 수 있는 고도로 유연한 알고리즘이 가능하다.

투피쉬를 위한 하드웨어뿐만 아니라 소프트웨어에서도 여러 시간 트레이드오프를 할 수 있다. 그러한 절충의 예는 둘 이상의 속도 증가를 초래할 수 있는 둥근 서브키 또는 s-box의 사전 계산일 것이다. 그러나 이러한 것들은 그것들을 저장하는 데 필요한 더 많은 RAM의 희생으로 온다.

아래 표의 추정치는 모두 기존 0.35μm CMOS 기술을 기반으로 한다.

하드웨어 트레이드오프(128비트 키)[5]
게이트 개수 h블록 시계
블록당
파이프라인
레벨
클럭 속도 처리량
(Mbit/s)
시작
시계
평.
14000 1 64 1 40 MHz 80 4 즉시 사용할 수 있는 하위 키들
19000 1 32 1 40 MHz 160 40
23000 2 16 1 40Mhz 320 20
26000 2 32 2 80 MHz 640 20
28000 2 48 3 120 MHz 960 20
30000 2 64 4 150 MHz 1200 20
80000 2 16 1 80 MHz 640 300 S-box RAM

암호해석

1999년 닐스 퍼거슨 감독은256 2단계를 이용해 256비트 키 버전 중 16개 라운드를 돌파하는 불가능한 차등 공격을 발표했다.[2]

2000년 현재 투피쉬 블록 암호의 가장 잘 발표된 암호 분석은 완전한 16라운드 버전의 잘린 차등 암호 분석이다. 이 논문은 잘린 미분들의 확률은 블록당−57.3 2개이며 잘린 미분들의 좋은 쌍을 찾으려면 대략 2개의51 선택된 일반 텍스트(32페타바이트의 데이터)가 필요할 것이라고 주장한다.[6]

브루스 슈나이어는 2005년 블로그 기사에서 이 논문이 완전한 암호화된 공격을 하지는 않았지만 가설상의 차이점만을 제시했다고 응답했다. "그러나 이론적인 관점에서 보더라도 투피쉬는 원격으로 부서지지도 않았다. 2000년 출간된 이후 이런 결과들에 대한 연장은 없었다고 말했다.[7]

참고 항목

참조

  1. ^ Ship Moriai; Yiqun Lisa Yin (2000). "Cryptanalysis of Twofish (II)" (PDF). Retrieved 2013-01-14. {{cite journal}}: Cite 저널은 필요로 한다. journal= (도움말)
  2. ^ a b Niels Ferguson (1999-10-05). "Impossible differentials in Twofish" (PDF). Retrieved 2013-01-14. {{cite journal}}: Cite 저널은 필요로 한다. journal= (도움말)
  3. ^ "Team Men In Black Presents: TwoFish" (PDF). Archived from the original (PDF) on 26 September 2017.
  4. ^ Bruce Schneier; Doug Whiting (2000-04-07). "A Performance Comparison of the Five AES Finalists" (PDF/PostScript). Retrieved 2013-01-14. {{cite journal}}: Cite 저널은 필요로 한다. journal= (도움말)
  5. ^ Schneier, Bruce (15 June 1998). "Twofish: A 128-Bit Block Cipher" (PDF). counterpane: 68.
  6. ^ Shiho Moriai; Yiqun Lisa Yin (2000). "Cryptanalysis of Twofish (II)" (PDF). Retrieved 2013-01-14. {{cite journal}}: Cite 저널은 필요로 한다. journal= (도움말)
  7. ^ Schneier, Bruce (2005-11-23). "Twofish Cryptanalysis Rumors". Schneier on Security blog. Retrieved 2013-01-14.

기사들

외부 링크