암호화의 원리와 데이터 보호 설계

대칭키·비대칭키·해시 함수의 차이와 암호화 모드, TLS·디스크·메시징 적용, 키 관리 원칙을 정리한다.

2026-08-14 · 최초 발행 2025-06-08

데이터를 읽을 수 없게 만드는 수학적 변환

암호화는 암호키와 알고리즘으로 평문을 암호문으로 바꾸는 과정이다. 권한이 없는 사람이 내용을 이해할 수 없도록 데이터를 변환하며, 안전한 저장과 교환을 위한 보안 메커니즘으로 사용된다.

목표는 단순한 은닉이 아니다. 기밀성뿐 아니라 무결성, 인증성, 부인방지 같은 보안 요소를 확보하기 위한 체계적인 수학적 접근이다.

고대 기법에서 양자 암호학까지

암호화의 출발점은 고대 이집트의 상형문자 변형, 스파르타의 스키테일(Scytale), 시저 암호 같은 초기 기법이다. 이후 제1, 2차 세계대전 시기에는 에니그마(Enigma) 같은 기계식 암호가 등장했다.

컴퓨터 시대에는 수학 기반 알고리즘이 현대 암호학의 중심이 됐고, 지금은 양자역학 원리를 활용하는 양자 암호학까지 연구 대상이 확장되고 있다. 현재의 암호 기술은 오랜 발전 과정 위에서 디지털 환경에 맞춰 계속 변화하고 있다.

키의 관계로 나뉘는 암호 방식

같은 키를 공유하는 대칭키 방식

대칭키 암호화는 하나의 동일한 키로 암호화와 복호화를 수행한다. 처리 속도가 빠르고 구현이 비교적 단순하지만, 키를 안전하게 관리해야 한다는 과제가 있다.

DES (Data Encryption Standard)는 56비트 키를 사용하는 초기 표준이다. 3DES (Triple DES)는 DES를 세 번 적용해 보안성을 강화한 방식이며, AES (Advanced Encryption Standard)는 128, 192, 256비트 키를 사용하는 현재 가장 널리 쓰이는 표준이다. SEED는 한국 표준 블록 암호 알고리즘이고, ARIA는 국내에서 개발된 암호 알고리즘이다.

동일한 키로 암호화동일한 키로 복호화평문암호문평문

공개키와 개인키를 분리하는 방식

비대칭키 암호화는 공개키와 개인키라는 서로 다른 두 개의 키를 사용한다. 키 교환 문제를 해결할 수 있고 디지털 서명도 가능하지만, 대칭키 방식보다 속도가 느리다.

RSA는 가장 널리 사용되는 공개키 암호화 알고리즘이다. ECC(타원곡선 암호)는 더 짧은 키로 동등한 보안성을 제공하며, DSA(Digital Signature Algorithm)는 디지털 서명용 알고리즘이다. ElGamal은 이산대수 문제에 기반한 암호화 시스템이다.

수신자의 공개키로 암호화수신자의 개인키로 복호화평문암호문평문

복호화하지 않는 해시 함수

해시 함수는 입력 데이터를 고정 길이의 해시값으로 변환하는 일방향 함수다. 같은 입력에는 항상 같은 출력이 생성되고, 출력으로부터 입력을 유추하기는 어렵다. 해시값은 복호화할 수 없다.

MD5는 128비트 해시값을 생성하지만 현재는 취약점이 발견됐다. SHA-1도 160비트 해시값을 생성하지만 현재는 취약점이 발견된 상태다. SHA-2(SHA-256, SHA-512 등)는 현재 널리 사용되며, SHA-3는 차세대 해시 표준이다. BLAKE2와 BLAKE3는 고성능 해시 함수에 속한다.

해시 함수해시 함수입력 데이터해시값다른 입력 데이터다른 해시값

블록 암호를 운용하는 방식의 차이

블록 암호는 운영 모드에 따라 서로 다른 성질을 가진다. ECB(Electronic Codebook)는 각 블록을 독립적으로 암호화한다. CBC(Cipher Block Chaining)는 이전 블록의 암호문과 XOR 연산한 뒤 암호화한다.

CFB(Cipher Feedback)는 스트림 암호처럼 사용할 수 있고, OFB(Output Feedback)는 키스트림을 생성해 평문과 XOR 연산한다. CTR(Counter)은 카운터값을 암호화해 키스트림을 만들며, GCM(Galois/Counter Mode)은 암호화와 인증을 동시에 제공한다. 모드 선택에는 보안성, 성능, 구현 복잡성이 함께 관여한다.

통신과 저장 장치에서의 암호화

HTTPS를 뒷받침하는 SSL/TLS

SSL/TLS는 웹 통신 보안을 위한 핵심 프로토콜이며 HTTPS의 기반 기술이다. 핸드셰이크에서 비대칭키 암호화로 대칭키를 교환한 뒤, 이후 통신은 효율성을 위해 대칭키로 암호화한다. 인증서는 서버 신원 확인에 사용된다.

서버클라이언트서버클라이언트대칭키를 사용한 암호화 통신클라이언트 Hello (지원 암호화 알고리즘 목록)서버 Hello (선택된 암호화 알고리즘) + 인증서인증서 검증대칭키 교환 (서버 공개키로 암호화)완료

저장 장치 전체를 보호하는 디스크 암호화

디스크 암호화는 저장 장치 전체 내용을 암호화해 물리적 도난 상황에서도 데이터를 보호한다. 대표적인 솔루션으로 BitLocker(Windows), FileVault(macOS), LUKS(Linux), VeraCrypt(크로스 플랫폼)가 있다.

전송 중 메시지를 보호하는 E2EE

메시징 암호화는 종단간 암호화(E2EE)를 통해 전송 중인 메시지를 보호한다. Signal, WhatsApp, Telegram의 비밀 채팅, 카카오톡 비밀채팅이 이 범주에 포함된다.

표준과 인증 체계

NIST(미국 국립표준기술연구소)는 AES, SHA 등 주요 암호화 표준을 제정한다. KISA(한국인터넷진흥원)는 SEED, ARIA 등 국내 암호화 표준을 관리하며, ISO/IEC는 국제 암호화 표준을 개발한다.

FIPS 140-2/3은 암호화 모듈의 보안 요구사항을 검증하는 표준이다. Common Criteria(CC)는 정보보호시스템 평가 인증 표준으로 활용된다.

양자 환경과 암호문 연산의 방향

양자 컴퓨터의 발전은 현재 암호 알고리즘에 위협이 될 수 있다. Shor 알고리즘은 RSA, ECC 등 비대칭 암호화 해독 가능성을 제기하고, Grover 알고리즘은 대칭키 암호화 공격의 효율성을 높일 수 있다.

대응 방안으로는 후양자 암호학(Post-Quantum Cryptography)이 연구되고 있다. 격자 기반, 해시 기반, 코드 기반, 다변수 다항식 암호화 등이 그 대상이다.

동형 암호화(Homomorphic Encryption)는 암호화된 데이터를 복호화하지 않은 상태에서 계산할 수 있는 기술이다. 클라우드 환경의 민감 데이터 처리에 활용할 수 있다. 완전 동형 암호화(FHE)는 계산 비용이 높아 실용화 중이며, 부분 동형 암호화는 일부 응용 분야에서 활용되고 있다.

구현에서 놓치기 쉬운 조건

키 관리는 암호화 시스템에서 가장 중요한 부분 중 하나다. 충분한 엔트로피를 갖춘 키를 생성하고, 적절한 키 길이를 택하며, 안전한 키 저장소를 활용해야 한다. 정기적인 키 교체 정책과 키 백업·복구 방안도 필요하다.

알고리즘은 보안 요구수준과 성능 요구사항, IoT 등 제한된 환경의 리소스 제약, 표준 준수 여부, 법적 규제 요구사항을 기준으로 선택한다.

암호화에는 예측 불가능한 랜덤값이 필수다. 하드웨어 난수 생성기(HRNG), 암호학적으로 안전한 의사 난수 생성기(CSPRNG), 충분한 엔트로피 소스를 활용하는 방법이 있다.

암호화정보보안대칭키비대칭키해시 함수