학습일지

암호 알고리즘 -1- 개요

hj.choi 2022. 5. 10. 20:38

1. 암호 알고리즘의 종류 및 정의

1.1. 단방향 암호화 기법

한쪽 방향으로만 암호화 기법이며, **'해시 알고리즘'**라고도 부른다.

해시 알고리즘으로 변환된 값이나 키를 '해시값' 혹은 '해시 키'라고 부른다.

1.1.1 MDC(Modification Detection Code)

  • 대표적으로 **SHA-1/SHA-2, MD5, HAVAL**등이 있다.
  • 메세지 변경이 일어났는지 아닌지를 확인하는 기법. 데이터의 무결성을 판단한다.
  • 해싱된 암호문으로부터 원본 메시지를 알 수 없어야 하고 메시지와 해시값은 1:1이 되어야 한다.

**송신자:** 원본 메시지는 그대로 보내고, 암호화된 해시값은 안전한 채널로 보내게 되는데, 이때 외부로부터 변경이 되지 않는다는 보장이 되어야 한다.

**수신자:** 수진자는 전달받은 메시지를 MDC로 다시 만들며 전달받은 MDC와 비교하여 둘의 값을 비교하여 일치 여부에 따라 메시지 변조 여부를 결정한다.

1.1.2. MAC(Message Authentication Code)

  • 대표적으로 **HMAC, CBC-MAC**등이 있다.
  • 메시지 변조 여부를 확인하기 위해 인증된 송/수신자끼리만 해석이 가능한 키를 섞어서 통신하는 방법.

**송신자: **송신자는 수신자와 미리 공유된 키를 가지고 메시지 해시값을 만들어 보내고자 하는 메시지를 전송한다. 여기서 만들어진 이 해시값을 메시지 인증코드, 즉 MAC이라고 한다.

**수신자: **송신자로부터 받은 MAC와 메시지를 키와 함께 해시값을 만든 후 비교한다.

1.2. 양방향 암호화 기법

특정 키를 통해 평문을 암호화하고, 단방향 암호화와 달리 복호화가 가능하다.

암/복호화를 하기 위해 동일한 키를 사용할 수도 있고 다른 키를 사용할 수도 있다.(대칭, 비대칭)

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

  • 암/복호화할 때 사용하는 키가 같다.
  • 일반적인 암호화 알고리즘이다.

1.2.1.1. 대칭키 암호화 알고리즘의 단점

  • 키를 탈취당하면 암호화를 하는 의미가 없어진다.
  • 이러한 키 배송 시 발생하는 문제를 해결하고자 한 방식이 비대칭키 암호화 알고리즘이다.

1.2.1.2. 대칭키 암호화 방식 대표적인 알고리즘 - DES(Data Encryption Standard)

  • 56비트의 키를 사용하는 대칭키 암호화 알고리즘의 대표적인 암호화 알고리즘이었다.
  • 하지만 56비트의 키와 64비트의 블록의 크기는 현대의 계산 속도에 너무나 작은 알고리즘이고 1999년에 22시간 만에 무차별 대입 공격을 통한 해독을 할 수 있는 하드웨어가 개발될 정도였다.
  • 현재는 사용하지 않아야 할 알고리즘이다.

1.2.1.3. 대칭키 암호화 방식 대표적인 알고리즘 - AES(Advanced Encryption Standard)

  • 128, 192, 256의 키 크기를 가진 DES를 대체하기 위한 알고리즘이다.
  • 한글명으로는 고급 암호화 표준이며 미국 정부가 채택한 이유 전 세계에서 널리 사용하고 있는 알고리즘이다.

1.2.2. 비대칭키 암호화 알고리즘(공개 키)

  • 대칭키 암호화 알고리즘에 비해 암/복호화할 때 키가 다르다.
  • 전자서명과 같은 작업에 주로 비대칭키 암호화 알고리즘이 쓰인다.
  • 알고리즘 과정
    1. 비대칭 키 알고리즘으로 암호화를 진행하면 A키 B키 한쌍의 키가 생긴다.
    2. 그리고 그 각쌍의 키로 암호화 복호화 과정을 진행한다.
    3. A키로 암호화 == B키로 복호화
    4. B키로 암호화 == A키로 복호화
    5. 이런 식으로 하나의 키만 보호하고 다른 키는 사용을 하기 위해 공개를 해야 한다.
    6. 보호하는 키를 개인키, 공개하는 키를 공개 키라 한다.

1.2.2.1. 공개키 기반 비대칭키 알고리즘의 단점

  • 대칭형 알고리즘에 비해 현저하게 느리다.
  • 비대칭 키 알고리즘의 과정에 따라 공개를 해야만 사용이 가능함으로 공개 키 암호라 한다.

출처