어린왕자이야기

암호화 방식 과 종류 본문

나의 취미/인터넷과 웹이야기

암호화 방식 과 종류

grandguy 2022. 6. 4. 21:22

1. 암화화 체계

2. 대칭키 

일반적으로 다른 암호화의 구성요소. 암호화 및 복호화에 동일한 키를 사용.

2.1.종류 TwofishSerpentAES(Rijndael), CamelliaSalsa20ChaCha20BlowfishCAST5KuznyechikRC4DES3DESSkipjackSafer, IDEA

2.2.방식

  •   Stream ciphers : 일반 텍스트 숫자가 ‎‎의사 랜덤‎‎ 암호 숫자 ‎‎스트림‎‎(‎‎keystream‎‎)과 결합되는 ‎‎대칭‎‎ 키 ‎‎암호. 비트 결합 연산은 XOR 혹은 배타적 연산
    • Synchronous stream ciphers
    • Self-synchronizing stream ciphers
  • Block ciphers : 고정 길이 ‎‎비트‎‎ 그룹에서 작동하는 ‎‎결정론적 알고리즘‎‎. 많은 ‎‎암호화 프로토콜‎‎의 설계에서 ‎‎기본 구성 요소‎‎로 지정. 데이터 교환 프로토콜을 포함하여 많은 양의 데이터를 ‎‎암호화‎‎
    • Iterated block ciphers
    • Substitution–permutation networks
    • Feistel ciphers
    • Lai–Massey ciphers

3. 비대칭키

공개키(Public Key)와 개인키(Private Key)가 하나의 쌍
다른 사람들에게 공개된 키로서 정보를 암호화할 수 있는 공개키와 사용자 본인만 알고 있어서 암호를 풀 수 있는 키인 개인키는 하나의 쌍
비대칭키를 사용한 암호화 방식에는 공개키로 암호화(데이터 보안에 중점)를 하는 경우와 개인키로 암호화(전자서명을 통한 인증 과정)를 하는 경우로 구분 
비대칭형 암호는 암복호화가 대칭형 암호화에 비하여 현저하게 느리기 때문에 현실적으로 비대칭형 암호를 이용하여 대칭형 암호의 키를 배송하고 실제 암호문은 대칭형 암호를 사용하는 식으로 상호보완적인 이용이 일반적

3.1. 방식

  • 암호모드 : 송신자 공개키로 암호화 -> 송신자 사설키로 복호화. 소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용
  • 인증모드 : 송신자 사설키로 암호화 -> 송신자 공개키로 복호화. 메시지를 인증(부인방지)하는 것이 목적

4. 해쉬 함수

요약함수 및 메시지다이제스트함수(Message Digest Function)라고도 하며 주어진 원문에서 고정된 길이의 의사난수를 생성하는 연산 기법

4.1. 해쉬 성질

4.2. 해시 알고리즘 비교

구분 MD5 SHA-1 SHA-224 SHA-256 SHA-384 SHA-512
메시지
다이제스트
길이
128bit 160 bit 224 bit 256 bit 384 bit 512 bit
처리 단위 512 bit 512 bit 512 bit 512 bit 1024 bit 1024 bit
단계 수 64 80 64 64 80 80
최대
메시지
길이
무한 264-1 264-1 264-1 2128-1 2128-1

4.3. 메시지 인증 코드 및 변경 감지 코드 절차

4.3.1. 변경 감지 코드(Modification Detection Code) 절차 : 메시지 무결성은 보장하나 인증된 사용자로부터 수신된 메시지라는 것을 보장하지 못함

알고리즘분류 알고리즘명 MD 길이 블록 길이 최대 메시지 길이
MD5 MD5 128bit 512bit 무한
RIPEMD RIPEMD-160 160bit 512bit 2^64-1bit
SHA-1 SHA-1 160bit 512bit 2^64-1bit
SHA-2 SHA-224 224bit 512bit 2^64-1bit
SHA-2 SHA-256 256bit 512bit 2^64-1bit
SHA-2 SHA-384 384bit 1024bit 2^128-1bit
SHA-2 SHA-512 512bit 1024bit 2^128-1bit
SHA-3 SHA-2와 디자인이 달리짐

 

4.3.2. 메시지 인증 코드(Message Authentication Code) 절차 : 메시지 무결성 뿐만 아니라 메시지가 인증된 사용자로부터 왔다는 것을 보장하는 것에 목적

알고리즘분류 알고리즘 설명
축소 MAC 최종 MAC을 생성하기 위해 두 단계의 해시 함수를 거친다. 키와 메시지로 1차 다이제스트를 생성하고, 키와 1차 다이제스트를 사용해 최종 다이제스트를 생성
HMAC(Hashed-MAC) SHA와 같은 일방향 해시함수를 이용하여 MAC를 구성하는 방법이다
CBC-MAC(Cipher Block Chaining MAC) 블록 암호 운용 방식 중 하나인 CBC모드와 유사, 대칭 키 암호를 N번 사용해서 N개의 평문 블록에서 하나의 MAC을 생성
CMAC(Cipher-based MAC) CBC-MAC의 보안 논점을 해결하기 위해 만들어진 방식. 데이터 인증과 무결성을 제공하지만, 수학적으로는 보다 안전
CCM(Counter with CBC-MAC) CTRCBC-MAC을 통합한 방식으로 동일한 키의 사용으로 기밀성과 무결성(인증)을 보장. 핵심적인 알고리즘 구성요소는 AES, CTR 모드, CBC-MAC
GCM(Galois/Counter)모드 CTR 모드에 인증 기능을 추가