HJW's IT Blog

정보보호: 블록암호와 DES 본문

카테고리 없음

정보보호: 블록암호와 DES

kiki1875 2023. 9. 11. 11:28

#블록암호

     > 블럭암호는 평문 블록 전체를 가지고 동일한 길이의 암호문 블록을 생성하는 암/복호화 방식

     > 많은 블럭암호가 Feistel 구조를 띈다

         >> 동일한 라운드 수로 구성되어 동작

         >> 각  라운드는 데이터의 절반이 치환, 이후 데이터의 두개의 반을 교환하는 순열 수행

     > DES 는 최근까지 가장 널리 사용되는 암호 알고리즘

         >Data Encryption Standard

     

# 블록 암호의 원리

     > 스트림 암호

         - 한번에 1bit 혹은 1byte 의 디지털 데이터 스트림을 암호화 

         - 키 스트림 (ki) 혹은 평문 스트림(pi)만큼의 길이를 가짐

     > 블록암호

         - 평문 블록 전체를 가지고 같은 크기의 암호문 블록 생성

         - 전형적으로 64bit or 128bit

     > Feistel 암호 구조의 동기

         - 블럭 암호는 n bit 암호문 블록을 생성하기 위해 n bit 평문 블록을 이용하여 연산

         - 2^n 가지의 서로 다른 평문 블록 존재

 

     > n bit - n bit 블록 치환 (n = 4 의 경우)

         - 4 bit 입력으로 16개 값중 하나 선택하고, 내부 치환에 의해 16개 출력값중 하나 대응하여 4bit 출력

     

     > Fiestel 암호구조

         - 처리구조

             - 길이 2w비트인 평문 블록 분할 처리

             - K로부터 유도된 n개의 키 사용

             - n회의 동일한 반복구조 실행

         - 하나의 반복구조

    > Fiestel 암호 설계의 고려사항

         - 빠른 소프트웨어 암/복호화

         - 알고리즘의 실행속도가 중요하다

         - 분석의 용이성

             - 암호해독의 취약성에 대한 알고리즘의 분석이 쉬움

             - 고도의 신뢰성과 보안 강도를 위한 개발 용이

 

     > 설계 특성

         >> 블록크기(64 bit)

             - 큰 블록은 보안이 강화되지만 암/복호 속도는 저하 : 64 bit 이 일반적

         >> 키 크기 (128 bit)

             - 큰 키는 보안 강화 하지만 암/복호 속도는 저하 : 128bit이 일반적

         >> 반복 수

             - 다중 반복과정은 보안성 강화

             - 16회 반복이 일반적

         >> 서브키 생성 알고리즘

             - 서브키 생성 방법이 복잡할 수록 강력

         >> 반복함수

             - 적용되는 반복함수가 복잡할 수록 강력

     > Feistel 복호 알고리즘

         >> 암호화와 복호화에 같은 키 사용을 위해 서브키 ki를 역순으로 사용

 

#DES: Data Encryption Standard

     > 특징

         >> 64bit 블럭 암호 알고리즘

         >> 56bit 키를 사용 (나머지 8bit 은 parity check 로 사용)

         >> 기본 구조

             - 16 round

             - 복호화는 암호화의 역순

         >> 최근에는 세개의 키로 3번 반복함으로써 암호의 강도를 높임 triple-des

         >> 치환과 전치의 혼합방법

                   

     > 함수 F의 설계

         >> 8개의 S-box로 구성

         >> 각 S-box는 6bit 입력, 4bit 출력 생성

 

     > DES 쇄도효과: 평문변화

         - 편문이나 키의 작은 변화가 암호문에 대해 중요한 변화를 일으키게 하는 효과

         - 평문이나 키를 1bit 바꿀 때 암호문의 여러 비트가 변화

 

     > DES 의 강점

         >> 56bit 키 사용

         >> error correcting code 가 붙어있다 (parity)

         >> DES 알고리즘 자체 성질을 이용한 해독 가능성

         >> 8개의 치환 표 또는 S-box

         >> S-box의 경우

             - 전체 알고리즘에 대한 설계 기준이 공개된 적 없다

             - S-box의 약점에 대해 알고 있는 공격자가 해독할 수 있게 설계 됐을 가능성에 대한 의혹

             - 수년간 S-box의 수많은 정규성과 예측못할 동작이 발견 but 치명적 약점 x

     > Timing 공격

         >> 암호문을 복호화 하는데 걸리는 시간을 관측하여 키 또는 평문의 정보를 획득

         >> 입력에 따라 처리시간이 다르다는것을 이용

         >> 성공 사례 x