[목차] == 소개 == 소련 첩자인 레이노 햐이야넨이 만든 [[전자법 암호]]의 [[끝판왕]]. 그는 1957년 소련을 배신하고 미국으로 전향했는데, 미국 내에서 아무도 못 풀자, 냉전이 끝난 이후에 그가 알고리즘을 공개했다고 한다. * [[http://www.quadibloc.com/crypto/pp1324.htm|영문 예시(영어)]] * [[https://www.cia.gov/library/center-for-the-study-of-intelligence/kent-csi/vol5no4/html/v05i4a09p_0001.htm|레이노 햐이야넨이 실제로 받은 러시아어 예시(영어)]] == 암호화 과정 == === 표시 기호 일람 === 날짜(D, 일/월/년) 메시지에 해당하는 무작위 5자리 번호(C) 20자 노랫말 암호 : 앞의 10자(A)/뒤의 10자(B) 개인 번호(P) 순서[* 숫자는 1부터 0, 문자는 사전 순서]대로 번호 붙이기 : N 연속 덧셈[* 연속된 두 자리의 숫자를 서로 더해 끝 수만 구한다.]을 '''10개의 숫자가 될 때 까지''' n번 : cn === 암호화 === B를 N한다. (A의 앞 5자리) - (D의 앞 5자리)[# 마지막 6번째 숫자는 나중에 사용]를 c한 것을 대입시킨다. === 과정 E === 그런 다음, 그것을 c5[* 이때 각 줄의 마지막 숫자는 앞 줄의 맨 끝 숫자 + 해당 줄의 첫째 숫자이다.] 이 과정을 편의상 E라고 하자. === 암호표 === E의 맨 끝(5번째)의 줄을 이것을 N한 결과가 암호표 맨 위에 적혀질 숫자들이다. 이때, 암호표 맨 위에는 자주 쓰이는 글자들이 올라가며, 빈 칸이 있다면 바로 아랫줄로 연결된다. === 본격적인 전자법 === E의 맨 끝(5번째)의 줄의 끝에서 2번째 숫자를 L, 마지막 숫자를 M라고 하자. 이때, E에서 N한 순서대로 (P+L)+(P+M) 갯수만큼 가져온다. 앞에서 (P+L)개의 숫자를 N한다. 그리고 암호문을 집어넣은 후, 전자법을 사용한다. 이제 남은 (P+M)의 숫자들을 N한다. 그리고 한 줄을 띄고 L줄만큼의 역삼각형을, 또 한 줄을 띄고 M줄만큼의 역삼각형을 그린다. 이때 삼각형은 완벽해도 되지 않으며, 그 경계가 중요하다. 암호문을 집어넣을 때에는 경계 왼편에만 다 채워넣은 다음, 경계 오른편에 채워넣는다. 그리고 다시 전자법을 이용한다. === 마무리 === 다 되었으면 마지막에 뒤에서 D의 6번째 숫자만큼 C를 삽입한다. [[분류:암호학]]