Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

네트워크 보안에서 확산(Diffusion)이란 무엇일까? 핵심 개념 총정리

네트워크 보안에서 확산(Diffusion)이란 무엇인가?

확산(diffusion)은 암호학의 핵심 설계 원리 중 하나로, 평문(plaintext)의 한 문자 또는 한 비트가 변경되면 암호문(ciphertext)의 여러 문자·비트가 함께 변경되어야 한다는 개념을 의미합니다. 반대로 암호문의 일부가 변경되었을 때도 복호화된 평문의 여러 부분이 영향을 받아야 합니다.

이러한 성질 덕분에 공격자가 통계적 분석을 통해 평문과 암호문 사이의 관계를 역추적하기가 매우 어려워집니다. 즉, 확산은 평문의 통계적 특징이 암호문에 드러나지 않도록 흩어뜨리는 역할을 하며, 현대 블록 암호 설계에 필수적인 요소로 꼽힙니다.

암호학의 세 가지 주요 유형

암호화 기술은 크게 다음 세 가지로 분류할 수 있습니다.

  • 비밀키(대칭키) 암호 방식: 송신자와 수신자가 동일한 비밀키를 사용해 데이터를 암호화하고 복호화하는 방식입니다. 대표적으로 AES, DES 등이 있습니다.
  • 공개키(비대칭키) 암호 방식: 누구에게나 공개할 수 있는 공개키와 소유자만 알고 있는 개인키 한 쌍을 사용하는 방식으로, RSA가 대표적입니다.
  • 해시 함수: 임의 길이의 입력 데이터를 고정 길이의 해시값으로 변환하는 단방향 함수입니다. 데이터 무결성 검증과 전자서명에 활용됩니다.

네트워크 보안에서 확산과 혼돈(Confusion)의 차이

암호 설계에서 자주 함께 언급되는 두 가지 개념을 정확히 구분하는 것이 중요합니다.

혼돈(confusion)은 비밀키와 암호문 사이의 관계를 최대한 복잡하게 만드는 기법입니다. 키의 한 비트만 변경되어도 암호문 전체 또는 대부분이 바뀌도록 설계하며, 이를 통해 공격자가 암호문만 보고 키 정보를 추론하는 것을 차단합니다.

확산(diffusion)은 앞서 설명했듯이 평문과 암호문 사이의 관계를 복잡하게 만드는 기법입니다. 평문의 작은 변화가 암호문 전체에 광범위하게 퍼지도록 하여 통계적 공격을 무력화합니다.

곱 암호(Product Cipher)는 좋은 혼돈과 확산을 제공하는가?

그렇습니다. 곱 암호(product cipher)는 치환(substitution)과 전치(transposition) 연산을 여러 라운드에 걸쳐 교대로 적용함으로써 혼돈과 확산을 동시에 달성합니다. 치환 단계는 혼돈을 강화하고, 전치 단계는 확산을 강화하는 역할을 합니다.

이를 평가하는 대표적인 지표가 엄격한 눈사태 기준(strict avalanche criterion, SAC)입니다. 이 기준에 따르면 입력 비트 하나를 반전시켰을 때 출력 비트 각각이 1/2의 확률로 변경되어야 합니다. 즉, 아주 작은 입력 변화도 출력 전체에 예측 불가능하게 퍼져야 한다는 의미입니다. 현대의 블록 암호들은 이러한 기준을 충족하도록 설계되어 높은 보안성을 유지하고 있습니다.