학습일지
암호 알고리즘 -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. 비대칭키 암호화 알고리즘(공개 키)
- 대칭키 암호화 알고리즘에 비해 암/복호화할 때 키가 다르다.
- 전자서명과 같은 작업에 주로 비대칭키 암호화 알고리즘이 쓰인다.
- 알고리즘 과정
- 비대칭 키 알고리즘으로 암호화를 진행하면 A키 B키 한쌍의 키가 생긴다.
- 그리고 그 각쌍의 키로 암호화 복호화 과정을 진행한다.
- A키로 암호화 == B키로 복호화
- B키로 암호화 == A키로 복호화
- 이런 식으로 하나의 키만 보호하고 다른 키는 사용을 하기 위해 공개를 해야 한다.
- 보호하는 키를 개인키, 공개하는 키를 공개 키라 한다.
1.2.2.1. 공개키 기반 비대칭키 알고리즘의 단점
- 대칭형 알고리즘에 비해 현저하게 느리다.
- 비대칭 키 알고리즘의 과정에 따라 공개를 해야만 사용이 가능함으로 공개 키 암호라 한다.