VIC 암호

소련 첩자인 레이노 햐이야넨이 만든 전자법 암호끝판왕. 미국 내에서 아무도 못 풀자, 냉전이 끝난 이후에 그가 알고리즘을 공개했다고.

영문 예시(영어)
레이노 햐이야넨이 실제로 받은 러시아어 예시(영어)

1 암호화 과정

1.1 표시 기호 일람

날짜(D, 일/월/년)
메시지에 해당하는 무작위 5자리 번호(C)
20자 노랫말 암호 : 앞의 10자(A)/뒤의 10자(B)
개인 번호(P)
순서[1]대로 번호 붙이기 : N
연속 덧셈[2]10개의 숫자가 될 때 까지 n번 : cn

1.2 암호화

B를 N한다.
(A의 앞 5자리) - (D의 앞 5자리)[# 마지막 6번째 숫자는 나중에 사용]를 c한 것을 대입시킨다.

1.3 과정 E

그런 다음, 그것을 c5[3]

이 과정을 편의상 E라고 하자.

1.4 암호표

E의 맨 끝(5번째)의 줄을 이것을 N한 결과가 암호표 맨 위에 적혀질 숫자들이다.
이때, 암호표 맨 위에는 자주 쓰이는 글자들이 올라가며, 빈 칸이 있다면 바로 아랫줄로 연결된다.

1.5 본격적인 전자법

E의 맨 끝(5번째)의 줄의 끝에서 2번째 숫자를 L, 마지막 숫자를 M라고 하자.

이때, E에서 N한 순서대로 (P+L)+(P+M) 갯수만큼 가져온다.

앞에서 (P+L)개의 숫자를 N한다. 그리고 암호문을 집어넣은 후, 전자법을 사용한다.

이제 남은 (P+M)의 숫자들을 N한다. 그리고 한 줄을 띄고 L줄만큼의 역삼각형을, 또 한 줄을 띄고 M줄만큼의 역삼각형을 그린다. 이때 삼각형은 완벽해도 되지 않으며, 그 경계가 중요하다.
암호문을 집어넣을 때에는 경계 왼편에만 다 채워넣은 다음, 경계 오른편에 채워넣는다. 그리고 다시 전자법을 이용한다.

1.6 마무리

다 되었으면 마지막에 뒤에서 D의 6번째 숫자만큼 C를 삽입한다.
  1. 숫자는 1부터 0, 문자는 사전 순서
  2. 연속된 두 자리의 숫자를 서로 더해 끗수만 구한다.
  3. 이때 각 줄의 마지막 숫자는 앞 줄의 맨 끝 숫자 + 해당 줄의 첫째 숫자이다.