지식 정보 / 암호화

암호화 알고리즘 Rijndael은 어떻게 작동하나요?

AES라는 약어로도 알려져 있습니다

권한이 없는 사람이 접근하지 못하도록 하면서 기밀 정보를 안전하게 전송하는 일은 예로부터 어려운 과제였습니다. 초기의 "비밀 언어"(예: 단순한 문자 치환)는 현대의 컴퓨팅 성능으로는 쉽게 해독할 수 있습니다. 오늘날 우리는 데이터를 암호화 기법으로 보호합니다. 이는 수학적으로 정밀하게 정의되어 있으며, 그 보안성이 공개적으로 검증된 방식입니다.

이러한 방식은 를 사용하며, 이는 송신자와 수신자만 알고 있습니다. 이때 암호화와 복호화는 암호화 알고리즘이라는 명확하게 설명된 수학적 절차를 따릅니다.

Password Depot는 귀하의 기밀 데이터를 알고리즘 Rijndael로 암호화하며, 이는 AES (Advanced Encryption Standard)로 표준화되어 있습니다.

아래에서는 이 알고리즘을 설명하고 기술적으로 분류해 드립니다.

Advanced Encryption Standard (AES) - Rijndael의 표준화된 버전

미국 National Bureau of Standards(현재의 NIST)는 1977년에 DES를 표준화했으며, 이 표준은 2005년에 폐지되었습니다. 이는 더 이상 충분히 안전하지 않았기 때문입니다 (NIST 발표). 후속 표준으로 NIST는 2001년에 Rijndael을(를) 선정해 이를 바탕으로 Advanced Encryption Standard (AES) (FIPS 197).

중요: AES는 Rijndael 계열의 부분집합입니다. AES는 블록 크기를 128비트로 고정하고, 키 길이는 128, 192 또는 256비트 (NIST 안내, FIPS 197 (PDF)).

AES는 미국 정부 기관의 TOP SECRET 등급 정보 보호용으로 승인되어 있습니다 (참조: CNSSP‑15 Fact Sheet 및 최신 NSA의 CNSA‑2.0 FAQ).

Rijndael/AES의 작동 방식(간략 개요)

Rijndael은 치환-순열 네트워크 암호입니다. 핵심 개념은 바이트 수준 치환, 선형 변환XOR 연산입니다.

블록 수준 처리 과정(128비트 "State")

  • 키 확장(Key Schedule): 키로부터 Nr + 1개의 라운드 키가 파생됩니다(예: 11AES-128의 경우, 13AES-192의 경우, 15AES-256의 경우). 출처: FIPS 197.
  • 초기 라운드: AddRoundKey – 평문 블록(4×4바이트 행렬로 표현됨)을 첫 번째 라운드 키와 XOR로 결합합니다.
  • 라운드 1 … Nr:
    • SubBytes: 각 바이트는 S-Box를 통해 치환됩니다(GF(28)에서의 곱셈 역원과 상수에 대한 아핀 변환 더하기 0x63). 출처: FIPS 197.
    • ShiftRows: State 매트릭스의 행을 순환 방식으로 이동합니다.
    • MixColumns: 열은 GF(28) 위에서의 행렬 곱셈으로 혼합됩니다.
    • AddRoundKey: 해당 라운드 키와 XOR 연산을 수행합니다.

참고: 마지막 라운드에서는 마지막 라운드에서 MixColumns가 생략됩니다. 라운드 수는 10/12/14 키의 경우 128/192/256 Bit (FIPS 197).

AES는 소프트웨어, 펌웨어 또는 하드웨어로 구현할 수 있습니다 (FIPS 197). 실제 적용을 위해서는 운영 모드 사용됩니다. 예: CBC, CTR 또는 GCM (인증된 암호화). 권장 사항은 다음에서 확인할 수 있습니다: NIST SP 800–38ANIST SP 800–38D (GCM/GMAC).

중요한 구분점: AES는 대칭형 데이터 암호화를 위한 암호입니다. 키 교환은 일반적으로 비대칭 방식((EC)DH/RSA)으로 이루어집니다. 그러나 AES는 키를 안전하게 래핑할 수 있습니다("Key Wrap") - 참조: NIST SP 800–38F.

공식 사양

참조 문서는 여기에서 확인할 수 있습니다: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

무차별 대입 공격

무차별 대입은 공격자가 모든 가능한 키를 시도한다는 뜻입니다. DES처럼 56비트 키만 사용하는 고전적 방식은 오늘날 사실상 해독이 가능하며, 이에 따라 NIST는 2005년에 DES를 공식적으로 폐기했습니다 (NIST).

반면, AES처럼 128/192/256비트 키를 사용하는 최신 방식은 천문학적으로 큰 키 공간을 가집니다. 실제로 더 중요한 것은 알고리즘 자체보다 비밀번호로부터의 키 유도마스터 비밀번호.

Password Depot지연 기능을 통해 Brute-Force 공격을 추가로 어렵게 만듭니다. 마스터 비밀번호를 잘못 입력하면 프로그램이 몇 초 동안 잠깁니다.

결론: 올바르게 구현되고 적절한 운영 모드(예: GCM)와 충분한 키 길이가 적용된다면, 현재 기준에서 AES는 매우 장기적으로 안전한 것으로 간주됩니다.

자세히 보기: Brute-Force 공격.

무차별 대입 공격 이해하기

비밀번호 길이가 왜 중요한지, 그리고 어떻게 자신을 보호할 수 있는지 알아보세요.

무차별 대입 공격에 대해 더 알아보기