암호화 알고리즘 정리

Hannah·2023년 2월 3일
0

✊🏻 암호화란?

암호화(Encryption)은 특별한 지식을 소유한 사람들을 제외하고는 누구든지 읽어볼 수 없도록 알고리즘을 이용하여 정보(평문을 가리킴)를 전달하는 과정입니다
이러한 과정을 통해 암호화된 정보(암호문)을 낳습니다
이에 역행하는 과정을 해독(Decryption)이라고 하며 암호화된 정보를 다시 읽을 수 있습니다

✨ 암호화의 종류

단방향 암호화

  • 단방향 암호화는 대표적으로 신원 증명과 인증 과정에서 사용합니다.
  • 단방향 암호화의 특징은 역으로 변환하는 것이 불가능하고, 어떤 방법을 쓰더라도 암호문을 원래의 평문으로 되돌릴 수 없습니다

비밀키 암호화

  • 비밀키 암호화는 말 그대로 비밀키를 사용하여 암호화와 복호화하는 과정을 가리킵니다
  • 평문에 암호화 키 값을 이진수 연산 처리하여 암호문을 생성하고, 암호문을 받은 수신자는 동일한 암호화 키 값을 역으로 대입하여 암호문을 해독합니다
  • 따라서 비밀키 암호화를 위해서는 송신자와 수신자 모두 동일한 암호화 키를 알고 있어야 합니다

공개키 암호화

  • 공개키 암호화는 공개키와 개인키라고 불리는 서로 다른 두 개의 키를 사용합니다
  • 앞선 비밀키 암호화 방식과 비교해보면 송, 수신자에게 공개된 공개키를 사용하여 암호화하는 점은 비슷하지만, 복호화는 개인키를 가진 사람만 할 수 있다는 점에서 차이가 생깁니다
  • 조금 더 복잡해 보이는 해당 방식은 비밀키 암호화 방식보다 처리가 느리기 때문에 실제 암호화 시스템은 비밀키 암호화 방식과 공개키 암호화 방식을 혼합하여 구축합니다

🍒 알고리즘

대칭형 암호 알고리즘 (비공개키)

  • 특징
    • 암복호화에 서로 동일한 키가 사용되는 암호화 방식입니다
  • 장점
    • 속도가 빠릅니다
  • 단점
    • 키 배송 위험성이 존재하여 송신 측에서 수신측에 암호 키를 전달하는 과정에서 노출 우려가 있습니다
  • 대표 알고리즘
    • DES, AES

비대칭형 암호 알고리즘 (공개키)

  • 특징
    • 암복호화에 서로 다른 키가 사용되는 암호화 방식입니다 (하나는 공개키로 사용합니다)
  • 장점
    • 키 배송의 문제를 근본적으로 차단하여 안정성이 높습니다
  • 단점
    • 대칭키 방식에 비해서 느립니다
  • 대표 알고리즘
    • RSA

단방향 암호 알고리즘 (해쉬)

  • 특징
    • 해싱을 이용해 암호화를 하는 것으로 암복호화는 다른 개념입니다
    • 해싱을 이용해 평문을 암호문으로 암호화하는 것은 가능하지만 암호문을 평문으로 복호화 하는 것은 불가능합니다
  • 장점
    • 복호화하지 않아도 상관없는 정보를 저장하기 좋습니다

알고리즘 종류들

  • 대칭형 암호 알고리즘
    • 블록(Block) 암호 알고리즘 : 블록암호(block cipher)란 기밀성 있는 정보를 정해진 블록 단위로 암호화하는 대칭키 암호 시스템이다
      • DES, 3-DES, Rijndael, IDEA, SEED, SRYPTON, ARIA, HIGHT, LEA, FEAL, MISTY, SKIPJACK, RC5
    • 스트림 (Stream) 암호 알고리즘 : 스트림 암호(stream cipher)는 대칭 키 암호의 구조 중 하나로, 유사난수를 연속적(스트림)으로 생성하여 암호화하려는 자료와 결합하는 구조를 가진다
      • RC4, FSR, LFSR, NLFSR, CFB 모드
  • 비대칭형 암호 알고리즘
    • RSA, ECC, DSS
  • 단방향 암호 알고리즘
    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512



👉🏻 참고 사이트

profile
backend developer

0개의 댓글