파이스텔 (Feistel)

고급암호학수정일

1960~70년대 IBM 연구원이던 호르스트 파이스텔은 초기 루시퍼 암호와 DES에 사용된 Feistel 구조를 담당했습니다. 파이스텔은 여러 중요한 암호화 특허를 받았습니다.

암호 뒤에 숨겨진 남자

호르스트 파이스텔은 블록 암호 설계에서 자주 언급되는 연구자입니다. 1960~70년대 IBM에서 일한 파이스텔은 Feistel 구조를 고안했으며, 이 구조는 이후 여러 블록 암호의 설계 방식이 되었습니다.

안전한 통신의 기반

이 구조는 초기 루시퍼 암호의 핵심이었고, 이후 데이터 암호화 표준(DES)에 채택되어 오랫동안 널리 쓰였습니다.

파이스텔의 특허

파이스텔은 암호화 관련 특허를 여러 건 받았습니다.

파이스텔의 지속적인 영향

Feistel 구조는 데이터 블록을 두 부분으로 나누어 여러 라운드를 적용하는 방식으로, DES 이후에도 Blowfish, Camellia 등 여러 블록 암호에 쓰였습니다. 다만 현재 널리 쓰이는 AES는 Feistel 구조가 아니라 치환-순열 네트워크(SPN) 구조입니다.

Feistel 구조 사용의 장점:

  • 이해하고 구현하기가 비교적 쉽습니다.
  • 암호화 및 복호화 프로세스가 매우 유사하며, 일반적으로 키 스케줄 순서만 뒤집으면 같은 코드를 쓸 수 있습니다.
  • DES와 같은 잘 알려진 암호에서 오랫동안 사용되었습니다.
  • Feistel 구조 사용의 단점:
  • 특히 블록 크기가 작거나 라운드가 적을 경우 다른 구조보다 느릴 수 있습니다.
  • 충분한 라운드와 강력한 라운드 함수를 사용하여 신중하게 구현하지 않으면 특정 암호 분석 공격에 취약할 수 있습니다.
  • Feistel 구조 이해하기

친구에게 비밀 메시지를 보내고 싶다고 상상해 보세요. 당신과 당신의 친구만 키를 가지고 있는 특수한 자물쇠가 있는 상자를 사용할 수 있습니다. 이것이 암호화의 기본 아이디어입니다.

Feistel 구조는 이런 자물쇠의 내부 설계 방식 중 하나입니다. 작동 방식은 다음과 같습니다.

  • 분할 정복: 메시지를 가져와 두 부분으로 나눕니다.
  • 라운드 키 셔플: 비밀 키와 특수 함수를 사용하여 메시지의 한쪽 부분을 섞습니다.
  • 혼합 및 병합: 섞인 부분을 메시지의 다른 부분과 결합합니다.
  • 반복: 비밀 키의 서로 다른 부분을 사용하여 2단계와 3단계를 여러 번 반복합니다. 이렇게 라운드를 거듭할수록 암호가 강해집니다.

Feistel 구조는 다음과 같은 암호에 쓰였습니다.

  • 루시퍼 암호: Feistel 구조를 사용한 최초의 암호 중 하나로, IBM에서 개발되었습니다.
  • DES(데이터 암호화 표준): 전 세계적으로 민감한 정보를 보호하는 데 사용되었으며, Feistel 구조를 기반으로 구축된 영향력이 컸던 암호화 표준. 키 길이가 56비트로 짧아 현재는 안전하지 않은 것으로 평가됩니다.

호르스트 파이스텔의 작업은 블록 암호 설계의 기초가 되었으며, 그 구조를 따른 암호들은 온라인 뱅킹, 전자 상거래 등에서 정보를 보호하는 데 쓰였습니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.