Hardner

[Block cipher]Feistel Cipher 본문

Computer/Crypto math

[Block cipher]Feistel Cipher

Hardner 2018. 4. 14. 15:32

[Block cipher]Feistel Cipher



Feistel Cipher란?

- 블록 암호 설계의 하나의 유형.

- 특정 암호가 아니다.
- 대체 및 순열의 조합
ex) Plaintext = (L0, R0)- 평문 블록을 왼쪽과 오른쪽으로 나눈다.



암호화와 복호화 과정.


           

- 암호화: Plaintext = (L0, R0)


각 라운드는 i=1, 2, 3, …, n에 대해
=

=XOR F()

를 계산하면 F는 round 함수이고, 는 서브 키이다.



Ciphertext = ()



- 복호화: Ciphertext =  ()


각 라운드 i = n, n-1, n-2, …, 1에 대해 다음과 같이 계산한다.

 = 

 = XOR F()

여기서 F는 round 함수이고, 는 서브 키이다.

Plaintext =  (L0, R0)


공식은 모든 함수에 대해 적용가능하지만, 특정한 함수에 대해서만 안전하다.


'Computer > Crypto math' 카테고리의 다른 글

선형 피드백 시프트 레지스터(LFSR)  (0) 2018.04.14
[Stream cipher] RC4  (0) 2018.04.14
[Stream Cipher] A5/1  (0) 2018.04.14
Symmetric Key Crypto(대칭 키 암호)  (0) 2018.04.13
Security Threats(보안 위험)  (0) 2018.04.12