더북(TheBook)

icon 알아 두면 좋은 짤막한 지식

 

XOR 연산

CBC 운영 모드의 동작 원리를 설명하면서 이전 블록의 암호화 결과물을 다음 원문 블록과 ‘더한다’고 표현했습니다. 이는 컴퓨터가 수행하는 비트 연산의 한 종류로 XOR 연산을 의미합니다.

XOR 연산은 배타적 논리합이라고도 하는데 ‘컴퓨터가 하는 연산 중 가장 간단한 연산’입니다. 더하기만큼 단순한 연산이라 CBC에서는 두 값을 연결(chaining)할 때 사용합니다. XOR, EOR, ⊕과 같이 약어나 기호로도 표현할 수 있습니다. 단, 수학에서 사용하는 일반적인 더하기와 달리 이 연산을 수행하려면 두 값의 크기가 같아야 합니다.

또 XOR 연산에는 다음 특징이 있습니다.

 

[ A ⊕ B = C ] 이면 → [ C ⊕ B = A ]

 

즉, 어떤 값(A)에 대한 XOR 연산(⊕ B)의 결과 값(C)에 동일한 XOR 연산(⊕ B)을 수행하면(C ⊕ B) 원래의 값(A)으로 되돌아갑니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.