안전성 판단 기준을 알았으니, 이제 안전하게 암호화하기 위한 다음 단계는 안전하게 암호화하는 현실적인 방법을 마련하여 혼돈과 확산을 달성하는 현실적인 방법을 찾는 것입니다. 보통 혼돈을 달성하는 여러 방법 중에서 Substitution(문자 바꿈)을 선택하고, 확산을 달성하는 방법 중 하나로 Permutation(순서 바꿈)을 선택합니다.
Substitution은 치환, 대치, 대체, 환자 등 단어로 표현할 수 있습니다.2 즉, ‘어떤 문자를 다른 문자로 바꾸는’ 작용입니다. ‘가나다라마’를 ‘a나c라e’로 바꾼다고 생각하면 됩니다. 원본 메시지의 각 부분을 다른 기호나 알파벳으로 많이 바꿀수록 메시지는 혼돈 상태에 가깝습니다.
| Substitution과 Permutation |

Permutation은 전치, 전자, 순열 등 단어로 표현할 수 있습니다.3 즉, ‘문장 안에서 문자 순서를 바꾸는’ 작용입니다. ‘가나다라마’를 ‘마나가라다’로 바꾼다고 생각하면 됩니다. 문자 순서를 많이 바꿀수록 원본 메시지는 바꾼 메시지의 여기저기에 분산되는데 이것이 확산 상태입니다.
Substitution해서 혼돈 상태를 달성하고, Permutation해서 확산 상태를 달성하는 것이 하나의 기초적인 암호화 방식입니다. 문자를 다른 문자로 바꾸고 문자의 순서도 바꿔서 흐트러트려 놓는 것이지요.
2 이 책에서는 영어 단어인 Substitution을 그대로 사용합니다.
3 역시나 이 책에서는 영어 단어인 Permutation을 그대로 사용합니다. 한글인 ‘순서 바꿈’으로 쉽게 표기하고 싶지만, 자의적인 단어 사용이 오히려 혼란을 가져올 수 있기 때문에 영어 단어를 그대로 사용했습니다.