보안
보통
코딩
AES 암호화 구현
AES-256-GCM 암호화/복호화
35분
85점
#3726
문제 설명
AES-256-GCM 방식으로 데이터를 암호화하고 복호화하는 시스템을 구현하세요.
AES-256-GCM 특징
- 256비트 키 사용
- GCM 모드로 무결성 검증 (인증 태그)
- IV(Initialization Vector) 필요
요구사항
- 키 생성 (password + salt -> key)
- 암호화 (plaintext -> ciphertext + IV + tag)
- 복호화 (ciphertext + IV + tag -> plaintext)
- 무결성 검증 실패 시 에러
인터페이스
class AESCipher:
def __init__(password: str):
# 비밀번호로 키 생성 (PBKDF2)
def encrypt(plaintext: str) -> str:
# Base64 인코딩된 암호문 반환
def decrypt(ciphertext: str) -> str:
# 복호화된 평문 반환
평가 기준
- 암호화 표준 준수
- 보안 모범 사례
- 에러 핸들링
실행 버튼을 눌러 코드를 실행하세요.