오토키 (Autokey)
오토키(autokey) 암호는 메시지 자체를 키 스트림 생성에 다시 사용하는 암호입니다. 처음에는 짧은 비밀 키(프라이머)로 암호화를 시작하고, 그 뒤의 키 스트림은 이미 처리한 평문 또는 암호문으로 채웁니다. 평문을 키로 쓰는 방식을 평문 오토키, 암호문을 피드백하는 방식을 암호문 오토키라고 하며, 현대 스트림 암호에서는 암호문 출력이 피드백되어 키 스트림 생성기의 상태를 바꾸는 구조를 가리키기도 합니다. 16세기 블레즈 드 비즈네르(Blaise de Vigenère)가 비즈네르 암호의 변형으로 설명한 것이 잘 알려진 예입니다.
평문 오토키 (비즈네르 오토키)
키 스트림은 비밀 키 뒤에 평문을 이어 붙여 만들고, 각 글자는 비즈네르 방식으로 더합니다(A=0, B=1, …, Z=25로 두고 26으로 나눈 나머지를 씁니다).
- 평문: ATTACKATDAWN
- 비밀 키: QUEEN
- 키 스트림: QUEEN + ATTACKA = QUEENATTACKA
- 암호문: QNXEPKTMDCGN
수신자는 비밀 키로 처음 다섯 글자를 복호화하고, 복호화한 평문을 이어서 키로 사용해 나머지를 차례로 풉니다. 일반 비즈네르 암호는 짧은 키를 반복하므로 암호문에 주기가 생기고, 카시스키 검사 같은 방법으로 키 길이를 알아낼 수 있습니다. 오토키는 키가 반복되지 않아 이런 주기 분석을 피할 수 있지만, 아래에서 보듯 다른 방법으로 쉽게 풀립니다.
암호문 오토키
비밀 키 다음의 키 스트림으로 평문 대신 앞서 만든 암호문을 씁니다. 같은 평문과 키라면 키 스트림은 QUEEN + QNXEPAN, 암호문은 QNXEPANQHPWA가 됩니다. 이 방식에서는 비밀 키 이후의 키 스트림이 암호문에 그대로 드러나므로, 실제로 비밀인 것은 처음의 짧은 키뿐입니다.
안전성과 오류 전파
- 고전 오토키 암호는 쉽게 해독됩니다: 키 스트림 대부분이 평문이나 암호문에서 나오므로 통계 분석, 추측한 단어 대입, 짧은 비밀 키에 대한 전수 조사로 풀 수 있습니다. 오늘날 보안 용도로는 쓰이지 않습니다.
- 평문 오토키의 오류 전파: 복호화 중 한 글자를 잘못 풀면 그 글자가 다음 키로 쓰이므로 오류가 뒤쪽으로 계속 이어집니다.
- 암호문 오토키의 자기 동기화: 전송 중 암호문 한 글자가 손상되어도 영향은 그 글자와, 키 길이만큼 뒤에 있는 글자 하나에 그치고, 이후에는 정상적으로 복호화됩니다.
현대 암호학에서의 위치
암호문을 피드백해 키 스트림을 만드는 원리는 자기 동기화 스트림 암호와 블록 암호의 CFB(Cipher Feedback) 운용 모드로 이어졌습니다. 이 경우에도 안전성은 피드백 구조가 아니라 키 스트림을 만드는 강력한 블록 암호(예: AES)와 비밀 키에서 나옵니다. 오토키 암호를 이해하면 암호 기술이 고전 암호에서 현대 스트림 암호로 어떻게 발전했는지 파악하는 데 도움이 됩니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.