서시 푸딩 암호

Hasty Pudding cipher
서시 푸딩 암호
일반
디자이너리처드 슈로펠
초판1998년 6월
암호 상세
키 사이즈변수
블록 크기변수

서시 푸딩 암호(HPC)는 미국 고급 암호화 규격(AES) 선정 경쟁에서 낙선한 리처드 슈로펠(Richard Schroppel)이 설계한 가변 블록 크기 블록 암호입니다.블록 암호에는 다수의 특이한 속성이 있습니다. 입력 블록 크기와 키 길이가 가변적이며 보조 비비밀 키로 사용하기 위한 "스파이스"라는 추가 입력 매개 변수가 포함되어 있습니다.서시 푸딩 암호는 미국 암호학자들이 [1][2]독점적으로 설계한 유일한 AES 후보 암호였다.

서시 푸딩 암호는 공용 [3]도메인에 있습니다.

암호

Jursy Pudding 암호는 5개의 서로 다른 서브 [4]암호는 다음과 같습니다.

HPC-Tiny 0 ~ 35 비트
HPC 쇼트 36 ~ 64 비트
HPC-중간 65 ~ 128 비트
HPC-롱 129 ~ 129 비트
HPC 확장 513비트 이상

Jursy Pudding 암호 알고리즘은 모두 내부적으로 64비트 단어를 사용합니다.이 암호는 64비트 머신에서 실행되도록 설계되어 있어 64비트 워드에서 간단한 작업을 쉽게 수행할 수 있습니다.

키 확장

Sursy Pudding 암호는 5개의 서브 암호 중 하나에 대해 임의의 비트 수의 키를 가져올 수 있습니다.암호 자체는 16,384비트(64비트워드 256개)의 키테이블을 사용합니다.키에서 키 테이블을 얻기 위해 키 확장 함수는 다음 [4]알고리즘을 사용합니다.

  1. 첫 번째 세 단어 KX[0], KX[1], KX[2]는 상수, 하위 암호 및 키의 길이에 따라 설정됩니다.KX[1]는 곱셈으로 계산됩니다.그 외의 연산은 덧셈과 비트 시프트입니다.
  2. 각 연속 단어 KX[i]는 효율적인 재귀 공식에 의해 앞의 세 단어에서 결정된다.
  3. 모든 키 비트가 사용될 때까지 키 비트는 KX[0]부터 시작하여 키 테이블의 비트로 XOR됩니다.(키가 8,192비트보다 길면 더 복잡한 절차가 사용됩니다).
  4. 키 테이블을 여러 번 통과합니다.그 때마다, 키 테이블의 각 단어에 「스트라이링 함수」가 차례차례 적용된다.교반 기능은 8개의 내부 변수를 사용하며 14개의 논리 비트 연산, 5비트 이동 및 14개의 더하기/빼기를 사용합니다.교반함수를 사용할 때마다 키 테이블 내의 1개의 워드가 이전 값, 특정 다른 워드의 값 및 교반함수의 내부 변수에 기초하여 수정된다.(총 3개의 패스가 기본입니다.)

암호화 및 복호화

각 서브시퍼는 서로 다른 알고리즘을 사용하지만 몇 가지 유사점이 있습니다.암호문을 판별하려면 평문(64비트 단어 여러 개 + "조각" 하나), 향신료(64비트 단어 8개, 기본값 0) 및 키 테이블 등 3가지 입력을 사용합니다.암호 내의 동작은 교반으로 구성됩니다.교반에서는 내부 변수를 다양한 방법으로 키 테이블 및 향신료 값과 정기적으로 조합합니다.HPC-Short는 2개의 고정 배열을 추가로 사용하며, HPC-Tiny는 많은 특수한 서브 케이스로 구성됩니다.

암호 해독에는 암호화 단계를 하나씩 취소하는 작업이 포함됩니다.많은 연산은 쉽게 취소할 수 있습니다(예: s0 = s0 + s1s0 = s0 - s1 계산으로 실행 취소됨).다른 작업은 실행 취소하기가 더 복잡합니다.관련된 아이디어에는 다음과 같은 것이 있습니다.

  • An operation like x = x (x >> 17) is undone by a two-step process: (1) x = x (x >> 17), followed by (2) x = x (x >> 34).
  • 암호는 키 테이블에 대한 값 의존 룩업을 사용합니다.검색은 변수의 마지막 8비트에만 의존하며 복호화 시 키테이블에서 값을 검색해야 할 경우 키테이블 값이 없으면 이들 연산을 모두 취소할 수 없는 경우에도 값의 마지막 8비트를 예측할 수 있습니다.예를 들어 k의 조회가 x의 마지막 8비트를 기반으로 하는 경우 x = x { displaystyle }(k < 8)와 같은 단계를 취소하려면 이 조작에 의해 x의 마지막 8비트가 변경되지 않음을 유의하여 k를 조회할 수 있습니다.

Jursy Pudding 암호는 정수 비트의 문자열로 변환되지 않는 범위의 값을 암호화하는 데도 사용할 수 있습니다.예를 들어 0 ~N의 다른 숫자를 생성하여 0 ~N의 숫자를 암호화할 수 있습니다.이를 위해서는 입력을 비트스트링으로 처리할 수 있는 최소 서브사이퍼를 사용하여 출력이 적절한 범위 [4]내에 있을 때까지 비트스트링으로 입력에 적용합니다.

성능

Schroppel은 Sursy Pudding 암호는 64비트 [5]아키텍처에서 가장 빠른 AES 후보이며, Schroppel은 가장 가까운 경쟁사인 DFC보다 2배 빠르고 다른 후보보다 3배 빠르며 32비트 머신에서의 성능은 [5]충분하다고 주장했습니다.예를 들어 Schneier 등의 분석에서는 64비트 머신에서 Sursy Pudding 암호를 4위(376사이클)로 평가했지만 RijndaelTwofish의 경우 성능이 추정되었을 [6]뿐입니다.32비트 펜티엄에서는 슈나이어 등의 평가를 받은 서시 푸딩 암호화는 1600클럭 사이클로 15개 후보 [6]중 10번째로 우수했습니다.Schneier 등 및 Schroppel은 암호의 속도가 64비트 연산, 특히 비트 [3][6]시프트를 많이 사용하기 때문에 32비트 머신에 큰 영향을 미친다는 점에 주목했습니다.

서시 푸딩 암호의 키 설정은 펜티엄에서 [6]12만 사이클로 비교적 느린 것으로 평가되었습니다.

이 암호는 스마트 카드에서의 성능 때문에 비판을 받았다.특히 [7]키 테이블용 RAM을 2KB 이상 유지하는 것이 어렵다는 지적이 있었습니다.

추가 작업

서시 푸딩 암호에 대한 공격 결과는 비교적 적었습니다.AES 프로세스 초기에 David Wagner는 비교적 많은 종류의 Jursy Pudding 키가 동일한 키 [8]테이블로 이어진다는 점에서 동등하다고 지적했습니다.이것은 D'Halluin 등에 의해 확대되었는데, D'Halluin 등은 128비트 키의 경우 약 2개의120 키가 각각 [9]2개의 동등한 키를 갖는30 약한 키라고 지적했습니다.이 공격에 대응하여 Schroppel은 키 확장 알고리즘을 수정하여 추가 [4]단계를 포함했습니다.

서시 푸딩 암호는 상대적으로 암호 해독이 부족했지만 이해하기 어려운 설계와 연구 [8][10]결과의 근거가 부족하다는 비판을 받았다.슈로펠은 스러시 푸딩 [3]암호에 대한 진척을 보여주는 최고의 논문에 돔 페리뇽 샴페인 한 병을 제공했다.그것은 [11]AES에 대한 두 번째 고려를 하지 않았다.

서시 푸딩 암호는 최초의 조정 가능한 블록 [12]암호로 간주됩니다.

레퍼런스

  1. ^ Eli Biham, AES 후보 비교에 관한 메모, 1999년 4월, AES에 대한 공개 코멘트.
  2. ^ Susan Landau, 21세기의 통신 보안: 고급 암호화 표준, AMS 공지사항, 제47권, 제4호, 2000년.
  3. ^ a b c Rich Schroppel과 Hillary Orman, An Overview of the Sursy Pudding Cipher, 1998년 7월.
  4. ^ a b c d Schroeppel, Rich (June 1998), Hasty Pudding Cipher Specification (revised May 1999 ed.), archived from the original on 2011-07-17, retrieved 2009-06-10
  5. ^ a b 리치 슈로펠, 성급한 푸딩 암호: 1년 후 9-01-2008에 접속
  6. ^ a b c d Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall 및 Niels Ferguson, AES 제출 퍼포먼스 비교, 제2차 AES 후보 회의, 1999년
  7. ^ Emanoil Daneliuc, AES 후보자에 대한 퍼블릭 코멘트, 1999년 2월.
  8. ^ a b David Wagner, HPC용 동등한 키, 1999년 3월 로마에서 열린 제2회 AES Conference에서 Rump Session Talk.
  9. ^ Carl D'Halluin, Gert Bijnens, Bart Prenel 및 Vincent Rijmen, HPC동등한 키, 암호학의 진보 - ASIACRYPT 1999, 1999의 진행.
  10. ^ 올리비에 보드론, 앙리 길버트, 루이 그랑불란, 헬레나 핸즈추, 앙투안 주, 퐁 응우옌, 파브리스 노일한, 데이비드 포인체발, 토마스 포르닌, 기욤 푸파르, 자크 스턴, 세르게 보든, AES 제2후보 AES 보고
  11. ^ James Nechvatal, Elaine Barker, Lawrence Bassham, William Burr, Morris Dworkin, James Foti 및 Edward Roback, 고급 암호화 표준 개발에 관한 보고서, NIST 공식 릴리즈, 2000년 10월 2일.
  12. ^ Moses Liskov, Ronald Rivest 및 David Wagner, Tweakable Block Ciphers, 암호학의 진보 - CRYPTO '02, 2002의 진행.

「 」를 참조해 주세요.