투피시
일반 | |
---|---|
설계자 | 브루스 슈나이어 |
최초 출판일 | 1998 |
기원 | 블로피시, SAFER, 스퀘어 |
관련 방식 | 스리피시 |
인증 | AES 파이널리스트 |
암호 상세 정보 | |
키 크기 | 128, 192, 256비트 |
블록 크기 | 128비트 |
구조 | 파이스텔 암호 |
라운드 수 | 16 |
최고 공개 암호 해독 | |
en:Truncated differential cryptanalysis requiring roughly 251 chosen plaintexts.[1] en:Impossible differential attack that breaks 6 rounds out of 16 of the 256-bit key version using 2256 steps.[2] |
암호학에서 투피시(Twofish)는 블록 크기가 128비트, 키 크기가 최대 256비트인 대칭 키 블록 암호이다. 고급 암호화 표준 대회의 5개의 파이널리스트 가운데 하나이지만 표준화 대상으로 선정되지는 못했다. 투피시는 초기의 블록 암호 블로피시와 관련이 있다.
투피시의 구별되는 특징으로는 미리 연산된 키 의존 S-상자들의 이용, 그리고 상대적으로 복잡한 키 스케줄을 들 수 있다. n비트 키의 절반은 실제 암호화 키로 사용되며 나머지 n비트 키의 절반은 암호 알고리즘(키 의존 S 상자들) 수정에 사용된다. 투피시는 다른 디자인들로부터 일부 요소들을 차용하고 있는데, 이를테면 SAFER 계열 암호의 의사 아다마르 변환[3](PHT)이 있다. 투피시는 DES와 같은 파이스텔 구조를 지니고 있다. 투피시는 또한 MDS 매트릭스를 채용하고 있다.
2000년으로 거슬러 올라가보면 대부분의 소프트웨어 플랫폼에서 투피시는 128비트 키에 대해 Rijindael(고급 암호화 표준을 위해 선정된 알고리즘)보다 조금 더 느렸으나 256비트 키에 대해서는 조금 더 빨랐다. 그러나 Rijndael이 고급 암호화 표준으로 선정되면서 투피시는 AES-NI를 지원하는 CPU에서 Rijndael보다 속도가 훨씬 더 느려지게 되었다.[4]
투피시의 설계자는 브루스 슈나이어, John Kelsey, Doug Whiting, David Wagner, 크리스 홀, Niels Ferguson이다.
투피시 암호는 특허를 받지 않았으며 참조 구현체는 퍼블릭 도메인으로 배치되어 있다. 그 결과, 투피시 알고리즘은 어떠한 경우에라도 제약 없이 이용이 가능하다. OpenPGP 표준 (RFC 4880)에 포함된 몇 안 되는 암호들 가운데 하나이다. 그러나 투피시는 더 오래 사용되어 온 블로피시에 비해 더 많이 사용되는 편은 아니다.
같이 보기
[편집]각주
[편집]- ↑ Ship Moriai; Yiqun Lisa Yin (2000). “Cryptanalysis of Twofish (II)” (PDF). 2013년 1월 14일에 확인함.
- ↑ Niels Ferguson (1999년 10월 5일). “Impossible differentials in Twofish” (PDF). 2013년 1월 14일에 확인함.
- ↑ “Team Men In Black Presents: TwoFish” (PDF). 2017년 9월 26일에 원본 문서 (PDF)에서 보존된 문서. 2020년 1월 26일에 확인함.
- ↑ Bruce Schneier; Doug Whiting (2000년 4월 7일). “A Performance Comparison of the Five AES Finalists” (PDF/포스트스크립트). 2013년 1월 14일에 확인함.
문헌
[편집]- Bruce Schneier; John Kelsey; Doug Whiting; David Wagner; Chris Hall; Niels Ferguson (1998년 6월 15일). “The Twofish Encryption Algorithm”. 2013년 3월 8일에 원본 문서 (PDF/포스트스크립트)에서 보존된 문서. 2013년 1월 14일에 확인함.
- Bruce Schneier; John Kelsey; Doug Whiting; David Wagner; Chris Hall; Niels Ferguson (1999년 3월 22일). 《The Twofish Encryption Algorithm: A 128-Bit Block Cipher》. 뉴욕: 존 와일리 & 선즈. ISBN 0-471-35381-7.
외부 링크
[편집]- Twofish web page, with full specifications, free source code, and other Twofish resources by 브루스 슈나이어
- 256 bit ciphers – TWOFISH reference implementation and derived code
- Products that Use Twofish by Bruce Schneier
- Better algorithm: Rijndael or TwoFish? by en:sci.crypt
- Standard Cryptographic Algorithm Naming: Twofish