파이스텔 암호 문서 원본 보기
←
파이스텔 암호
둘러보기로 이동
검색으로 이동
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
{{위키데이터 속성 추적}} [[파일:Feistel cipher diagram en.svg|섬네일]] '''파이스텔 암호'''(Feistel cipher)는 [[블록 암호]]의 일종으로, 암호화 방식이 특정 계산 함수의 반복으로 이루어진다. 이 때, 각 과정에 사용되는 함수는 라운드 함수(round function)이라고 부른다. 많은 블록 암호가 파이스텔 구조를 가지고 있다. 예를 들어, [[데이터 암호화 표준|DES]], [[블로피시]], [[SEED]] 등이 파이스텔 구조를 가진다. 하지만 [[고급 암호 표준|AES]]와 같이 파이스텔 구조가 아닌 블록 암호도 존재한다. == 방식 == 먼저 암호화하려는 정보를 길이가 같은 두 개의 정보로 쪼갠다. 이를 <math>(L_0, R_0)</math>이라고 하고, 라운드 <math>0, 1, \cdots, n</math>에서 사용되는 키를 <math>K_i</math>, 그리고 라운드 함수를 <math>F</math>로 놓는다. 암호화 과정에서는 각 라운드에서는 다음과 같은 연산이 이루어진다. :<math>L_{i+1} = R_i</math> :<math>R_{i+1}= L_i \oplus {\rm F}(R_i, K_i)</math> 모든 라운드가 끝난 후, 최종적으로 <math>(R_{n+1}, L_{n+1})</math>가 암호화된 값이 된다. 복호화 과정에서는 반대의 연산이 이루어진다. <math>(R_{n+1}, L_{n+1})</math>가 주어졌을 때, 각 복호화 라운드에서는 다음과 같은 연산이 이루어진다. :<math>R_i = L_{i+1}</math> :<math>L_i = R_{i+1} \oplus {\rm F}(L_{i+1}, K_i)</math> 최종적으로 원래 값 <math>(L_0, R_0)</math>를 얻는다. 이 모델의 장점 중 하나는 암호화 과정과 복호화 과정이 키 순서를 제외한 전체가 같은 계산을 반복한다는 것이다. 또한 라운드 함수가 [[역함수|역연산]]이 존재해야 할 필요성이 없다. == 같이 보기 == * [[암호학]] * [[스트림 암호]] * [[대입-치환 네트워크]] {{블록 암호}} [[분류:파이스텔 암호| ]] [[분류:블록 암호]]
이 문서에서 사용한 틀:
틀:블록 암호
(
원본 보기
)
틀:위키데이터 속성 추적
(
원본 보기
)
파이스텔 암호
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
한국어
보기
읽기
원본 보기
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보