Toolonit
  1. 홈
  2. 암호화
  3. 암호화 / 복호화
  4. Serpent

Serpent 암호화·복호화

AES 결선 후보였던 Serpent로 암호화·복호화합니다.

암호화 방식

복호화할 때 다시 필요합니다. 입력한 내용은 이 페이지 밖으로 나가지 않습니다.

PBKDF2 반복 횟수

OpenSSL 기본값은 10,000입니다. 원하는 값을 직접 넣을 수도 있습니다. 클수록 비밀번호를 추측하기 어려워지며, 복호화할 때도 같은 값이 필요합니다.

모드

OpenSSL에서 가장 흔한 선택. IV가 필요하고 블록 단위로 패딩합니다.

키 길이
출력 형식
OpenSSL로 같은 작업

OpenSSL에는 Serpent 암호가 없습니다.

Serpent는 로스 앤더슨, 엘리 비햄, 라스 크누센이 만든 블록 암호로, AES 공모에서 2위를 했습니다. 16바이트 블록을 128·192·256비트 키로 32라운드에 걸쳐 암호화합니다. 일부러 안전 여유를 넉넉하게 잡은 탓에 공모에서 이겨 AES가 된 Rijndael보다 느렸고, 현실적인 공격법은 알려져 있지 않습니다. 이 페이지에서 Serpent-256(128·192도 가능)으로 CBC, ECB, CTR, CFB, OFB 모드의 텍스트를 암호화·복호화할 수 있습니다. 비밀번호 방식은 무작위 솔트와 PBKDF2-HMAC-SHA256으로 키와 IV를 만들고 결과를 openssl enc -pbkdf2의 Salted__ 형식으로 쓰며, hex 키와 IV를 직접 넣을 수도 있습니다. Serpent 계산은 모두 브라우저 안에서 하므로 텍스트와 키가 기기 밖으로 나가지 않으며, 무료이고 가입도 필요 없습니다.

Serpent로 텍스트 암호화하는 방법

  1. 암호화 또는 복호화를 고릅니다. 암호화할 텍스트를 입력하거나, 복호화할 Base64·hex 텍스트를 붙여 넣습니다. 형식은 자동으로 알아냅니다.
  2. 비밀번호를 입력하거나(‘생성’을 누르면 강력한 비밀번호를 만듭니다), 키·IV(hex)로 바꿔 키와 32자리 IV를 입력하거나 생성합니다(ECB는 IV가 없습니다).
  3. 키 길이(기본 256비트)와 모드(기본 CBC)를 고릅니다. 복호화할 때는 암호화할 때와 같은 설정을 써야 합니다.
  4. 결과를 복사하거나 내려받고, 입출력 바꾸기로 결과를 입력 칸에 옮겨 방향을 뒤집을 수도 있습니다.

주요 기능

  • 128·192·256비트 키, 32라운드 전체의 Serpent
  • CBC, ECB, CTR, CFB, OFB 모드, PKCS#7 패딩 또는 패딩 없음
  • NESSIE 테스트 벡터와 같은 표준 바이트 순서
  • PBKDF2-HMAC-SHA256과 openssl enc -pbkdf2의 Salted__ 머리글을 쓰는 비밀번호 방식
  • 직접 정한 hex 키·IV, 또는 생성한 값을 쓰는 키·IV 방식
  • Base64·hex 입출력, 결과 복사·내려받기·입출력 바꾸기

개인정보는 안전한가요?

네. Serpent 계산은 브라우저 안의 WebAssembly가 합니다. 텍스트, 비밀번호, 키는 서버로 보내지 않고 브라우저에 저장하지도 않습니다.

자주 묻는 질문

Serpent는 안전한가요?

네. 32라운드 전체의 Serpent에 대한 현실적인 공격법은 알려져 있지 않습니다. 속도를 조금 내주고 공격 기법이 발전해도 버티도록 설계했으며, 보통 크기의 텍스트에서는 속도 차이가 느껴지지 않습니다. AES가 거의 모든 곳에서 지원되므로, Serpent는 데이터를 주고받는 시스템이 Serpent를 쓸 때 고르세요.

OpenSSL로 Serpent를 복호화할 수 있나요?

아니요. OpenSSL에는 Serpent가 없어서 이 결과를 읽는 openssl 명령은 없습니다. 다른 프로그램에서 쓰려면 키·IV 방식을 고르고, 그 프로그램에 같은 키, IV, 모드, 패딩(CBC·ECB는 PKCS#7)을 넣으세요.

다른 프로그램에서 만든 Serpent 데이터가 복호화되지 않아요.

키, IV, 모드가 맞다면 바이트 순서가 원인일 가능성이 큽니다. 일부 구현은 Serpent의 입출력 바이트를 거꾸로 쓰며, Bouncy Castle은 이 변형을 Tnepres라고 부릅니다. 이 페이지는 NESSIE 테스트 벡터의 표준 순서를 쓰므로 Tnepres 구현으로 만든 데이터는 여기서 복호화되지 않습니다.

Serpent로 암호화한 VeraCrypt 볼륨을 열 수 있나요?

아니요. VeraCrypt는 디스크와 컨테이너 파일 전체를 자체 헤더와 함께 XTS 모드의 Serpent로 암호화합니다. 이 페이지는 텍스트를 암호화·복호화합니다. VeraCrypt 볼륨은 VeraCrypt로 열고, 파일 하나를 브라우저에서 잠그려면 파일 암호화 도구를 쓰세요.

관련 도구