펜스드 DES (Fenced DES)

고급암호학수정일

펜스드 DES는 DES 여러 개를 가운데 두고 앞뒤에 바이트 단위 치환표(펜싱 층)와 균형 블록 혼합을 배치해, DES보다 넓은 블록과 강도를 얻으려 한 1990년대 블록 암호 설계입니다. 미국의 암호 연구자 테리 리터(Terry Ritter)가 제안했습니다. 'fenced'는 '보호된'이 아니라 '치환표 울타리(fence)를 두른'이라는 뜻입니다.

자세히 알아보기

구조는 세 층으로 요약됩니다. 바깥쪽 첫 층과 마지막 층은 '펜싱 층'으로, 블록을 바이트 단위로 나눠 각 바이트를 키로 섞은 8비트 치환표(S-박스)에 통과시킵니다. 가운데 층에서는 넓은 블록을 64비트 조각으로 나눠 각각 DES로 암호화합니다. 그리고 펜싱 층과 DES 층 사이에 '균형 블록 혼합(balanced block mixing)'을 두어, 입력의 한 비트만 바뀌어도 그 변화가 모든 DES 연산에 퍼지도록 합니다.

이렇게 하면 예를 들어 256비트 블록을 DES 네 개로 처리하면서도, 네 개의 DES가 서로 독립적으로 공격받지 않도록 묶을 수 있습니다. 설계 의도는 이미 많이 분석된 DES를 부품으로 재활용하면서 블록 폭을 넓혀 코드북 공격을 어렵게 하고, 앞뒤 치환표로 DES 입력과 출력을 공격자에게서 감추는 것이었습니다.

다만 펜스드 DES는 학계 표준이 되지 못했고, 널리 분석·채택된 암호가 아닙니다. 핵심 부품인 DES는 56비트 키 때문에 1990년대 말 전수 조사로 깨졌고, 이후 미국 표준은 AES로 교체되었습니다. 오늘날 새 시스템에서 DES 기반 설계를 쓸 이유는 없으며, 대칭 암호가 필요하면 AES-GCM이나 ChaCha20-Poly1305 같은 검증된 인증 암호를 사용해야 합니다. 펜스드 DES는 '기존 암호를 부품 삼아 더 큰 암호를 조립하는' 설계 사례로서 역사적 의미가 있습니다.

펜스드 DES가 보여 주는 설계 원칙 중 하나는 '부품의 약점을 구조로 보완한다'는 발상입니다. 64비트 블록은 같은 키로 많은 데이터를 암호화하면 블록 충돌이 생기기 쉬워 생일 공격에 취약한데, 블록을 넓히면 이 문제가 줄어듭니다. 같은 문제의식은 이후 128비트 블록을 기본으로 한 AES 공모에도 반영되었습니다.

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

블록체인 프로토콜에서 펜스드 DES가 쓰이는 사례는 없습니다. 지갑 파일 암호화나 노드 간 통신에는 AES나 ChaCha20 계열이 쓰입니다.

쉽게 말하면

검증된 금고(DES) 여러 개를 나란히 놓고, 앞뒤로 비밀 칸막이(치환표)를 세운 뒤 금고끼리 내용물을 섞어 넣어 하나의 큰 금고처럼 만든 구조입니다. 다만 그 금고 자체가 이제는 낡았습니다.

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