01 — CAESAR CIPHER

시저암호

시저암호는 가장 오래된 암호 기법 중 하나로, 알파벳을 일정한 수만큼 이동시켜 암호화합니다. 카이사르가 군사 통신에 사용했다고 전해집니다.

Shift 3
PLAINTEXT
CIPHERTEXT
알파벳 매핑 (A→Z)
02 — HASH FUNCTION

해시함수

해시함수는 임의 길이의 데이터를 고정된 크기의 값(해시)으로 변환합니다. 같은 입력은 항상 같은 출력을 내지만, 출력에서 입력을 역산하는 것은 매우 어렵습니다.

INPUT
hello
DJB2
hash = hash * 33 + c
OUTPUT (HEX)
DJB2 알고리즘 (32-bit)
hash = 5381
for each char c:
  hash = ((hash << 5) + hash) + c
  // hash = hash * 33 + c
눈사태 효과 (Avalanche Effect)
입력에 단 한 글자만 추가해도 해시 값이 크게 변합니다.
원본 입력
원본 + "x"
비트 차이:
해시함수는 비밀번호 저장, 데이터 무결성 검사, 해시 테이블 등에 광범위하게 사용됩니다. DJB2는 단순하지만 분포가 좋은 비암호학적 해시함수입니다.