본문 바로가기
정보처리기사/정보 시스템 구축 관리

암호화 알고리즘

by jhwannabe 2023. 8. 19.

암호 알고리즘

암호 알고리즘(Cryptographic Algorithm)의 개념

  • 평문(Plaintext)을 암호문(Ciphertext)으로 바꾸고, 암호문을 다시 평문으로 바꿀 때 사용되는 알고리즘을 의미
  • 평문을 암호문으로 바꾸는 과정을 암호화(Encryption)라고 하고, 암호문을 다시 평문으로 바꾸는 과정을 복호화(Decryption)라고 함
  • 암호화 및 복호화 과정에 암호키(Cryptographic key)가 필요함

 

공개키(Public Key, 비대칭키) 암호화 기법

  • 암호키와 해독키가 서로 다른 기법으로 키 개수는 2N개가 필요함
  • 비대칭키 암호화 기법 또는 공개키(공증키) 암호화 기법이라고도 함
  • 키 분배가 비밀키 암호화 기법보다 쉽고, 암호화/복호화 속도가 느리며 알고리즘이 복잡함
  • RSA, ElGama 기법 등이 있음
  • RSA(Rivest Shamir Adleman)
    • 소인수 분해의 어려움에 기초를 둔 알고리즘
    • 1978년 MIT에 의해 제안됨
    • 전자문서에 대한 인증 및 부인 방지에 활용됨
  • ElGama
    • 이산대수 문제의 어려움에 기초를 둔 알고리즘
    • 동일한 메시지라도 암호화가 이루어질 때마다 암호문이 변경되고 암호문의 길이가 2배로 늘어나는 특징이 있음

 

비밀키(Private Key, 대칭키) 암호화 기법

  • 동일한 키로 암호화하고 복호화하는 기법으로 키 개수는 N(N-1)/2개가 필요함
  • 대칭키 암호화 기법 또는 개인키 암호화 기법이라고도 함
  • 암호화/복호화 속도가 빠르고 알고리즘이 단순함
  • 키 분배가 공개키 암호화 기법보다 어려움
  • 스트림 방식과 블록 방식으로 분류됨
  • 스트림 방식
    • 평문의 길이와 동일한 스트림(Stream)을 생성하여 비트 단위로 암호화흔ㄴ 대칭키 암호화 방식, 암호화할 때 XOR 연산을 수행함
    • 종류 : RC4, A5/1, LSFR, SEAL, WEP, OFB
  • 블록 형식
    • 평문을 블록 단위로 암호화는 대칭키 암호화 방식
    • DES(Data Encryption Standard)
      • 1970년대 초 IBM이 개발한 알고리즘
      • 16라운드 Feistel 구조를 가짐
      • 평문을 64비트로 블록화를 하고, 실제 키의 길이는 56비트를 이용함
      • 전사 공격(Brute-Force Attack)에 취약함
    • AES(Advanced Encryption Standard)
      • DES를 대신하여 새로운 표준이 됨
      • 블록 크기는 128비트이고, 키 길이는 128/192/256비트임
      • SPN(Substitution-Permutation Network) 구조
    • ARIA
      • 국내 기술로 개발된 암호 알고리즘
      • 경량 환경 및 하드웨어 구현에서의 효율성 향상을 위해 개발됨
      • 우리날 국가 표준으로 지정됨
      • 블록 크기와 키 길이가 AES와 동일함
    • SEED
      • 국내 기술로 개발된 128비트 블록 암호 알고리즘
      • Feistel 구조
      • 2005년 국제 표준으로 제정됨
    • IDEA
      • DES를 대체하기 위해서 스위스에서 개발한 알고리즘
      • 상이한 대수 그룹으로부터의 세 가지 연산을 혼합하는 방식

 

해시(HASH) 암호화 방식

  • 임이의 길이의 메시지를 입력으로 하여 고정된 길이의 출력값으로 변환하는 기법
  • 주어진 원문에서 고정된 길이의 의사난수를 생성하며, 생성된 값을 해시값이라고 함
  • 해시 함수라고도 함
  • 디지털 서명에 이용되어 데이터 무결성을 제공함
  • 블록체인에서 체인 형태로 사용되어 데이터의 신뢰성을 보장함
  • SHA, SHA1, SHA256, MD5, RMD160, HAS-160, HAVAL 기법 등이 있음

 

SHA(Secure Hash Algorithm)

  • 1993년에 미국 NIST에 의해 개발되었고 가장 많이 사용되고 있는 방식
  • SHA-1은 DSA에서 사용하게 되어 있으며 많은 인터넷 응용에서 Default 해시 알고리즘으로 사용됨
  • SHA-256, SHA-384, SHA-512는 AES의 키 길이인 128, 192, 256bit에 대응하도록 출력 길이를 늘린 해시 알고리즘임

 

Salt

  • 시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과값으로 저장됨
  • 암호 공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미함
728x90
반응형