652. 암호학 (Cryptography) 개요와 통신망 보안 적용

핵심 인사이트: 로마의 카이사르는 전쟁 중 전령이 적군에게 잡힐 것을 대비해 "ATTACK"이라는 명령을 알파벳 3칸씩 뒤로 밀어 "DWWDFN"으로 적어 보냈다. 적군 전령은 읽지 못했지만, 3칸 밀어 읽는 규칙(키)을 아는 장군은 다시 원래 명령을 읽어냈다. 암호학은 이처럼 누구나 볼 수 있는 공기 중의 전파 속에서도, 오직 허락된 사람만이 메시지를 읽을 수 있게 수학의 마법으로 숨바꼭질을 하는 학문이다.

Ⅰ. 암호학 (Cryptography)의 개념

  • 평문(Plaintext, 누구나 읽을 수 있는 데이터)을 수학적 알고리즘과 비밀 키(Key)를 이용해, 해커가 훔쳐보아도 전혀 의미를 알 수 없는 암호문(Ciphertext, 외계어)으로 변환하는 기술과 이론을 연구하는 학문입니다.
  • 목적: 네트워크상에서 데이터를 주고받을 때 제3자의 스니핑(도청)으로부터 **기밀성(Confidentiality)**을 지키는 가장 근본적이고 강력한 방어 수단입니다.

Ⅱ. 암호화의 4대 핵심 구성 요소 🌟

  1. 평문 (Plaintext / Cleartext): 암호화되기 전의 원본 메시지. (예: 비밀번호 "1234")
  2. 암호문 (Ciphertext): 암호화 과정을 거쳐 의미를 알 수 없게 찌그러진 결과물. (예: "Xy9@q!")
  3. 알고리즘 (Algorithm): 평문을 암호문으로 섞고(Encryption), 암호문을 다시 평문으로 푸는(Decryption) 수학적인 '공식'이나 '기계'입니다. (예: AES, RSA 알고리즘)
  4. 키 (Key): 알고리즘 기계를 돌릴 때 집어넣는 '비밀번호' 또는 '열쇠'입니다. 아무리 강력한 알고리즘을 써도, 키를 해커에게 들키면 암호문은 즉시 뚫립니다. (현대 암호학에서 가장 지켜야 할 절대 반지입니다.)

Ⅲ. 커크호프의 원리 (Kerckhoffs's Principle) 🌟

현대 암호학의 가장 위대한 철학입니다.

"암호 시스템의 안전성은 '알고리즘의 비밀성'에 의존해서는 안 되며, 오직 '키(Key)의 비밀성'에만 의존해야 한다."

  • 과거의 실수: 아마추어 프로그래머들은 자기 혼자 몰래 만든 독창적인 암호화 알고리즘 공식을 쓰면 안전할 거라 착각합니다. 하지만 해커가 프로그램을 뜯어보는 순간(리버스 엔지니어링) 공식이 탄로 나서 영구적으로 뚫리게 됩니다.
  • 현대 암호학의 정답: AES, RSA 같은 현대 표준 알고리즘 공식은 인터넷 논문이나 위키피디아에 누구나 볼 수 있게 100% 투명하게 공개되어 있습니다. 수만 명의 천재 수학자들이 공식을 검증하여 해킹이 불가능함을 증명했기 때문입니다. "공식(알고리즘)은 전 세계에 다 까발려도 좋다. 단, 금고를 여는 숫자(Key) 하나만 안전하게 숨기면 절대로 뚫리지 않는다." 이것이 진정한 암호학입니다.

Ⅳ. 양방향 암호화 vs 일방향 암호화

  1. 양방향 암호화 (Two-way):
    • 암호화(잠그기)를 한 뒤, 다시 복호화(풀기)를 해서 원래의 평문으로 되돌릴 수 있는 방식입니다. (통신, 파일 저장용)
    • 열쇠(Key)를 어떻게 쓰느냐에 따라 **대칭키 암호(653번)**와 **비대칭키 암호(660번)**로 나뉩니다.
  2. 일방향 암호화 (One-way) = 해시(Hash):
    • 한 번 암호문으로 만들면, 우주가 멸망할 때까지 절대 다시 원래 평문으로 복호화할 수 없는(풀 수 없는) 암호화입니다. 비밀번호를 DB에 안전하게 저장하거나 데이터 무결성을 확인할 때 씁니다. (667번 문서 참조)

📢 섹션 요약 비유: 암호화 알고리즘은 거대한 은행의 '금고 제조 기술'과 같습니다. 이 금고의 도면과 톱니바퀴 구조(알고리즘)는 굳이 숨기지 않고 전 세계 금고 박람회에 다 공개합니다. 해커들이 도면을 100번 봐도 "와, 이 금고 진짜 못 부수게 완벽하게 설계됐네" 하고 혀를 내두릅니다(커크호프의 원리). 은행은 오직 그 금고를 여는 '4자리 비밀번호(Key)'만 금고 주인에게 은밀히 알려주면 완벽한 보안이 유지됩니다.