Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

정보 보안에서 혼돈(Confusion)이란 무엇일까요?

정보 보안에서 혼돈(Confusion)이란?

혼돈(Confusion)은 암호학에서 키가 암호문과 단순한 방식으로 연결되지 않도록 만드는 핵심 개념입니다. 구체적으로 말하면, 암호문의 각 문자는 키의 여러 요소에 기반해야 한다는 것을 의미합니다.

혼돈에서는 암호문의 데이터와 암호화 키 값 사이의 관계를 최대한 복잡하게 만듭니다. 이는 치환(Substitution) 방식을 통해 구현됩니다.

힐 암호(Hill Cipher)를 활용한 예시

예를 들어, n×n 행렬을 사용하는 힐 암호가 있다고 가정해 봅시다. 길이가 n²인 평문-암호문 쌍이 있다면, 이를 통해 암호화 행렬을 역산할 수 있습니다.

그런데 암호문의 한 문자만 변경하더라도 행렬의 한 열 전체가 효과적으로 바뀌게 됩니다. 물론 전체 키가 함께 변경되는 것이 더욱 바람직합니다. 이러한 상황이 발생하면 암호 분석가는 키를 부분별로가 아니라 전체를 한꺼번에 풀어야 하는 부담을 갖게 됩니다.

혼돈의 목적과 원리

혼돈은 암호문의 모호성을 높이기 위해 고안된 암호학적 접근 방식입니다. 다시 말해, 암호문이 평문에 대한 어떠한 단서도 제공하지 않도록 만드는 것입니다.

이 접근 방식에서는 암호문 데이터와 암호화 키 값 사이의 관계가 최대한 복잡하게 유지됩니다. 따라서 공격자가 암호문 데이터에 대한 일부 통제권을 확보했더라도, 키가 해당 암호문을 생성하는 데 사용된 방식이 지나치게 복잡하기 때문에 키 자체를 파악할 수 없습니다.

혼돈은 치환과 함께, 키 및 입력(평문)에 기반한 복잡한 스크램블링 알고리즘을 사용하여 달성할 수 있습니다.

혼돈의 주요 목표는 동일한 키로 생성된 대부분의 평문-암호문 쌍을 확보했더라도 키를 발견하기 매우 어렵게 만드는 것입니다. 이를 위해 암호문의 각 비트는 전체 키에 기반해야 하며, 여러 방식으로 키의 서로 다른 비트들에 의존해야 합니다. 결과적으로 키의 한 비트만 변경되어도 암호문 전체가 크게 달라져야 합니다.

확산(Diffusion)과 혼돈의 결합

확산과 혼돈을 모두 효과적으로 얻는 가장 간단한 방법은 치환-전치 네트워크(Substitution-Permutation Network)입니다. 이러한 시스템에서는 평문과 키가 출력을 생성하는 데 거의 동일한 역할을 하므로, 하나의 구조가 확산과 혼돈을 동시에 제공합니다.

혼돈의 주요 특징

  • 혼돈 속성은 암호문과 키 사이의 관계를 보호합니다.
  • 이 속성은 암호문만으로 키를 찾아내는 것을 매우 어렵게 만듭니다.
  • 키의 한 비트가 변경되면 암호문의 여러 비트가 함께 변경됩니다.

확산과 혼돈은 S-박스(S-box), D-박스(D-box) 및 기타 요소들로 구성된 반복 곱 암호(Product Cipher)를 통해 실현할 수 있습니다. 여기서 각 반복 단위를 라운드(Round)라고 정의합니다.