오늘의 질문
대칭키 및 비대칭키 암호화 방식에 대해서 설명해주세요.
정답 확인
암복호화에 사용하는 키가 동일한 경우 대칭키 암호화라고 하고, 암복호화에 사용하는 키가 다른 경우를 비대칭키 암호화라고 한다.
암호의 구성요소
평문 : 암호화하고자 하는 대상
키 : 암복호화에 사용되는 고유한 값
암복호화 알고리즘 : 키 + 평문을 알고리즘에 넣으면 암호문이 완성된다.
암호문
암호 분류
분류 | 종류 | 설명 |
---|---|---|
단방향 암호 | 해시 함수 | 해시 알고리즘을 활용하여 평문을 암호화된 문자열로 바꾼다. 복호화 키가 없으니 완벽하다! 라고 생각할 수 있겠지만… 이미 보안이 뚫린 알고리즘이 다수 있기 때문에 위험하다. 비밀번호에 솔트값을 넣거나(pbkdf2), 해시 함수를 여러번 돌려(bcrypt) 강력한 암호문을 만드는 것이 중요하다. |
양방향 암호 | 대칭키 암호 | 하나의 키를 공유하여 사용한다. 블록 암호, 스트링 암호가 있다. |
- | 비대칭키 암호 | 암호화, 복호화에 사용하는 키가 다르다. RSA 등 암호화 알고리즘이 있다. |
장단점
대칭키 암호화
장점
- 비대칭키 암호화보다 연산량이 적어서 빠르다.
- 대용량 암호화가 가능하다.
단점
- 기밀성 외 기능을 제공하기 어렵다.
- 통신하는 수만큼 키가 필요하기 때문에 키 관리가 어렵다.
비대칭키 암호화
장점
- 기밀성, 무결성, 인증, 부인 방지 기능을 한다. (활용도 높음)
- 키 관리가 편하다.
단점
- 연산량이 많아 느리기 때문에 적은 양의 데이터 암호화에 적합하다.
🔖 참고 자료