ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DES - 2
    Cryptography - Security/Dreamhack - Basic 2023. 5. 8. 10:26

     

    DES의 과정

    DES는 시작할 때 초기순열을, 마지막에는 최종순열을 수행한다

    초기순열과 최종순열은 정해진 테이브를 이용하여 64비트 입력을 비트 단위로 전치한다
    테이블의 n번째 값이 m일 때, 출력의 n번째 비트는 입력의 m번째 비트가 된다

    Dreamhack - Cryptography

    오른쪽 최종순열에서는 아래에서 위로 1씩 증가하는 규칙이 보인다

    초기순열과 최종순열은 서로 역관계여서 임의의 64비트 데이터에 초기순열을 적용하고 최종순열을 적용하면 입력값이 그대로 나오게 된다

     

     

     

    라운드 함수

    라운드 함수에 오른쪽 블록만 입력되므로 입력값의 길이는 32비트가 된다

    라운드 함수는 확장순열, 라운드 키 결합, 치환테이블, 고정순열로 이루어져 있다

    Dreamhack - Cryptography

     

     

    확장순열과 라운드 키 결합

    확장순열은 입력을 비트단위로 전치하는 동시에 전체 길이를 48비트로 확장하는 순열이다
    32비트의 입력값을 4비트씩 8개의 부분으로 나누고 테이블을 참조하여 각각 6비트로 확장한다

    Dreamhack - Cryptography

    이 과정은 아래의 테이블로 진행하는것만 다를 뿐 초기순열, 최종순열과 같은 방식으로 이루어진다

    Dreamhack - Cryptography

     

     

    S-BOX와 고정순열

    S-BOX는 라운드 키 결합에서 출력된 48비트 결과값을 32비트로 축소한다

    Dreamhack - Cryptography
    Dreamhack - Cryptography

    S-BOX는 4개의 행과 16개의 열로 이루어진 표를 사용한다

    먼저 입력을 6비트씩 8개로 나눈 뒤 6비트 중에서 처음과 마지막비트로 행을 결정하고 중간의 4개의 비트로 열을 결정한다
    행과 열이 결정되면 S-BOX표에서 행과 열을 참조하여 값을 반환한다

     

    Dreamhack - Cryptography

    S-BOX로 길이를 축소하고 나면 고정순열로 다시 비트단위 전치가 이루어진다

     

     

     

    키 생성 함수

    키 생성 함수는 64비트의 입력을 받아 각 라운드에 필요한 48비트 라운드 키를 생성하는 함수이다

    패리티 비트 제거, 쉬프트, 암축순열로 구성되어 있다

    Dreamhack - Cryptography

     

     

    패리티 비트 제거( Parity Bit Drop )

    입력에서 패리티 비트를 제거하고, 남은 56비트에 순열을 적용하는 과정이다

    DES의 비밀키에서 각 바이트의 갖아 오른쪽 비트는 자신이 속한 바이트의 나머지 7비트에 대한 홀수 패리티 비트이다
    홀수 패리티 비트란 한 바이트를 이진수로 표현했을 때, 1의 개수가 홀수가 되도록 덧붙인 비트이다

    패리티 비트는 통신 중에 비트 반전이 일어나지 않았음을 보증하는 역할을 하며
    수신한 바이트 중 1의 개수가 짝수인 바이트가 있다면 반전이 일어났다는 의미이므로 수신자는 재전송을 요구한다

     

     

    쉬프트

    입력을 왼쪽 28비트와 오른쪽 28비트로 나누어 각각을 1비트나 2비트만큼 왼쪽으로 순환 쉬프트 하는 과정이다
    1, 2, 9, 16라운드에서는 1비트,  나머지 라운드에서는 2비트만큼 쉬프트 한다

     

     

    압축순열( Compression P-Box )

    56비트의 입력을 48비트 길이로 압축하는 과정이다

     

    Dreamhack - Cryptography

     

     

     

     

     

    Dreamhack - Cryptography 공부내용 정리

    https://dreamhack.io/

    관련된 문제는 사이트에 수록되어 있습니다

    728x90

    'Cryptography - Security > Dreamhack - Basic' 카테고리의 다른 글

    운영모드 - 1  (0) 2023.05.08
    DES - 3  (0) 2023.05.08
    DES - 1  (1) 2023.05.08
    AES - 2  (0) 2023.05.02
    AES - 1  (0) 2023.05.01
Designed by Tistory.