힐 암호

Hill cipher
힐의 암호기, 특허 그림 4의

고전 암호학에서 힐 암호선형 대수에 기초한 거짓말 그래픽 대체 암호입니다.레스터 S에 의해 발명되었습니다. 1929년, 그것은 동시에 세 개 이상의 기호를 조작하는 것이 실용적이긴 했지만, 최초의 거짓말 문자 암호였다.

다음 설명에서는 행렬에 대한 기본적인 지식을 가정합니다.

암호화

각 문자는 숫자 모듈로 26으로 표현된다.이것이 암호의 본질적인 기능은 아니지만, 다음과 같은 간단한 방식이 자주 사용됩니다.

편지 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
번호 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

메시지를 암호화하기 위해 n개의 문자(n성분 벡터로 간주)의 각 블록에 계수 26에 대해 가역n 행렬을 곱한다.메시지를 해독하려면 각 블록에 암호화에 사용되는 행렬의 역수를 곱합니다.

암호화에 사용되는 행렬은 암호 키이며, 가역 n x n 행렬 세트(modulo 26)에서 무작위로 선택해야 합니다.물론 암호는 임의의 수의 문자를 가진 알파벳에 적용할 수 있습니다.모든 산술은 modulo 26 대신 modulo 26을 사용하여 modulo로 하면 됩니다.

메시지 'ACT'와 아래 키(또는 문자로는 GYB/NQK/URP)를 고려합니다.

'A'는 0, 'C'는 2, 'T'는 19이므로 메시지는 벡터입니다.

따라서 암호화 벡터는 다음과 같이 지정됩니다.

이것은 'POH'의 암호문에 해당합니다.이제 메시지가 'CAT' 또는 다음 중 하나라고 가정합니다.

이 때 암호화 벡터는 다음과 같이 지정됩니다.

이는 'FIN'의 암호문에 해당합니다.모든 글자가 바뀌었다.Hill 암호는 Shannon의 확산달성했고, N차원 Hill 암호는 한번에 n개의 기호로 완전히 확산될 수 있습니다.

복호화

암호를 해독하려면 암호문을 다시 벡터로 변환한 다음 키 매트릭스의 역행렬(문자 IFK/VIV/VMI)을 곱하면 됩니다.modulo 26은 이전 예에서 사용된 행렬의 역행렬입니다.

이전 'POH'의 암호문 예제를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

기대했던 대로 'ACT'로 돌아갈 수 있어요.

암호화 매트릭스를 선택할 때는 다음 두 가지 문제가 있습니다.

  1. 모든 행렬에 역행렬이 있는 것은 아닙니다.행렬의 행렬식이 0이 아닌 경우에만 행렬이 역행렬을 가집니다.
  2. 암호화 매트릭스의 결정요인은 모듈러 베이스와 공통인자를 가지지 않아야 합니다.

따라서 위와 같이 modulo 26을 연산할 경우 행렬식은 0이 아니어야 하며 2 또는 13으로 나누어서는 안 됩니다.행렬식이 0이거나 모듈러 베이스와 공통 인수가 있는 경우 매트릭스를 Hill 암호로 사용할 수 없으며 다른 매트릭스를 선택해야 합니다(그렇지 않으면 복호화가 불가능합니다).다행히도, Hill 암호에 사용되는 조건을 만족시키는 행렬은 꽤 흔하다.

이 예에서는 키 매트릭스:

모듈로 26, 행렬식은 25입니다.25 ({ 25 × ({ 2613이므로 25는 26과 공통 인수가 없으며 이 행렬을 Hill 암호에 사용할 수 있습니다.

계수를 소수로 함으로써 계수와 공통 인자를 갖는 결정식의 위험을 제거할 수 있다.따라서 Hill 암호의 유용한 변형은 3개의 추가 기호(공간, 마침표 및 물음표 등)를 추가하여 계수를 29로 증가시킨다.

허락하다

키가 되고 보통 텍스트메시지가 'HELP'라고 가정합니다.그러면 이 평문은 두 쌍으로 나타납니다.

그 후, 델이 합니다.

2) ( 4) ( 26), { } & \ \ & 5 \ { } { { 7 \ \ \ \ \ \ {

다음과 같이 암호화를 계속합니다.

행렬 K는 반전할 수 K- {\ K(가) 하며 - K - 1 2 {\ KKK= K^{-K의 역수는 ( b ) - (- c) - ( - c ) - 1 ( d - - { \ c & b \ c & \ }{ - ( - - \ \ c}((}- by 。

이 공식은 모듈러 역수를 사용하여 ( c)- {\style (을 계산하는 경우 모듈러 리덕션 후에도 유지됩니다.따라서 이 경우,

그 후, 델이 합니다.

9) ( 8 ) ( ( ) ( 26) ,{ style { & \ \ \ \ \ \ & 9 \ { \ }7 \ { \ \ \ \ \ \ \ \ \ \

그러므로,

HELP

보안.

기본 Hill 암호는 완전히 선형이기 때문에 알려진 일반 텍스트 공격에 취약합니다. n 평문/암호 문자 쌍을 상대는 (통상) 쉽게 해결할 수 있는 선형 시스템을 설정할 수 있습니다.이 시스템이 불확실한 경우에는 평문/암호 쌍을 몇 개만 추가하면 됩니다.표준 선형 대수 알고리즘에 의한 이 해법의 계산에는 시간이 거의 걸리지 않습니다.

행렬 곱셈만으로는 안전한 암호화가 되지 않지만 행렬 곱셈은 확산을 제공할 수 있기 때문에 다른 비선형 연산과 결합할 때 여전히 유용한 단계입니다.예를 들어, 적절하게 선택된 행렬은 행렬 곱셈 전에 작은 차이가 행렬 곱셈 후에 큰 차이가 발생함을 보장할 수 있습니다.실제로, 일부 현대 암호는 확산을 제공하기 위해 행렬 곱셈 단계를 사용합니다.예를 들어 AES의 MixColumns 스텝은 매트릭스 곱셈입니다.Twofish함수 g는 비선형 S박스와 신중하게 선택된 행렬 곱셈(MDS)의 조합입니다.

키 공간 크기

공간은 가능한 모든 키의 집합입니다.키 공간 크기는 사용 가능한 키의 수입니다.유효 키 크기(비트 수)는 키 공간 크기의 이진 로그입니다.

n × n 차원에는 행렬({ 26 .따라서 2 ( 2 _ 2 또는. 4.7 n n × n 매트릭스를 사용하는 Hill 암호 키 크기의 상한입니다.모든 행렬이 반전할 수 있는 것은 아니기 때문에 이것은 상한에 불과합니다.역행렬의 수는 중국 잔차 정리를 통해 계산할 수 있다.즉, 행렬은 모듈로2와 모듈로13의 양쪽 모두 가역인 경우에만 가역 모듈로26이다.가역 n × n 행렬 모듈로 2의 수는 일반 선형 그룹 GL(n,Z2)의 순서와 같다.그렇다.

마찬가지로, 가역 행렬 모듈로 13(즉, GL(n,Z13)의 순서)의 수는 다음과 같다.

가역 행렬 모듈로 26의 수는 이 두 숫자의 곱이다.이래서

또한 키 매트릭스에 너무 많은 0은 확산을 감소시키므로 피하는 것이 신중한 것으로 보입니다.그 결과 기본 Hill 암호의 유효 2- 1.(\4.입니다.5 × 5 Hill 암호의 경우 약 114비트입니다.물론 키 검색이 알려진 공격 중 가장 효율적인 것은 아닙니다.

기계적 구현

2개의 기호를 동시에 조작하는 경우, Hill 암호는 Playfair 또는 Bifid 암호보다 특별한 이점을 제공하지 않으며, 실제로는 어느 쪽보다 약하고 연필과 종이로 조작하는 것이 다소 번거롭습니다.치수가 커짐에 따라 암호는 인간이 손으로 조작할 수 없게 된다.

치수 6의 힐 암호는 기계적으로 구현되었습니다.Hill과 파트너는 기어와 체인의 시스템을 사용하여 6×6 행렬 곱셈 모듈로 26을 수행한 이 장치에 대한 특허(미국 특허 1,845,947)를 받았습니다.

불행히도 기어 배치(그리고 키)는 특정 머신에 대해 고정되어 있기 때문에 보안을 위해 3중 암호화가 권장되었습니다.즉, 비밀 비선형 단계, 기계로부터의 광범위한 확산 단계, 그리고 그 다음 세 번째 비밀 비선형 단계입니다.(이벤 만수르 암호는 키 없는 확산 중간 단계도 사용합니다.)이러한 조합은 1929년에 실제로 매우 강력했고, 힐이 혼란과 확산뿐만 아니라 중간에서 만나는 공격의 개념을 분명히 이해했다는 것을 보여준다.불행히도 그의 기계는 [citation needed]팔리지 않았다.

「 」를 참조해 주세요.

기타 실용적인 "연필 및 종이" 폴리그래픽 암호는 다음과 같습니다.

레퍼런스

  • 레스터 S.힐, 대수적 알파벳 암호학, 미국 수학 월간지 제36권, 6월-1929년 7월, 306~312페이지(PDF)
  • 레스터 S.Hill, 암호학의 특정 선형 변환 장치에 관하여, 미국 수학 월간 Vol.38, 1931, 페이지 135–154.
  • Jeffrey Overbey, William Traves 및 Jerzy Wojdylo, On the Keyspace of the Hill Cipher, Cryptologia, Vol.29, No.1, 2005년 1월, pp59~72. (PDF)

외부 링크

  • "Hill Cipher Web App"은 Hill 암호를 구현하고 관련된 매트릭스를 보여줍니다.
  • '힐 암호 설명'은 힐 암호 뒤에 있는 선형 대수를 나타냅니다.
  • "힐의 암호 계산기"는 웹 페이지를 포함한 힐 암호의 개요를 설명합니다.