CoderTools

Twofish 암호화/복호화

AES 최종 후보 - 최대 256비트 키의 128비트 블록 암호

보안 알림

이 도구는 모든 데이터를 브라우저에서 로컬로 처리합니다. 암호화 키를 절대 공유하지 마세요. 프로덕션 환경에서는 강력한 무작위 생성 키를 사용하세요.

Twofish는 고정 키 길이를 지원합니다: 128비트(16바이트), 192비트(24바이트) 또는 256비트(32바이트). 블록 크기는 항상 128비트(16바이트)입니다.
형식 옵션

Twofish 소개

Twofish는 Counterpane의 6인 팀(Schneier, Kelsey, Whiting, Wagner, Hall, Ferguson)이 설계한 대칭 128비트 블록 암호입니다. 핵심 설계 혁신은 키 의존 S-box입니다: 키 설정 중에 q0/q1 치환과 GF(2⁸)의 4×4 MDS 행렬 곱셈을 통해 키 재료에서 4개의 8→8비트 S-box를 구성합니다.

16라운드 Feistel의 g() 함수는 두 개의 32비트 워드를 키 의존 S-box와 MDS를 통해 처리하고 PHT(32비트 덧셈)로 결합합니다. 입력 및 출력 화이트닝으로 슬라이딩 공격을 방지합니다. 1998년 이후 완전 16라운드에 대한 공격 없음.

주요 특징

  • q0/q1 치환 및 MDS를 통한 키 의존 S-box — 각 키마다 고유 S-box 구성으로 사전 계산 차분 분석 방지
  • GF(2⁸)의 4×4 MDS 행렬 — 비제로 입력 차분이 최대 가중치 출력 차분 생성
  • PHT (Pseudo-Hadamard Transform) — 32비트 덧셈으로 효율적인 Feistel 확산
  • 입출력 화이트닝 — 라운드 1 전과 라운드 16 후에 서브키 XOR로 슬라이딩 공격 방지

암호 모드

  • CBC: Twofish CBC — 128비트 블록이 이전 암호문과 XOR. Sweet32 임계값 2⁶⁴ 블록 — 실용적으로 도달 불가능.
  • ECB: Twofish ECB — 각 16바이트 블록 독립 처리. 단일 블록 작업 전용.
  • CFB: Twofish CFB — 자동 동기화 스트림, Sweet32 제약 없음.
  • OFB: Twofish OFB — 결정론적 키스트림, 주기 2¹²⁸ 블록.

알고리즘 비교

알고리즘 키 길이 블록 크기 보안 속도
Twofish 128/192/256 bits 128 bits 우수 빠름
AES 128/192/256 bits 128 bits 우수 빠름
Blowfish 32-448 bits 64 bits 양호 빠름
3DES 112/168 bits 64 bits 보통 느림

보안 고려사항

  • 1998년 이후 완전 16라운드 공격 없음. 최상의 감소 라운드: 6라운드.
  • 키 의존 S-box가 AES에 없는 추가 공격 저항 계층 제공: 키 없이는 대체 층 구조 알 수 없음.
  • Sweet32 취약 BF-CBC 대체를 위한 Blowfish의 권장 후계자.
  • 고처리량: AES-256-GCM. Twofish-256은 VeraCrypt, AES-NI 없는 환경, 장기 보관에 적합.

사용 사례

  • VeraCrypt 캐스케이드: Twofish+AES+Serpent 알고리즘 다양성
  • Blowfish BF-CBC 마이그레이션: Sweet32 없는 128비트 Schneier 설계 계승
  • AES-NI 없는 환경: 소프트웨어 전용 128비트 구현
  • AES 독립 보안 보증의 장기 고보안 스토리지

참고 자료

빠른 메뉴

최근 사용 도구 없음