T도구모음

AES 암호화/복호화

텍스트를 AES-256-GCM으로 안전하게 암호화하고 복호화합니다. 서버 전송 없이 브라우저에서 처리됩니다.

모든 암호화/복호화는 브라우저에서 수행되며, 데이터는 서버로 전송되지 않습니다.

AES 키 생성

AES 암호화 도구 — NIST FIPS 197 표준 대칭 암호

AES(Advanced Encryption Standard)는 2001년 NIST가 FIPS 197로 제정한 대칭 키 블록 암호 표준입니다. Rijndael 알고리즘을 기반으로 하며, 128비트 블록 크기에 128/192/256비트 키 길이를 지원합니다. 미국 정부 기밀 문서 보호(AES-256은 TOP SECRET 등급까지)부터 TLS 1.3, IPsec VPN, 디스크 암호화(BitLocker, FileVault)까지 전 산업에서 사용됩니다. 이 도구는 Web Crypto API로 AES-GCM 암호화를 브라우저 내에서 수행하며, 데이터는 서버로 전송되지 않습니다.

AES 운영 모드 비교 — CBC vs GCM

특성CBC (NIST SP 800-38A)GCM (NIST SP 800-38D)
인증별도 MAC 필요AEAD — 내장 인증 태그
IV/Nonce 크기16바이트 IV12바이트 Nonce (권장)
병렬 처리암호화 불가, 복호화 가능암/복호화 모두 가능
사용 사례레거시 호환TLS 1.3, IPsec, 신규 구현 권장

경고: AES-ECB 모드는 동일한 평문 블록이 동일한 암호문을 생성하므로 패턴 노출 위험이 있어 절대 사용하지 마세요.

PBKDF2 기반 키 유도 예시 (Node.js)

const crypto = require('crypto');

const password = 'my-secure-passphrase';
const salt = crypto.randomBytes(16);
const key = crypto.pbkdf2Sync(
  password, salt, 100000, 32, 'sha256'
);
// key = 256-bit AES key derived from password

AES-256-GCM 암호화 예시 (Node.js)

const iv = crypto.randomBytes(12); // 96-bit nonce
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
let encrypted = cipher.update('Hello World', 'utf8', 'hex');
encrypted += cipher.final('hex');
const authTag = cipher.getAuthTag(); // 128-bit tag

OpenSSL CLI로 파일 암호화

# 암호화
openssl enc -aes-256-cbc -salt -pbkdf2 \
  -in secret.txt -out secret.enc

# 복호화
openssl enc -d -aes-256-cbc -pbkdf2 \
  -in secret.enc -out secret.txt

인프라 규모별 AES 적용 전략

소규모: 애플리케이션 레벨에서 AES-256-GCM + PBKDF2로 민감 데이터를 암호화합니다.중규모: AWS KMS 또는 GCP Cloud KMS의 Envelope Encryption을 도입하여 데이터 키(DEK)는 AES-256으로, DEK 자체는 KMS 마스터 키로 래핑합니다.대규모: 서비스별 격리된 KMS 키 링을 운영하고, HSM 기반 키 저장소와 자동 로테이션 정책을 적용합니다. 정지 데이터(at-rest)와 전송 데이터(in-transit) 모두 AES-256으로 암호화해야 SOC 2, ISO 27001 인증 요건을 충족합니다.

보안 베스트 프랙티스

  • GCM 모드에서 동일한 키로 Nonce(IV)를 재사용하면 기밀성이 완전히 무너집니다 — 반드시 매번 랜덤 생성하세요.
  • PBKDF2 반복 횟수는 최소 100,000회 이상으로 설정하세요 (OWASP 권장).
  • 양자 컴퓨팅 위협 대비를 위해 AES-256을 사용하세요 — Grover 알고리즘은 AES-128의 안전 강도를 64비트로 낮춥니다.
  • 암호화 키와 암호문은 반드시 분리 저장하세요 — 동일 저장소에 보관하면 암호화의 의미가 없습니다.

관련 도구

비대칭 키 암호화가 필요하면 RSA 키 생성기를, 메시지 인증 코드가 필요하면 HMAC 생성기를, 환경변수로 키를 관리하려면 환경변수 변환기를 활용하세요.

참고 자료

  • NIST FIPS 197 — Advanced Encryption Standard (AES)
  • NIST SP 800-38D — Recommendation for GCM Mode
  • NIST SP 800-38A — Block Cipher Modes of Operation
  • OWASP Cryptographic Storage Cheat Sheet

자주 묻는 질문

관련 도구