혼돈 (Confusion)

고급암호학수정일

혼돈(Confusion)은 암호에서 키와 암호문 사이의 관계를 최대한 복잡하게 만들어, 암호문을 관찰해도 키를 추론하기 어렵게 하는 성질입니다. 확산(Diffusion)과 함께 클로드 섀넌(Claude Shannon)이 1949년 논문 「Communication Theory of Secrecy Systems」에서 제시한 암호 설계의 두 기본 원리입니다.

자세히 알아보기

혼돈이 약하면 키와 암호문 사이에 단순한(예: 선형) 관계가 남아, 공격자가 방정식을 세우거나 통계를 모아 키를 좁혀 갈 수 있습니다. 그래서 혼돈은 주로 비선형 연산으로 구현합니다. 대표적인 수단이 치환 상자(S-box)로, 입력 비트 몇 개를 예측하기 어려운 출력 비트로 바꿉니다.

확산은 평문 한 비트의 변화가 암호문 전체에 퍼지게 하는 성질입니다. 혼돈이 "관계를 꼬는 것"이라면 확산은 "영향을 넓게 퍼뜨리는 것"입니다. 둘 중 하나만으로는 부족하며, 현대 블록 암호는 두 연산을 여러 라운드 반복합니다.

AES의 경우 SubBytes 단계(S-box)가 혼돈을, ShiftRows와 MixColumns 단계가 확산을 담당합니다. S-box가 선형에 가까우면 선형 암호 분석이나 차분 암호 분석에 취약해지므로, S-box의 비선형성은 엄밀하게 평가됩니다.

섀넌은 이상적인 암호가 "평문의 통계"와 "키"를 모두 숨겨야 한다고 보았습니다. 확산은 평문의 통계적 구조(글자 빈도 등)를 넓게 흩어 숨기고, 혼돈은 키에 대한 단서를 복잡하게 꼬아 숨깁니다. 이 구분은 오늘날 치환-순열 네트워크(SPN)와 파이스텔 구조 설계의 기초가 되었습니다.

블록체인·암호화폐에서는

혼돈은 블록체인 프로토콜에서 직접 보이는 개념은 아니지만, 그 기반이 되는 암호 기본 요소에 들어 있습니다. 거래소와 지갑의 통신 암호화(TLS의 AES-GCM), 지갑 파일 암호화, 그리고 SHA-256이나 Keccak 같은 해시 함수의 내부 라운드 함수도 비선형 연산으로 혼돈을 만들어 냅니다.

쉽게 말하면

혼돈은 열쇠와 잠긴 결과 사이의 연결을 엉킨 실타래처럼 만들어, 결과만 보고는 어떤 열쇠를 썼는지 거꾸로 따라갈 수 없게 하는 것입니다.

예시

단순 시저 암호는 키(이동 칸 수)와 암호문의 관계가 "모든 글자를 같은 칸만큼 이동"이라 혼돈이 거의 없습니다. 반면 AES의 S-box는 입력 0x00을 0x63으로, 0x01을 0x7C로 바꾸는 식이라 규칙을 단순한 식으로 표현하기 어렵습니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.