암호 식별기

CTF 문제나 로그 파일, 오래된 문서에서 수상한 문자열을 발견했는데 Base64인지, hex인지, 이진수인지, 모스 부호인지 알 수 없을 때가 있습니다. 텍스트를 붙여 넣으면 식별기가 문자 집합과 구조를 검사해 가능성이 높은 인코딩/암호를 순위로 제시합니다. 전용 디코더를 쓰기 전에 거치는 좋은 첫 단계입니다.

암호 식별기 동작 방식

  1. 1

    암호문 붙여넣기

    길이는 자유. 매우 짧은 문자열(20자 미만)은 신호가 약하고, 길수록 더 강한 분류가 가능합니다.

  2. 2

    문자 집합 분석

    글자, 숫자, 기호의 분포로 후보를 좁힙니다(전부 hex, 전부 base64 알파벳, 전부 대문자 라틴 등).

  3. 3

    시그니처 매칭

    길이 규칙(짝수 hex, 4의 배수 base64 블록, 해시의 32/40/64자 hex), 구분자(JWT의 점, 모스의 점과 대시), 잘 알려진 접두사(eyJ, $2b$)를 알려진 시그니처와 대조합니다.

  4. 4

    순위가 매겨진 후보

    일치하는 모든 후보를 신뢰도 순으로 나열하고 백분율로 표시하므로 어떤 디코더를 먼저 시도할지 알 수 있습니다.

식별 휴리스틱

단서 가능성 높은 암호/인코딩
A-Z a-z 0-9 + / =만 있고 길이가 4의 배수 Base64
0-9 a-f만 있고 짝수 길이 Hex
0-1만 있고 8자리 이상 이진수
점, 대시, 슬래시, 공백만 있음 모스 부호
대문자 라틴 문자만, 5자 이상 시저 또는 치환 암호
라틴 문자 20자 이상, 공백 없음 단일 치환 암호
대소문자 혼합 라틴 문자 평문, 암호가 아닐 가능성이 높음
점으로 구분된 3개 세그먼트, eyJ로 시작 JWT 토큰
$2a$, $2b$, $2y$로 시작 bcrypt 해시
정확히 32자 hex MD5 해시
정확히 40자 hex SHA-1 해시
정확히 64자 hex SHA-256 해시

문자 외의 단서

  • Base64: 4글자 블록, 끝에 = 패딩, +/ 포함.
  • 시저 또는 치환: 대문자 라틴 문자만, 숫자 없음. 빈도는 평문과 동일하고 단순히 이동된 것입니다.
  • 모스: 점, 대시, 슬래시, 공백만 사용.
  • JWT: 점으로 구분된 3개 세그먼트, 보통 eyJ로 시작합니다.
  • 해시(MD5/SHA): 고정 길이 hex(MD5 32자, SHA-1 40자, SHA-256 64자). 역연산이 불가하므로 식별기가 이를 표시해 “디코드”를 시도하지 않도록 합니다.
  • 이진수: 0과 1의 긴 나열, 보통 8개씩 묶여 있습니다.

자동 식별의 한계

  • 짧은 입력(10자 미만): 전반적으로 신뢰도가 낮으며 무엇이든 될 수 있습니다.
  • 일회용 패드를 사용한 사용자 정의 XOR: 키 없이는 무작위와 구분할 수 없습니다. 식별기는 일치 항목이 없다고 표시합니다.
  • 다중 계층: 흔한 CTF 트릭은 Base64 → 뒤집기 → 시저 → hex 같은 다중 계층입니다. 한 겹씩 벗겨내세요.
  • 영어가 아닌 원어: 라틴 문자 검사는 계속 유효하지만, “평문”은 추측일 뿐입니다. 식별기는 언어 감지를 하지 않습니다.

신뢰도 점수

각 후보는 시그니처가 얼마나 구체적인지에 따라 고정 신뢰도를 가집니다. 80% 이상은 유력, 50~80%는 가능성 있음, 50% 미만은 가능성 낮음입니다. 여러 개가 일치하면 입력이 짧거나 혼합 암호일 가능성이 높습니다.

자주 묻는 질문

모든 암호 식별 기법은 통계적 규칙성에 의존하고, 통계는 충분한 데이터가 있어야 신뢰할 수 있습니다. 20자 미만에서는 많은 암호가 비슷해 보이며, 50자 이상부터 안정적인 신호가 나옵니다.

가장 가능성 높은 방식만 제안합니다. 디코딩은 전용 디코더 도구에서 이루어지며, 일부 디코딩은 직접 키를 제공해야 합니다.

먼저 문자 집합(어떤 글자/기호가 나오는지)을 확인하고, 길이와 구조를 살펴보세요. 그래도 불분명하면 흔히 의심되는 디코더(Base64, hex, 시저)를 차례로 시도해 보세요. CTF에서는 빈도 + 추측으로 보통 몇 번 안에 풀립니다.

이름이 있는 방식으로는 매칭되지 않을 가능성이 높습니다. 일치 항목이 없거나 낮은 신뢰도의 추측을 반환합니다. 위의 휴리스틱 표와 암호문의 알파벳·구조를 비교하면 간단한 자체 제작 방식을 역공학할 수 있습니다.

관련 도구