티스토리 뷰

보안공부

DES 암호학

지현씨 2023. 5. 24. 11:51
  • 현대 암호학의 방식 중 하나이며, 대칭 암호이다. 대칭 암호란, 암호에 사용하는 암호화 하는 키와 복호화 하는 키가 동일한 것
  • 64비트의 크기의 블록을 암호화하는 방식이다.
  • 현재는 하나의 키를 사용하는 것이 아닌 3DES를 널리 사용

 

특징

  • 혼동 : 키와 암호문 사이의 관련성을 모호하게 하는 암호화 연산, 오늘날 혼동을 만족시키기 위한 일반적인 요소는 환자(평문 : 암호문 1대1 대응)이고, DES와 AES에서 발견됨.
  • 확산 : 평문의 통계적 특성을 숨기기 위한 목적으로 하나의 평문 기호의 영향이 많은 암호문 기호에 퍼지도록 하는 암호화 연산, 단순한 확산 요소는 비트 전치로 DES에서 빈번히 사용됨.
  • 곱 암호 : 두 연산을 혼합한 암호
  • 보안 : 분석적 공격에는 안전하나 소모적 키 탐색에는 안전하지 않음.

전체적인 과정

먼저 이 그림을 통해서 우리가 모르는 것을 확인해야 하는데, 초기전치 IP, f함수, K1,  역전치 IP-1을 모르는 상태입니다. 먼저 초기전치와 역전치를 설명하겠습니다.
 
왼쪽은 초기전치, 오른쪽은 역전치 입니다. 다음과 같은 규칙을 통해 64bit평문을 전치합니다. 예를 들어, 그림에서 1번째에 58이 들어가있으니 이 뜻은, 58번째의 bit를 첫 번째로 전치 즉 옮기라는 뜻입니다. 두 번째는 50번 bit를 2번째로 옮기라는 뜻입니다. 이렇게 총 64bit를 모두 전치 규칙에 따라서 옮기면 됩니다. 물론 실제 전치 규칙은 아래 표와 다를 수 있습니다. 역 전치는 그 반대로 40 번째를 1번째로 옮겨 원래의 64bit 위치로 변환하는 것입니다.

초기전치
초기전치                                                                                                               역전치

초기 전치 이후

  1. 32bit씩 LE와 RE로 나눔.
  2. 키 스케줄러로 생성된 K와 RE를 f함수에 사용
  3. 생성된 값을 LE와 Xor 하게 됨.
  4. LE와 RE를 바꿈 -> LE가 RE로, RE가 LE로
  5. 2번을 반복(총 16번 반복)

f함수

  1. 먼저 평문의 오른쪽 32bit(R)를 확장전치(E)를 통해 48bit로 길이를 늘립니다.
  2. 48bit의 키와 Xor을 하게 됩니다.
  3. 이후 S-Box 연산을 하게 됩니다.
  4. 평형전치(P)를 통해 48bit에서 32bit로 크기를 줄입니다.

아래는 확대 전치 및 평형전치로 작동 방식은 같습니다.

확대 전치 및 평형 전치

S-Box 연산

S-Box

S-Box는 6Bit를 4Bit로 바꾸는 방식입니다. 1bit와 6bit를 열로 2, 3 4 5bit를 행으로 합니다. 그래서 행과 열에 맞는 숫자를 가져옵니다.
 

키 생성 스케줄러

DES에서 입력받은 64bit를 실제 암호화에서 사용할 키를 생성하는 스케줄러
64bit를 입력받는데 그 중 8bit는 패러비 비트, 즉 오류 검사에 사용 -> 56bit를 사용
그리고 56bit -> 48bit로 키를 생성

전치 PC-1 

  • 64bit에서 패러티비트를 제외하여 56bit키를 생성하는
    전치

축약 전치 PC-2

  • 만들어진 56bit를 48bit 키로 만드는 전치

전치 PC-1                                                                                                 축약 전치 PC-2

 

키 스케쥴러 LS

 
이렇게 만들어진 키를 사용하게 됩니다.
 
추가적으로 3중 DES를 주로 쓴다고 하였는데 아래와 같습니다.

3중 DES

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함