Posts [보안] 암호 기초
Post
Cancel

[보안] 암호 기초

보안

1) Confidentiality(기밀성)

  • 허가 받지 않은 사람이 정보를 해독하지 못하도록 하는것

2) Encryption Algorithms(암호 알고리즘)

1) Symmetric Key Cryptography(대칭키암호)

  • 암호할때 사용하는 키랑 복호할때 사용하는 키가 같음
  • Stream Ciphter(비트단위로 암호화)
  • *Block Ciphers(블록단위로 암호화)
  • -> round function을 반복함으로써 Ciphertext가 얻어짐
  • -> round function의 입력값으로는 key와 이전 round의 output이 들어간다

  • Feistel Cipher암호알고리즘: 특정한 암호알고리즘이 아닌 block cipher를 설계하는 방식

  • DES(Data Encryption Standard) : Feistel Cipher의 일종
  • -> Permutation(순서를 막 섞는 것) , Substitution(특정한 숫자나 문자를 대체)을 사용하는 방식

  • DES (56Key) -> exhaustive key search : 2^56번 수행
  • ->컴퓨터의 성능이 발달되며 이를 수행하는게 큰 어려움이 없어져 대책이 필요해짐

  • solution?
    ① 3DES : 기존의 DES와 호환성 유지
    -> 112bit key(두 개의 key)사용
    스크린샷 2020-03-26 오전 11 21 49

  • 두 개의 key를 사용하는 이유
    스크린샷 2020-03-26 오전 11 24 11

  • key1 key2로 Encrption Decryption Encryption 하는 이유?
    스크린샷 2020-03-26 오전 11 34 45

  • -> Attackerd에게 2^112 번으로 이론적으로 공격가능성이 존재하기 때문
  • -> 사실상은 2^56개의 테이블entry를 만들어 저장하는게 실제로 가능하지 않다

② AES : 새로운 것으로 갈아엎음

2) Public Key Cryptography(공개키암호,비대칭키암호)

  • 암호할때 사용하는 키랑 복호할때 사용하는 키랑 다름
    스크린샷 2020-03-26 오전 10 01 06

  • 사용자가 보낸 plaintext데이터를 key를 사용하여 encrypt(암호화)하여 보내면 ciphertext형식으로 네트워크를 통해전달되서 수신자 측에서 key를 사용하여 decrypt(복호화)하여 데이터를 얻어냄

This post is licensed under CC BY 4.0 by the author.