DES와 TDEA의 기초
26794 단어 공통 키 암호화 방식암호desTDEA
소개
DES(Data Encryption Standard)와 TDEA(Triple Data Encryption Algorithm)에 대해 『암호 기술 입문 제3판』 1에서 공부했으므로, 그 때의 메모를 Qiita용으로 변환해 투고한다.
또, 모두 Markdown으로 써 보는 일환으로서, mermaid로 그림을 써 보았다.
진짜는 Qiita가 mermaid에 대응하고 있으면 좋지만, 하고 있지 않기 때문에 여기에서는 Mermaid Live Editor 를 이용해 화상으로 변환.
mermaid 코드는 주석 처리했습니다.
DES란?
처리의 전반적인 이미지
1 block 전용 암호화 처리 이미지
흐름도로 표시됩니다.
범례(접기)
1 block만의 복호 처리 이미지 1 block보다 큰 크기의 데이터를 처리하는 방법 한 번에 8byte 밖에 암호화/복호할 수 있기 때문에 암호화/복호를 반복할 필요가 있다. 반복의 방법을 모드(mode)라고 한다. (자세한 설명은 다른 기사에서 할 예정) 암호화 처리 부분의 기본 구조 DES의 기본 구조는 파이스텔 네트워크(Feistel network)라고 불린다. 이것은 라운드 (= 암호화의 1 단계 분)를 여러 번 반복하는 구조이다. DES에서는 16회 round를 반복한다. 1 round 분의 구조 그림에서 용어의 의미 subkey: 8byte 의 키치로부터 생성된다. 각 round마다 다른 subkey를 사용한다. 라운드 함수 f: 4byte의 데이터와 subkey 를 인수로 해, 4byte의 데이터를 출력하는 함수.
1회분의 round 로, 왼쪽 4byte가 암호화된다. 복호할 때는, 암호화시와 같은 처리를 하는 것만으로 좋다(XOR의 성질로, 같은 값의 XOR는 0이 되기 때문에). 즉, 라운드 함수 f는 역함수를 계산할 수 없는 복잡한 것일 수 있다. 그럼 라운드 함수 f는 구체적으로 뭔가 하는 이야기가 되지만, 이 기사에서는 생략한다. 2번째 이후의 round
복호할 때는, subkey의 입력 순서를 반대로 하여 round를 같은 횟수만큼 행한다. DES 요약 암호화/복호를 동일한 구조로 할 수 있다. → 회로가 조립하기 쉽다 이 암호 알고리즘의 본질은 라운드 함수 f에 있다. TDEA Triple-DES라고도 하며, 그 이름대로 DES를 3회 실시하는 블록 암호이다. 3회 연산하기 때문에 DES보다 처리 속도가 느립니다. 처리의 전체 이미지 키: 8byte × 3개 (= 24byte) 합계의 키 길이가 DES보다 길어지기 때문에, DES보다 암호 강도가 높아진다. 평문 8byte 암호화 그림에서는 key1 → key2 → key3 순으로 처리를 수행합니다. 해독 암호화와 복호의 순서를 교환한다. 이 때, 설정하는 키의 순서를 암호화시와 반대로한다. key1 → key2 → key3 순으로 암호화 된 경우 key3 → key2 → key1 순으로 복호합니다. 키 수 3가지 다른 경우 DES-EDE3 EDE = Encryption -> Decryption -> Encryption의 흐름 둘만 다를 때 DES-EDE2 키 1, 3에 동일한 키를 사용 세 가지 모두 동일 일반 DES와 동일 두 번째 해독으로 평문으로 돌아가기 위해 TDEA 회로에서 일반 DES 암호화/해독 가능
유키히로(2015) 「암호 기술 입문 제3판」 ↩
Reference
이 문제에 관하여(DES와 TDEA의 기초), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kunosu/items/578f467cada239b19e8e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)