K
KRYFT Problem Bank
보안 보통 코딩

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:
        # 복호화된 평문 반환

평가 기준

  • 암호화 표준 준수
  • 보안 모범 사례
  • 에러 핸들링
실행 버튼을 눌러 코드를 실행하세요.