대칭키 암호화
대칭키 암호화(Symmetric-key cryptography)는 암호화와 복호화에 동일한 키를 사용하는 암호화 알고리즘에 사용되는 용어이다. 키는 일반적으로 "대칭 키" 또는 "비밀 키"라고 한다.
일반적으로 키가 쌍으로 생성되고 한 키에 의한 변환이 다른 키를 통해서만 되돌릴 수 있는 공개 키 암호화와 비교된다.
대칭키 알고리즘은 올바르게 사용하면 안전하고 효율성이 높아 성능에 부정적인 영향을 주지 않으면서, 대량의 데이터를 암호화하는 데 사용할 수 있다.
단점으로는 보안 문제가 있다. 암호화와 복호화에 같은 키를 사용하기 때문에 키가 유출되었을 경우 보안에 문제가 생길 수 있다. 따라서 키를 상대방에게 안전하게 전달해야 한다.
공개키 암호화
공개키 암호화 방식은 대칭키 암호화 방식의 단점을 극복하기 위해 등장했다. 공개키 암호화 방식은 암호화와 복호화에 사용되는 키다 다르다. 서로 다른 두개의 키를 공개키와 개인키라고 한다.
- 공개키(public key)
- 개인키(private key)
공개키 암호화 방식은 열쇠로 잠겨있고 좁은 투입구가 있는 우편함에 비유할 수 있다. 우편함의 위치만 알면 누구나 편지를 넣을 수 있지만, 열쇠를 가진 사람만이 편지함을 열어 내용을 확인할 수 있다.
공개키 암호화 방식은 대칭키 암호화 방식보다 계산이 복잡하다는 단점이 있기 때문에, 효율을 위해 대칭키 암호화 방식과 함께 사용되기도 한다. 메시지를 임의로 만들어진 비밀키를 이용해 암호화 한 다음 이 비밀 키를 다시 수신자의 공개 키로 암호화하여 메시지와 함께 전송하는 것이다. 이렇게 하면 공개키 암호화 기술로는 짧은 비밀키만을 함호화하고, 보다 효율적인 대칭키 암호화 기술로 전체 메시지를 암호화하므로 양쪽의 장점을 취할 수 있다.
대표전인 공개키 암호화 방식으로는 RSA암호가 있다. RSA암호는 두 개의 큰 소수를 곱한 숫자를 문제로 사용한다. 사용자는 임의의 큰 소수를 두 개 골라 비밀 키로 삼고, 그 곱한 값을 공개 키로 공개한다. 큰 수의 소인수 분해는 대단히 풀기 어려운 문제에 속하기 떄문에 다른 사람들은 비밀 키를 알 수 없을 것이라는 사실이 보장된다. 하지만 최근 이 분야의 연구가 크게 진전되어 RSA의 보안성을 보장하기 위해서는 수천 비트 이상의 큰 소수를 키로 사용해야 한다.
'일기' 카테고리의 다른 글
삼각함수 (0) | 2025.01.14 |
---|---|
로드 밸런싱 (0) | 2025.01.14 |
protobufjs (0) | 2025.01.08 |
Protocol Buffers (0) | 2025.01.07 |
타워 디펜스 프로젝트 (0) | 2025.01.02 |