투피시

암호학에서 투피시(Twofish)는 블록 크기가 128비트, 키 크기가 최대 256비트인 대칭 키 블록 암호이다. 고급 암호화 표준 대회의 5개의 파이널리스트 가운데 하나이지만 표준화 대상으로 선정되지는 못했다. 투피시는 초기의 블록 암호 블로피시와 관련이 있다.

투피시의 구별되는 특징으로는 미리 연산된 키 의존 S-상자들의 이용, 그리고 상대적으로 복잡한 키 스케줄을 들 수 있다. n비트 키의 절반은 실제 암호화 키로 사용되며 나머지 n비트 키의 절반은 암호 알고리즘(키 의존 S 상자들) 수정에 사용된다. 투피시는 다른 디자인들로부터 일부 요소들을 차용하고 있는데, 이를테면 SAFER 계열 암호의 의사 아다마르 변환(PHT)이 있다. 투피시는 DES와 같은 파이스텔 구조를 지니고 있다. 투피시는 또한 MDS 매트릭스를 채용하고 있다.

2000년으로 거슬러 올라가보면 대부분의 소프트웨어 플랫폼에서 투피시는 128비트 키에 대해 Rijindael(고급 암호화 표준을 위해 선정된 알고리즘)보다 조금 더 느렸으나 256비트 키에 대해서는 조금 더 빨랐다. 그러나 Rijndael이 고급 암호화 표준으로 선정되면서 투피시는 AES-NI를 지원하는 CPU에서 Rijndael보다 속도가 훨씬 더 느려지게 되었다.

투피시의 설계자는 브루스 슈나이어, John Kelsey, Doug Whiting, David Wagner, 크리스 홀, Niels Ferguson이다. 

투피시 암호는 특허를 받지 않았으며 참조 구현체는 퍼블릭 도메인으로 배치되어 있다. 그 결과, 투피시 알고리즘은 어떠한 경우에라도 제약 없이 이용이 가능하다. OpenPGP 표준 (RFC 4880)에 포함된 몇 안 되는 암호들 가운데 하나이다. 그러나 투피시는 더 오래 사용되어 온 블로피시에 비해 더 많이 사용되는 편은 아니다.

같이 보기 
 스리피시
 고급 암호화 표준
 데이터 암호화 표준

각주

문헌

외부 링크 
 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

파이스텔 암호