Cryptography and Network Security

임승섭·2023년 6월 23일
0

Computer Network

목록 보기
27/27

Cryptography

  • Plaintext : encryption 전의 text
  • Ciphertext : encrypted text
  • Encryption : making text unreadable
  • Decryption : recover unreadable text so that it is readable
  • Key : number to encrypt text. needed to decode ciphertext

Symmetric-key algorithm

the same key is used for encryption and decryption

  • Alice and Bob shares a secret key
  • Alice encrypts her message using the key
  • Alice sends the encrypted message to Bob
  • Bob uses key to decode the message
  • Eve cannot read the message without the key

Asymmetric-key algorithm

different keys are used for encryption and decryption

  • Bob has a public / private key pair
  • Bob opens the public key to public, but secretly hold the private key
  • Alice encrypts her message using Bob's public key
  • The message can be decrypted only by using Bob's private key
  • Only Bob can open the message

Symmetric-key Cryptography

  • Monoalphabetic
    • HELLO -> KHOOR
    • plaintext에서 같으면, ciphertext에서도 같다
  • Polyalphabetic
    • HELLO -> ABNZF
    • plaintext에서 같아도, ciphertext에서 다를 수 있다.
  • Shift cipher
    • 몇 칸 움직여야 하는지가 key
  • Transposition ciphers
    • 위치 바꿔
    • 문장 4개씩 끊어서, 그림처럼 순서 바꾼다
  • XOR cipher
    • plaintext를 key (11110011)과 XOR해서 ciphertext 만든다
    • 다시 key와 XOR하면 plaintext가 나온다
  • DES
    • Data Encryption Standard (표준 data encryption이었다)
    • 대표적인 symmetric key encryption algorithm
    • key = 56 bits ( + 8 parity bits) => 64 bits
    • Attack against DES : Brute-force
      • 가능한 모든 key값을 찾는다.
      • 2562^{56}
  • Triple DES
    • DES 3번 해
  • AES
    • Advanced Encryption Standart
    • key size : 128, 192, 256 bits

Asymmetric-key Cryptography

RSA

  • public key = e
  • private key = d
  • Bob makes public key and private key
    • select 2 prime numbers p and q
    • n = p * q
    • Ф = (p-1) * (q-1)
    • select a random number e
    • select d so that d * e = 1 (mod Ф)
  • Bob opens e and n : public key
  • Bob does NOT open d and Ф : private key

Encryption

  • C=Pe(mod n)C = P^e (mod n)

Decryption

  • P=Cd(mod n)P = C^d (mod n)

Pros

  • symmetric이 아니라는 게 장점이다.
    symmetric이면 secret key를 둘이 공유하고 있어야 한다

cons

  • 복잡하다. 그래서 느리다.

usage example

  • secret key를 RSA를 통해서 공유하고, 그 다음부터는 공유한 key를 이용해서 symmetric 방식을 이용한다.

Network Security

  • Message Confidentiality
    • 기밀성
    • eve가 message를 알면 안된다
  • Message Integrity
    • 무결성
    • receiver에게 도착하기 전까지 message는 수정되지 않는다
  • Message Authentication
    • 인증
    • 특정 sender에게 온 message가 맞는지 확인한다
  • Message Nonrepudiation
    • 부인 방지
    • sender가 지가 보내놓고 안보냈다고 할 수 없다
  • Entity Authentication
    • 개체 인증
    • user의 identity를 확인한다

0개의 댓글