파이스텔 암호
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
파이스텔 암호는 1973년 호르스트 파이스텔과 돈 코퍼스미스가 설계한 루시퍼 암호에서 처음 사용된 대칭 블록 암호의 구조이다. 이 구조는 암호화 과정과 복호화 과정이 키 순서를 제외하고 동일하며, 라운드 함수의 역연산이 필요 없다는 장점이 있다. 파이스텔 암호는 DES를 비롯한 다양한 암호 알고리즘의 기반이 되었으며, 중첩형 구조, 변형 파이스텔 구조, 불균형 파이스텔 암호 등 다양한 형태로 발전했다. 블로우피쉬, DES, MISTY1, 투피쉬 등이 파이스텔 암호의 예시이며, 블록 암호 외에도 OAEP와 같은 다른 암호 알고리즘에도 활용된다.
더 읽어볼만한 페이지
- 파이스텔 암호 - SEED
SEED는 대한민국에서 개발된 128비트 블록 암호 알고리즘으로, 16라운드 파이스텔 네트워크 구조와 2개의 S-box, 복잡한 키 스케줄을 사용하며, 여러 표준 프로토콜에서 채택되었으나, 브라우저 지원 중단과 국제적 사용 미비로 인해 논의가 진행되었다. - 파이스텔 암호 - 카멜리아 (암호)
카멜리아는 128비트 블록 크기에 128/192/256비트 키 길이를 지원하는 피스텔 암호로, AES와 호환되며 안전성을 인정받아 ISO/IEC, NESSIE, CRYPTREC 등에서 사용이 승인되었다. - 블록 암호 - 데이터 암호화 표준
데이터 암호화 표준(DES)은 미국 국립표준기술연구소에서 개발되어 널리 사용되었던 대칭키 암호 알고리즘이지만, 짧은 키 길이와 취약점 때문에 고급 암호화 표준(AES)으로 대체되었고, 트리플 DES 형태로 일부 시스템에서 사용되며 암호학 발전에 기여한 역사적 의미가 있다. - 블록 암호 - 고급 암호화 표준
고급 암호화 표준(AES)은 미국 국립표준기술연구소에서 제정한 대칭 키 암호화 블록 암호 표준으로, 치환-순열 네트워크 구조에 기반하여 128비트 블록 크기와 다양한 키 크기를 지원하며, 빠른 속도와 효율성으로 널리 사용된다.
파이스텔 암호 | |
---|---|
암호학적 정보 | |
유형 | 블록 암호 |
디자인 원리 | 치환-순열 네트워크 |
라운드 수 | 가변적 |
키 크기 | 가변적 |
블록 크기 | 가변적 |
구조 | |
발명자 | 호르스트 파이스텔 |
첫 발표 | 1973년 |
변형 | 하프 파이스텔 네트워크 불균형 파이스텔 네트워크 파이스텔-망간 구조 |
세부 정보 | |
라운드 함수 | f 함수 (라운드 키와 데이터 블록 일부를 입력으로 받음) |
암호화 과정 | 데이터 블록을 두 부분으로 분할, 라운드 함수 적용 후 교환 |
복호화 과정 | 암호화 과정의 역순으로 진행 |
장점 | 암호화 및 복호화 과정의 유사성, 키 스케줄링의 단순성 |
단점 | 라운드 함수의 보안성에 의존적 |
응용 | |
사용 예 | DES 3DES Blowfish Twofish CAST5 CAST-128 RC5 RC6 |
2. 역사
많은 현대적인 대칭 블록 암호는 파이스텔 네트워크를 기반으로 한다. 파이스텔 네트워크는 1973년 호르스트 파이스텔과 돈 코퍼스미스가 설계한 루시퍼 암호에서 처음 상업적으로 사용되었다. 파이스텔 네트워크는 미국 연방 정부가 1976년에 DES (미국 국가안보국(NSA)에 의해 변경된 루시퍼 기반의 암호)를 채택하면서 신뢰성을 얻었다. DES의 다른 구성 요소와 마찬가지로, 파이스텔 구조의 반복적인 특성은 암호 시스템을 하드웨어로 구현하는 것을 더 쉽게 만들었다(특히 DES 설계 당시 사용 가능한 하드웨어에서).[1]
파이스텔 암호는 암호화와 복호화 과정이 유사한 블록 암호 구조이다. DES를 개발한 호르스트 파이스텔의 이름을 따서 명명되었다. 파이스텔 구조는 라운드 함수에 임의의 함수를 사용하더라도 복호화 가능성을 보장하며, 암호화와 복호화 과정이 거의 동일하여 구현이 용이하다는 장점이 있다.
1977년 IBM의 호르스트 파이스텔이 개발한 DES의 구조에서 유래하여 파이스텔 구조라고 불린다.[2] 암호에 요구되는 성질 중 하나는 암호문에서 평문을 복호화할 수 있는 것(복호 가능성)이 있는데, 파이스텔 구조는 역변환이 자기 자신과 같은 형태가 되는 성질(인벌루션)을 가지므로, 라운드 함수에 임의의 함수를 사용하더라도 복호 가능성을 보장할 수 있다는 특징이 있다.[2]
DES 이후, FEAL, MISTY1, Camellia 등 많은 블록 암호에서 파이스텔 구조가 채택되었다.[2]
3. 구조
파이스텔 네트워크는 데이터 블록과 서브키라는 두 개의 입력을 받아 데이터 블록과 동일한 크기의 출력을 반환하는 '라운드 함수'를 사용한다.[1]
파이스텔 암호는 MISTY1과 같이 암호 설계의 구성 요소로 사용될 수 있다. MISTY1은 라운드 함수에 3라운드 파이스텔 네트워크를 사용하는 파이스텔 암호이다.
3. 1. 기본 구조
파이스텔 암호의 기본 구조는 암호화 및 복호화 과정에서 동일한 연산을 반복하는 것이 특징이다. 먼저 암호화하려는 정보를 같은 길이의 두 부분()으로 나눈다. 라운드 함수 와 각 라운드()에서 사용되는 키 를 이용하여 다음과 같은 연산을 수행한다.[1][2][3]
암호화 과정:각 라운드에서 다음 연산이 이루어진다.
:
: (는 XOR 연산)
:모든 라운드가 끝난 후, 가 암호화된 결과가 된다.
복호화 과정:암호화 과정을 역순으로 진행하며, 키 순서만 반대로 적용한다. 가 주어졌을 때, 각 라운드에서 다음 연산을 수행한다.
:
:
:최종적으로 원래 값 를 얻는다.
이 구조의 장점은 다음과 같다.[1][2]
DES 암호의 구조DES 암호에서 채택된 구조는 두 개의 라운드 변수 , 와 라운드 키 및 라운드 함수 를 이용해서 다음과 같은 계산을 반복한다.
암호화 | 복호화 |
---|---|
암호화와 복호화에 사용하는 라운드 함수 는 임의의 함수를 사용해도 복호화 가능성이 보장된다. 암호화와 복호화의 유일한 차이점은 라운드 키 의 순서가 반대가 된다는 것이다.
3. 2. 중첩형 구조 (Nested Structure)
MISTY에서는 라운드 함수 내부에 파이스텔 구조를 다시 포함하고 있다. 이를 중첩형 구조라고 부른다. MISTY에서는 3단계의 중첩 구조를 사용한다. 중첩 구조는 차분 공격 및 선형 공격에 대한 증명 가능 보안을 실현함과 동시에 회로 규모를 줄이는 데 효과가 있다.3. 3. 변형 파이스텔 구조 (Modified Feistel Structure)
MARS는 입력을 4개로 분할하여 각 부분 사이에서 계산을 수행하는 구조로 구성되어 있다. 일반적으로 분할하는 경우를 변형 파이스텔 구조라고 부른다. 블록 암호 전체의 블록 길이가 큰 경우, 라운드 함수의 비트 폭을 작게 할 수 있다.[7]3. 4. 불균형 파이스텔 암호 (Unbalanced Feistel Cipher)
불균형 파이스텔 암호는 L0와 R0의 길이가 같지 않은 수정된 구조를 사용한다.[7] Skipjack 암호가 그러한 암호의 예시이다. 텍사스 인스트루먼트사의 디지털 서명 트랜스폰더는 챌린지-응답 인증을 수행하기 위해 독점적인 불균형 파이스텔 암호를 사용한다.[8]Thorp 셔플은 한쪽 면이 단일 비트인 불균형 파이스텔 암호의 극단적인 경우이다. 이는 균형 파이스텔 암호보다 더 나은 증명 가능한 보안을 제공하지만 더 많은 라운드를 필요로 한다.[9]
4. 이론적 연구
암호학자들은 파이스텔 암호의 구조와 속성을 광범위하게 분석해왔다.
마이클 루비와 찰스 래코프는 파이스텔 암호 구조를 분석하여 라운드 함수가 암호학적으로 안전한 의사 난수 함수이고, ''Ki''가 시드로 사용된다면, 3 라운드는 블록 암호를 의사 난수 순열로 만들기에 충분하며, 4 라운드는 "강력한" 의사 난수 순열(역 순열에 대한 오라클 머신 접근 권한을 가진 적대자에게도 의사 난수성을 유지한다는 의미)로 만들기에 충분하다는 것을 증명했다.[4] 루비와 래코프의 이 매우 중요한 결과 때문에 파이스텔 암호는 때때로 루비-래코프 블록 암호라고 불린다.
더욱이, 이론적인 연구를 통해 이 구조가 어느 정도 일반화되었고 보안에 대한 보다 정확한 경계가 제시되었다.[5][6]
DES에서 채택된 구조는 두 개의 라운드 변수 , (초기 입력을 , 으로 한다)와 라운드 키 및 라운드 함수 로부터 다음 계산을 반복하여 수행한다.
암호화 | 복호화 |
---|---|
암호화와 복호화에 사용하는 라운드 함수 는 암호화의 출력을 복호화의 입력에 대입하여 식 변형을 하면 쉽게 확인할 수 있지만, 임의의 함수를 사용해도 복호화 가능성이 보장된다. 암호화와 복호화의 차이는 라운드 키 의 순서가 반대가 된다는 것뿐이다.
말할 필요도 없이, 안전한 블록 암호를 임의의 함수로 보장할 수 있는 것은 아니다.
5. 장단점
Feistel영어 네트워크는 SPN 구조와 비교했을 때 장단점을 가진다.
Feistel영어 구조는 한 번에 처리하는 데이터 길이가 블록 길이의 절반(변형된 구조의 경우 절반 이하)이므로, 라운드 함수의 비트 폭을 작게 할 수 있다. 이는 S-BOX의 개수를 줄여 회로 규모나 소비 전력 등 하드웨어 구현에 유리하다.
하지만, 각 라운드에서 블록의 일부만 교환되기 때문에, SPN 구조와 비슷한 수준의 교반성을 얻으려면 더 많은 라운드가 필요하다.
5. 1. 장점
파이스텔 암호는 다음과 같은 장점을 가진다.- 암호화 과정과 복호화 과정이 키 순서를 제외하면 동일한 계산을 반복한다. 따라서 라운드 함수는 역연산이 존재할 필요가 없다.[1]
- 치환-순열 네트워크와 달리, 파이스텔 네트워크는 전체 연산이 가역적(암호화된 데이터를 해독할 수 있음)이므로, 라운드 함수 자체는 가역적이지 않아도 된다. 즉, 라운드 함수를 임의로 복잡하게 만들 수 있다.[2]
- 암호화 및 복호화 연산은 매우 유사하며, 경우에 따라 동일하기 때문에 키 스케줄만 반대로 하면 된다. 따라서 암호를 구현하는 데 필요한 코드 또는 회로의 크기가 거의 절반으로 줄어든다.[3]
- 해석 실적이 많다.
- 라운드 함수 선택의 자유도가 크다.
- 암호화 및 복호화 루틴을 공통으로 사용할 수 있어(라운드 키의 순서만 변경) 코드 크기, 회로 규모 등 소프트웨어 및 하드웨어 구현에 유리하다.
- 한 번에 처리하는 데이터 길이가 블록 길이의 절반(변형 파이스텔 구조의 경우 절반 이하)이므로, 라운드 함수의 비트 폭을 작게 할 수 있다. 이는 S-BOX의 개수를 줄여 회로 규모나 소비 전력 등 하드웨어 구현에 유리하다는 것을 의미한다.
- 파이스텔 네트워크는 소프트웨어 구현에서 타이밍 부채널을 일으킬 수 있는 치환 상자에 의존하지 않는다.
5. 2. 단점
- 각 라운드에서 블록의 일부만 교반된다.
- SPN 구조와 비슷한 수준의 교반성을 얻으려면 더 많은 라운드가 필요하다.
6. 파이스텔 암호 목록
파이스텔 암호 | 수정된 파이스텔 암호 | 일반화된 파이스텔 암호 |
---|---|---|
| |
7. 기타 활용
파이스텔 구조는 블록 암호 외의 다른 암호 알고리즘에도 사용된다. 예를 들어, 최적 비대칭 암호화 패딩(OAEP) 방식은 특정 비대칭 키 암호화 방식에서 암호문을 무작위화하기 위해 단순한 파이스텔 네트워크를 사용한다.
일반화된 파이스텔 알고리즘은 2의 거듭제곱이 아닌 크기의 작은 도메인에서 강력한 순열을 생성하는 데 사용될 수 있다( 형식 보존 암호화 참조).
참조
[1]
서적
Handbook of Applied Cryptography
https://archive.org/[...]
Taylor & Francis
[2]
서적
Applied Cryptography
John Wiley & Sons
1996
[3]
서적
Cryptography: Theory and Practice
CRC Press
1995
[4]
간행물
How to Construct Pseudorandom Permutations from Pseudorandom Functions
1988-04
[5]
간행물
Advances in Cryptology - CRYPTO 2003
https://www.iacr.org[...]
2009-07-27
[6]
서적
Advances in Cryptology — CRYPTO' 89 Proceedings
1989-08-20
[7]
서적
Fast Software Encryption
https://www.schneier[...]
2017-11-21
[8]
학술지
Security Analysis of a Cryptographically-Enabled RFID Device
https://www.usenix.o[...]
2017-11-21
[9]
서적
Advances in Cryptology - CRYPTO 2009
http://www.cs.ucdavi[...]
2017-11-21
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com