암호학의 기초와 대칭키·비대칭키 완전 이해

2025-10-14


🧠 들어가며

인터넷 보안을 제대로 이해하려면 그 기초가 되는 암호학(Cryptography) 을 알아야 합니다. 이번 2강에서는 암호의 기초 개념부터 대칭키·비대칭키 구조, 해시 함수, 디지털 서명, 그리고 암호 시스템 설계 원리까지 폭넓게 다룹니다.


1️⃣ 암호의 개념과 기초

🔐 암호(Cryptography)란?

평문(Plaintext)을 읽을 수 없는 형태의 암호문(Ciphertext)으로 변환하여
정보의 기밀성을 유지하는 기술

  • 암호화(Encryption): 평문 → 암호문
  • 복호화(Decryption): 암호문 → 평문
  • 목적: 제3자의 도청, 위조, 변조로부터 정보 보호

🧩 암호의 구성 요소

구성 요소설명
평문 (Plaintext)누구나 읽을 수 있는 일반 메시지
암호문 (Ciphertext)암호화되어 인가된 자만 이해할 수 있는 메시지
암호키 (Key)암호화 및 복호화 시 사용되는 핵심 값
알고리즘 (Algorithm)암호화를 수행하는 수학적 절차

2️⃣ 암호의 역사와 발전 과정

📜 고대 암호

시대암호 방식설명
고대 그리스스테가노그래피 (Steganography)메시지를 숨기는 암호법 — 노예의 머리에 글을 새겨 머리카락이 자란 후 전달
로마 시대시저 암호 (Caesar Cipher)알파벳을 일정 자릿수 이동시켜 치환하는 방식 (예: A→D)
중세 유럽전치 암호 (Transposition Cipher)문자의 순서를 바꿔 암호화 (행렬 재배열)
2차 세계대전기계 암호 (Enigma)독일군이 사용한 전자식 암호기, 연합군은 이를 해독해 전세를 바꿈

💻 현대 암호의 등장

  • 1970년대: 컴퓨터의 등장과 함께 디지털 암호학이 본격화
  • 1976년: Diffie-Hellman공개키(비대칭키) 암호화 개념 제시
  • 1977년: IBM의 DES(Data Encryption Standard) 발표
  • 2001년: AES(Advanced Encryption Standard) 표준 채택

🔸 고대 → 전자 → 디지털 암호로 진화하며, 수학과 컴퓨터 과학이 결합된 현대 암호체계가 등장했다.


3️⃣ 암호 시스템의 구성과 분류

암호 시스템은 크게 두 가지로 나뉩니다:

구분대칭키 암호비대칭키 암호
키 구조암호화 키 = 복호화 키 (동일)암호화 키 ≠ 복호화 키 (쌍으로 존재)
속도빠름느림
보안성키 유출 시 전체 노출 위험공개키는 공개해도 안전 (비밀키로만 복호화 가능)
대표 알고리즘DES, 3DES, AESRSA, ECC, Diffie-Hellman

4️⃣ 대칭키 암호 (Symmetric Key Encryption)

💡 개념

송신자와 수신자가 하나의 동일한 키를 공유하여 암호화/복호화를 수행하는 방식.

  • 장점: 속도가 빠르고 구현이 간단
  • 단점: 키 분배가 어렵고, 키 유출 시 전체 통신 노출

🔹 대표 알고리즘

알고리즘특징비트 길이운영 모드
DES64비트 블록 암호, 56비트 키 사용, 16라운드 암호화64bit / 56bitECB, CBC, CFB, OFB
3DESDES를 3번 반복하여 보안 강화 (하지만 속도 느림)112~168bitECB, CBC 등
AES128비트 블록, 128/192/256비트 키 지원, 빠르고 안전128~256bitCTR, CBC 등

🔸 DES → 3DES → AES로 발전하며 블록 크기와 키 길이가 늘어났다. AES는 오늘날 대부분의 암호화 통신(SSL, VPN, Wi-Fi 등)에 사용된다.


5️⃣ 비대칭키 암호 (Asymmetric Key Encryption)

💡 개념

암호화 키(공개키)와 복호화 키(개인키)가 서로 다른 쌍으로 구성되어 있는 방식.

  • 공개키(Public Key): 누구나 접근 가능
  • 개인키(Private Key): 본인만 보유
  • 부인 방지(Non-repudiation) 기능 제공 — “내가 보냈다”는 증거 남김

🔹 대표 알고리즘

알고리즘수학적 기반키 길이특징
RSA큰 소수의 곱(소인수분해 문제)1024~4096bit공개키 기반 인증 시스템의 핵심
Diffie-Hellman이산 로그 문제2048bit 이상안전한 키 교환 방식, 인증 기능은 없음
ECC타원 곡선상의 이산 로그 문제160~521bit적은 연산량으로 높은 보안성 — 모바일 환경에 적합

✅ RSA는 공개키 암호의 대표 주자이며, ECC는 스마트카드·IoT 등 경량 환경에서 각광받고 있다.


6️⃣ 해시 함수 (Hash Function)

💡 정의

임의의 길이의 입력값을 고정된 길이의 출력값(Hash) 으로 변환하는 단방향 함수.

  • 복호화 불가 (1-Way)
  • 같은 입력 → 같은 출력
  • 서로 다른 입력 → 다른 출력 (충돌 최소화)

🔹 주요 특징 및 조건

조건설명
압축성입력 길이보다 출력 길이가 짧음
1방향성출력값으로부터 입력값을 유추 불가
충돌 저항성서로 다른 입력이 같은 해시값을 만들 확률이 극히 낮음

💥 생일 공격 (Birthday Attack) 약 23명만 있어도 생일이 겹칠 확률이 50%인 것처럼, 해시 충돌도 작은 확률로 발생할 수 있어 SHA-256 등 긴 해시를 사용한다.


7️⃣ 디지털 서명 (Digital Signature)

💡 개념

송신자가 개인키(Private Key) 로 서명하고, 수신자는 공개키(Public Key) 로 이를 검증하여 신뢰성을 보장하는 기술.

🔹 서명 과정

  1. 송신자가 메시지의 해시값을 구함
  2. 해당 해시값을 자신의 개인키로 암호화 → 디지털 서명 생성
  3. 수신자는 송신자의 공개키로 복호화하여 동일한 해시값인지 검증

🔹 제공 기능

기능설명
무결성메시지가 전송 중 변조되지 않았음을 보장
인증송신자의 신원을 확인
부인 방지송신자가 송신 사실을 부인할 수 없음

8️⃣ 암호 시스템의 설계 원칙

🔹 주요 보안 속성

  • 기밀성(Confidentiality): 허가된 사용자만 접근
  • 무결성(Integrity): 데이터가 변조되지 않음
  • 인증(Authentication): 신원 및 메시지 진위 확인
  • 부인방지(Non-repudiation): 송신자 행위 부정 불가

🔹 설계 시 고려할 요소

항목내용
혼돈 (Confusion)키와 평문의 관계를 복잡하게 만들어 유추를 어렵게 함
확산 (Diffusion)평문 변경이 암호문 전체에 영향을 주도록 설계
라운드 (Round)반복적 암호화를 통해 보안성 강화
쇄돌 효과 (Avalanche Effect)입력의 한 비트 변화가 출력의 절반 이상을 바꿈

9️⃣ 공개키 기반구조 (PKI)

공개키와 사용자 정보를 신뢰성 있게 연결하기 위한 인증 체계.

📜 구성 요소

구성 요소설명
CA (Certificate Authority)공인인증서를 발급하는 기관
RA (Registration Authority)사용자 신원을 검증하여 CA에 전달
CRL (Certificate Revocation List)폐기된 인증서 목록 관리
CPS (Certificate Practice Statement)CA 운영 정책과 절차 명시 문서

🔚 결론

🔐 “암호학은 수학이지만, 보안은 사람의 신뢰 위에 서 있다.”

암호 기술은 기밀성과 인증을 보장하지만, 진정한 보안은 기술뿐 아니라 운영자의 인식과 관리 체계에서 완성된다.

대칭키의 속도, 비대칭키의 신뢰성, 해시의 무결성 — 이 모든 것이 오늘날 인터넷 보안의 근간을 이룬다.


🧩 핵심 요약

  • 대칭키: 빠르지만 키 관리 어려움
  • 비대칭키: 느리지만 보안성 우수
  • 해시 함수: 단방향 변환, 데이터 무결성 보장
  • 디지털 서명: 인증 + 부인방지 제공
  • PKI: 공개키 신뢰를 위한 제도적 기반
  • 보안 3요소 (CIA): 기밀성 · 무결성 · 가용성

댓글

GitHub 계정으로 댓글을 남겨보세요!