1. 양방향 알고리즘
암호화된 암호문을 복호화 할 수 있는 알고리즘
1) 대칭키 (비공개키) 방식
- 특징: 암복호화에 서로 동일한 키가 사용됨. 따라서 비공개키를 사용
- 장점: 빠른 속도
- 단점: 키 배송의 위험성이 존재하여 송신 측에서 수신 측에 암호 키를 전달하는 과정에서 노출우려가 있음
대칭키의 대표적 알고리즘
- DES (Data Encryption Standard)
- 1975년 IBM에서 개발. 1979년에 미국 국가 표준 암호 알고리즘으로 지정
- 블록 암호 기법을 사용. 블록의 단위는 64비트로 평문을 64비트 단위로 암호화를 수행하여 64비트의 암호화 문서를 생성하며, 키 길이는 64비트이지만 패리티 비트가 8비트 추가되어 실제 키 길이(=암호화 강도)는 56비트임
*** 패리티 비트: 정보 전달 과정에서 오류가 생겼는지를 검사하기 위한 추가적인 비트
- 구조적인 취약점은 발견되지 않았으나 현재의 컴퓨팅 환경에서는 너무 짧은 길이 때문에 무차별 공격 방식으로 암호를 해독할 수 있기 때문에, 현대의 신규 암호화 문서 생성에는 사용 금지
- AES (Advanced Encryption Standard)
- DES 이후 대칭키를 쓰는 블럭 암호. 한국어로 고급 암호화 표준
- 현재 가장 보편적으로 쓰이는 암호화 방식이며 현 미국 표준 방식
- 128~256비트 키를 적용할 수 있어 보안성이 뛰어남
2) 비대칭키 (공개키) 방식
- 특징: 암호화 키와 복호화 키가 구분. 하나의 키는 공개키로 사용
- 장점: 키 배송의 문제를 근본적으로 차단하여 안전성이 높음
- 단점: 대칭키(비공개키) 방식에 비해 느린 속도
비대칭키의 대표적 알고리즘
- RSA
- 공개키 암호 시스템의 하나로, 두 개의 키를 사용
- 소인수 분해를 활용한 알고리즘
- 전자서명이 가능한 최초의 알고리즘
2. 단방향 알고리즘
암호화는 수행하지만 복호화가 불가능한 알고리즘. 해싱(hashing)을 이용해 평문을 암호문으로 암호화 하는 것은 가능하지만 암호문을 평문으로 복호화하는것은 불가능
- 특징: 암호화 키와 복호화 키가 다름. 주로 Hash 기법을 사용
- 장점: 키 배송 문제가 발생하지 않음
- 단점: 현저하게 느린 속도. 때문에 현실적으로는 비대칭형 암호를 이용해 대칭형 암호의 키를 배송하고 실제 암호문은 대칭형 암호를 사용하는 등 상호보완적으로 이용하는 것이 일반적
- 사용 예시
패스워드의 경우 단방향 암호로 저장하는 것이 안전함. 암호화된 패스워드가 유출되어도 이를 통해 원래의 패스워드를 복원할 수 없고, 패스워드를 검증할 때에는 입력값을 암호화하여 암호화한 값끼리 비교
암호학적 해시 함수의 종류
- SHA-256
- 1993년부터 미국 NSA가 제작하고 미국 국립표준기술연구소(NIST)에서 표준으로 제작한 해쉬 암호 알고리즘
- SHA-3
- SHA-2를 대체하기위해 미국 국립표준기술연구소가 2015년 8월에 발표한 암호화 해시 함수
- MD5
- 임의의 길이의 값을 입력받아서 128비트 길이의 해시값을 출력하는 알고리즘
- 단시간 내에 충돌값을 찾아낼 수 있으므로 현재는 안전하지 않음
출처: