동적 전치 (Dynamic Transposition)

고급암호학수정일

동적 전치는 각 블록의 0과 1 개수를 먼저 같게(또는 거의 같게) 맞춘 뒤, 키로 초기화한 난수 생성기로 블록마다 새로 정한 순열에 따라 비트 위치를 뒤섞는 블록 암호 방식입니다. 미국의 암호 연구자 테리 리터(Terry Ritter)가 제안했습니다. transposition은 '전위'로 옮기지 않으며, 암호학에서는 '전치(전치 암호)'라고 합니다.

자세히 알아보기

전치 암호는 글자나 비트의 '값'은 그대로 두고 '위치'만 바꾸는 암호입니다. 고전적인 전치 암호는 고정된 규칙(예: 열 순서 바꾸기)을 쓰기 때문에, 평문의 글자 빈도가 암호문에 그대로 남고 규칙도 분석으로 찾아낼 수 있었습니다. 동적 전치는 두 가지 아이디어로 이 약점을 보완하려 합니다.

첫째는 비트 균형입니다. 각 블록에 0과 1이 같은 수만큼 들어가도록 데이터를 변환하거나 균형용 비트를 덧붙입니다. 그러면 암호문 블록 역시 0과 1이 같은 수이므로, 비트 개수만 보고 평문에 대한 정보를 얻을 수 없습니다. 또한 균형 잡힌 블록에서는 하나의 평문 블록을 같은 암호문 블록으로 바꾸는 순열이 엄청나게 많아서, 평문과 암호문 쌍을 알아도 실제로 어떤 순열이 쓰였는지 특정하기 어렵다는 것이 설계자의 주장입니다.

둘째는 동적 순열입니다. 키로 초기화한 암호학적 난수 생성기가 블록마다 새로운 순열을 만들고, 피셔-예이츠 같은 섞기 알고리즘으로 비트를 재배치합니다. 블록마다 순열이 다르므로 같은 평문 블록도 매번 다른 암호문이 됩니다. 리터는 순열 정보가 더 드러나지 않도록 섞기를 두 번 하는 이중 섞기도 제안했습니다.

리터는 블록 크기를 크게 잡을수록 가능한 순열의 수가 폭발적으로 늘어 안전성이 높아진다고 보았습니다. 예를 들어 512비트 블록이라면 비트를 배열하는 방법의 수가 키 공간보다 훨씬 커지므로, 각 블록의 순열이 키 정보를 거의 드러내지 않는다는 논리입니다.

한계

동적 전치는 학술적으로 널리 분석되거나 표준으로 채택된 방식이 아닙니다. 안전성은 결국 순열을 만드는 난수 생성기의 품질에 달려 있고, 비트 균형을 위해 데이터가 늘어나는 확장 비용, 비트 단위 섞기의 낮은 처리 속도도 단점입니다. 실무에서는 AES-GCM이나 ChaCha20-Poly1305처럼 충분히 검증된 암호를 써야 하며, 동적 전치는 전치와 균형 개념을 보여 주는 설계 연구 사례로 이해하는 것이 적절합니다.

쉽게 말하면

흰 바둑돌과 검은 바둑돌을 같은 개수로 맞춘 뒤, 비밀 규칙으로 판마다 새로 섞어 늘어놓는 방식입니다. 돌 개수는 늘 같으니, 섞은 결과만 보고는 원래 배열을 알기 어렵습니다.

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