0Pricing
Cryptology Academy · 강의

AES 및 스트림 암호 속 XOR

실제 암호화 알고리즘 내부에서 XOR가 사용되는 방식을 추적합니다.

AES 및 스트림 암호 속 XOR은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

환영합니다

XOR는 모든 현대 암호 내부에서 사용되는 기본 구성 요소입니다. 이 수업에서는 AES의 AddRoundKey와 스트림 암호의 키 스트림 혼합 과정에 XOR가 어떻게 등장하는지 살펴봅니다.

AES에서의 XOR: AddRoundKey

AES에는 10–14개의 라운드가 있습니다. 모든 라운드는 AddRoundKey로 시작합니다. 16바이트 상태와 16바이트 라운드 키를 XOR합니다. 이 단계만이 실제로 비밀 키를 도입합니다.

AES 라운드 키 도출

원래의 128/192/256비트 키는 키 스케줄을 통해 11/13/15개의 라운드 키로 확장됩니다. 각 AddRoundKey 단계에서는 서로 다른 파생 라운드 키를 사용합니다.

AES 내부에서 XOR가 작동하는 이유

AES에서 XOR는 GF(2^8) 산술 내부에서 수행됩니다. 주변의 비선형 연산(SubBytes, MixColumns)이 XOR에 Claude Shannon이 설명한 확산과 혼돈 속성을 부여합니다.

스트림 암호 키 스트림

스트림 암호는 키와 논스로부터 의사 난수 키 스트림을 생성합니다: keystream = CSPRNG(key, nonce) ciphertext = plaintext XOR keystream ChaCha20은 쿼터 라운드 함수를 사용해 64바이트 블록 단위로 키 스트림을 생성합니다.

ChaCha20 쿼터 라운드

ChaCha20의 혼합 함수: a += b; d ^= a; d <<<= 16 c += d; b ^= c; b <<<= 12 a += b; d ^= a; d <<<= 8 c += d; b ^= c; b <<<= 7 XOR(^)와 회전(<<<)이 핵심 연산입니다.

스트림 암호의 논스와 카운터

ChaCha20은 256비트 키 + 96비트 논스 + 32비트 카운터를 사용합니다. 서로 다른 카운터는 서로 다른 키 스트림 블록을 생성합니다. (key, nonce) 쌍을 재사용하면 치명적이므로 절대 재사용해서는 안 됩니다.

AES-CTR 모드: 블록 암호를 스트림 암호로 사용하기

AES-CTR은 연속된 카운터 값을 AES로 암호화한 다음 그 결과를 평문과 XOR합니다. 이를 통해 AES(블록 암호)를 스트림 암호로 바꾸고, 임의 길이의 출력을 사용할 수 있게 합니다.

OFB 및 CFB 모드에서의 XOR

OFB: keystream = AES(AES(AES(IV)...)). Plaintext XOR keystream = ciphertext. CFB: ciphertext block = plaintext XOR AES(previous_ciphertext). 두 모드 모두 혼합 단계로 XOR를 사용합니다.

XOR와 S-박스를 통한 혼돈과 확산

Shannon의 혼돈은 S-박스(SubBytes)를 사용해 키와 암호문의 관계를 복잡하게 만듭니다. 확산은 ShiftRows+MixColumns를 사용해 각 바이트의 영향을 퍼뜨립니다. XOR는 키를 사용해 이 둘을 연결합니다.

직접 암호를 만들지 마십시오

XOR의 역할을 이해하면 아마추어 암호 설계가 실패하는 이유를 알 수 있습니다. 아마추어 설계는 비선형 계층 없이 XOR를 사용하기 때문입니다. S-박스와 확산이 없으면 XOR 기반 암호는 대수적으로 쉽게 깨집니다.

확인 문제

상태와 라운드 키를 직접 XOR하는 AES 연산은 무엇입니까?

복습

이제 실제 암호 내부에서 XOR가 맡는 역할을 이해했습니다. 다음에는 MD5부터 SHA-256까지 해시 함수를 살펴봅니다.

자주 묻는 질문

“AES 및 스트림 암호 속 XOR” 강의는 무료인가요?

네 — “AES 및 스트림 암호 속 XOR” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“AES 및 스트림 암호 속 XOR”에서 뭘 배우나요?

실제 암호화 알고리즘 내부에서 XOR가 사용되는 방식을 추적합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“AES 및 스트림 암호 속 XOR” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 비트 단위 연산 복습
  2. XOR 암호화 및 일회용 패드
  3. XOR만으로는 안전하지 않은 이유
  4. AES 및 스트림 암호 속 XOR
← Cryptology Academy(으)로 돌아가기