MacGuffin(암호화기)

MacGuffin (cipher)
맥거핀
MacGuffinDiagram.png
MacGuffin 암호의 Feistel 함수
일반
디자이너브루스 슈나이어, 블레이즈
초판1994-12-14
유래DES
암호 상세
키 사이즈128비트
블록 크기64비트
구조.언밸런스 페이스텔 네트워크
라운드32

암호학에서 MacGuffin은 1994년 Bruce Schneier와 Matt BlazeFast Software Encryption 워크숍에서 만든 블록 암호입니다.Generalized Unbalance Feistel Networks(GUFN; 일반화 불균형 Feistel 네트워크)라고 불리는 새로운 암호 구조를 분석하기 위한 촉매 역할을 했습니다.암호 해독은 매우 빠르고 빠르게 진행되어 빈센트 라이멘과 바트 프레넬같은 작업장에서 암호를 해독했습니다.

알고리즘

Schneier와 Blaze는 DES 기반의 MacGuffin을 기반으로 합니다.이들의 주된 변화는 데이터 블록이 Feistel 네트워크에서 동일한 절반으로 분할되지 않는다는 것입니다.대신 64비트 데이터 블록의 48비트는 라운드 함수를 통해 공급되며, 이 함수의 출력은 데이터 블록의 다른 16비트와 XOR됩니다.이 알고리즘은 불균형한 Feistel 네트워크의 보안 속성을 조사하기 위한 실험적인 것입니다.

다음 그림은 MacGuffin의 1라운드를 나타내고 있습니다.64비트 데이터 블록은 4개의 16비트 워드(각각 1줄로 표시)로 분할됩니다.오른쪽 끝 3개는 비밀키에서 파생된 서브키 비트로 XOR됩니다.그런 다음 8개의 S박스를 통해 공급되며, 각 S박스는 6비트의 입력을 받고 2비트의 출력을 생성합니다.그런 다음 출력(총 16비트)이 데이터 블록의 맨 왼쪽 워드와 재결합되고 XOR됩니다.그런 다음 새 맨 왼쪽 블록이 결과 데이터 블록의 맨 오른쪽 위치로 회전합니다.그 후 알고리즘은 더 많은 라운드로 계속 진행됩니다.

MacGuffin의 주요 일정은 암호화 알고리즘 자체의 수정된 버전입니다.MacGuffin은 Feistel 네트워크이기 때문에 암호 해독은 간단합니다.단순히 암호화 알고리즘을 반대로 실행합니다.

Schneier와 Blaze는 32라운드의 사용을 권장하고 128비트 키로 MacGuffin을 지정했습니다.

MacGuffin 암호화 분석

맥거핀이 소개된 같은 워크숍에서 Rijmen과 Prenel은 차분 암호 해석에 취약하다는 것을 보여주었다.시작값이 좋은 DES의 경우 좋은 차분 특성을 얻는 데 "몇 시간"이 걸렸고 시작값이 없는 MacGuffin의 경우 좋은 차분 특성을 얻는 데 동시에 "몇 시간"이 걸렸기 때문에 32라운드의 MacGuffin은 16라운드의 DES보다 약한 것으로 나타났다.그들은 차분 암호해석을 통해 마지막 라운드 키를 얻을 수 있고, 그 이후로는 마지막 라운드를 역방향으로 하여 나머지 라운드에서 공격을 반복할 수 있다는 것을 발견했다.

Rijmen과 Prenel은 DES에서 직접 가져온 다른 S박스로 MacGuffin을 공격하려고 했습니다.이 버전은 약간 더 강력하지만 일반적으로 알려진 공격에만 대항하는 알고리즘을 설계하는 것은 좋은 설계 원칙이 아니라고 경고합니다.

레퍼런스

  • Bruce Schneier, Matt Blaze (December 1994). The MacGuffin Block Cipher Algorithm (PDF/PostScript). 2nd International Workshop on Fast Software Encryption (FSE '94). Leuven: Springer-Verlag. pp. 97–110. Retrieved 2007-08-24.
  • Vincent Rijmen, Bart Preneel (December 1994). Cryptanalysis of McGuffin (PDF/PostScript). FSE '94. Leuven: Springer-Verlag. pp. 353–358. Retrieved 2007-08-24.