5. Conventional Cryptography Systems(3) - DES, AES

Yona·2021년 10월 31일
0

🌙 CS_security

목록 보기
10/24

🔒 DES

- 기본 구조

  • block : 64 bit
  • key : 56 bit
    - 과정
  1. initial permutation (IP) : 초기치환. 64bit
  2. 16 rounds of Feistel cipher
  3. Final permutation (IP1^{-1})

✔️ prestep) Key generate

  • Initial key permutation (초기 키 값 설정)
    • 8번째 비트들은 모두 무시되어 permutation 된다.
  • 그 이후의 키 생성
    • 두개로 쪼개서 -> 각각 left shift 된뒤 -> compress

✔️ step1) Initial permutation

✔️ step2) Feistel Function

  • Expension (E box)
  • Substitution (S-Box)
  • Permutation

✔️ step3) Final Permutation


DES 의 의의

  • strong avalanche effect
  • 2562^{56}개의 possible keys (68-8=56니까)

Cracking DES

  • Diffrential Cryptanalysis
    • chosen-plaintext attack
    • computing the diffrence between the input and the corresponding output
  • Liner Cryptanalysis
    • known-plaintext attack
    • affine approximation
  • 이제 기기들의 성능이 좋아지며 DES는 computationally crack 하기 쉬워졌다

대안 1) 🔒 Triple DES

  • 기존 Key length : 56-bit key
  • triple key length : 3*56-bit key

대안 2) 🔒 DESX

  • adding extra key (K1, K2) to input and output
  • DESX=K2DESk(MK1)DESX = K_2\oplus DES_k(M\oplus K_1)

🔒 AES

  • AES use <Rijndael Cipher>

    • DES는 Feistel structure 사용
    • each round는 3개의 Invertible & uniform transform으로 이루어져있음
      • Linear mixing layer : high diffusion over multiple round
      • Non-linear layer : high confusion using S-Boxes
      • Key addition layer : XOR of round keys
  • Block Structure로 이루어져있음.

    • 128bit block = 4*4 square matrix
  • 과정 요약

    • AES는 feistel 을 쓰지 않고 invertible function
      (proccesses the entire date block in parallel)
    • AES는 10 round 돔 (enc, dec 둘다)
    • key는 expanded 된다. (128bit)
    • 한 라운드에는 4개의 stage 실행
      (one for permutation, three for substitution(=product cipher). 모든 stage는 Easily reversible)
      • substitute bytes : S-box -> byte-by-byte substitution
      • shift row : simple permutation
      • mix columns : substitution
      • add round key : simple bitwise XOR
    • enc, dec 둘다 시작하기전 add round key 를 수행하고 round를 시작한다.
    • enc와 Dec 둘다 마지막 라운드는 2개만 실행하고, add round key로 끝낸다.

stages' detail

  • sub bytes

  • shift row

  • mix column

  • add round key

🌻 AES ↔️ DES

AES > DES

AES is stronger than DES

  • longer encryption key & block size

  • DES uses balanced Feistel structure (half block not altered at each round)

  • but, AES uses subsubstitution-permutation steps and operates on entire block.

  • AES vs triple DES

profile
Sometimes you win, sometimes you learn 🏃‍♀️

0개의 댓글