Twofish 암호화·복호화
AES 결선 후보였던 Twofish로 암호화·복호화합니다.
복호화할 때 다시 필요합니다. 입력한 내용은 이 페이지 밖으로 나가지 않습니다.
OpenSSL 기본값은 10,000입니다. 원하는 값을 직접 넣을 수도 있습니다. 클수록 비밀번호를 추측하기 어려워지며, 복호화할 때도 같은 값이 필요합니다.
OpenSSL에서 가장 흔한 선택. IV가 필요하고 블록 단위로 패딩합니다.
OpenSSL에는 Twofish 암호가 없습니다.
Twofish는 브루스 슈나이어 팀이 만든 블록 암호로, AES 공모의 최종 후보 다섯 개 중 하나였고 Blowfish의 후속작입니다. 16바이트 블록을 128·192·256비트 키로 암호화하며, 현실적인 공격법은 알려져 있지 않습니다. 암호화 프로그램들이 AES의 대안으로 제공하는 이 암호로 텍스트를 암호화·복호화할 수 있습니다. 기본은 Twofish-256(128·192도 가능)이고 CBC, ECB, CTR, CFB, OFB 모드를 고릅니다. 비밀번호를 쓰면 무작위 솔트와 PBKDF2-HMAC-SHA256으로 키와 IV를 만들어 openssl enc -pbkdf2와 같은 Salted__ 형식으로 저장하고, hex로 된 키와 IV를 직접 쓸 수도 있습니다. 텍스트와 키는 브라우저 안에서만 처리되어 기기 밖으로 나가지 않고, 무료이며 가입할 필요도 없습니다.
Twofish로 텍스트 암호화하는 방법
- 암호화 또는 복호화를 고릅니다. 암호화할 텍스트를 입력하거나, 복호화할 Base64·hex 텍스트를 붙여 넣습니다. 형식은 자동으로 알아냅니다.
- 비밀번호를 입력하거나(‘생성’을 누르면 강력한 비밀번호를 만듭니다), 키·IV(hex)로 바꿔 키와 32자리 IV를 입력하거나 생성합니다(ECB는 IV가 없습니다).
- 키 길이(기본 256비트)와 모드(기본 CBC)를 고릅니다. 복호화할 때는 암호화할 때와 같은 설정을 써야 합니다.
- 결과를 복사하거나 내려받고, 입출력 바꾸기로 결과를 입력 칸에 옮겨 방향을 뒤집을 수도 있습니다.
주요 기능
- 128·192·256비트 키의 Twofish, 기본 256비트
- CBC, ECB, CTR, CFB, OFB 모드, PKCS#7 패딩 또는 패딩 없음
- PBKDF2-HMAC-SHA256과 openssl enc -pbkdf2의 Salted__ 머리글을 쓰는 비밀번호 방식
- PBKDF2 반복 횟수 1~1,000만 회, 기본 10,000회
- 다른 Twofish 프로그램과 데이터를 주고받는 키·IV 방식: hex 키와 32자리 IV를 입력하거나 생성
- Base64·hex 입출력, 결과 복사·내려받기·입출력 바꾸기
개인정보는 안전한가요?
네. Twofish 계산은 브라우저 안의 WebAssembly가 하므로 텍스트, 비밀번호, 키는 업로드되지 않고, 브라우저 저장소에도 남지 않습니다.
자주 묻는 질문
Twofish가 AES보다 안전한가요?
어느 쪽이 더 약하다고 알려진 것은 없습니다. 전체 라운드의 Twofish와 AES 모두 현실적인 공격법이 없고, 둘 다 16바이트 블록과 최대 256비트 키를 씁니다. 공모에서 선정된 AES는 하드웨어 지원이 있고 거의 모든 곳에서 쓸 수 있으니, Twofish는 데이터를 주고받는 프로그램이나 상대가 Twofish를 쓸 때 고르세요.
OpenSSL로 Twofish를 복호화할 수 있나요?
아니요. OpenSSL에는 Twofish가 없어서 이 결과를 읽는 openssl 명령은 없습니다. 키·IV 방식을 쓰고, Bouncy Castle, Botan, libgcrypt처럼 Twofish가 있는 라이브러리에 같은 키, IV, 모드를 넣으세요. CBC와 ECB의 패딩은 PKCS#7입니다.
Twofish에는 어떤 키와 IV가 필요한가요?
Twofish-128·192·256에 맞춰 16·24·32바이트 키(hex 32·48·64자리)와, ECB를 뺀 모드에서 16바이트 IV(hex 32자리)가 필요합니다. 키를 붙여 넣으면 그 길이에 맞춰 키 길이가 바뀝니다. 비밀번호 방식에서는 비밀번호와 솔트로 둘 다 만들고, 솔트는 결과의 Salted__ 뒤에 들어 있습니다.
Twofish와 Blowfish 중 무엇을 쓰나요?
Twofish를 쓰세요. 같은 설계자가 만든 Blowfish의 후속작으로, 16바이트 블록이라 Blowfish의 8바이트 블록이 가진 Sweet32 약점이 없고 키도 256비트까지 씁니다. Blowfish는 그것으로 만든 데이터를 읽을 때만 쓰세요.