EPguy

RSA 알고리즘과 AES 알고리즘을 혼합하여 사용하는 이유 본문

개발/기타

RSA 알고리즘과 AES 알고리즘을 혼합하여 사용하는 이유

EPguy 2024. 5. 24. 13:06

RSA는 암복호화에 사용되는 키가 서로 다르다는 장점이 있지만, 대칭키 알고리즘에 비해 암호화 속도가 느리다는 단점이 있다. 때문에 다량의 데이터를 암호화 하거나, 매 통신마다 RSA 암호화를 해버리면 속도 저하를 초래할 수 있게된다.

 

따라서 실제 데이터를 암복호화 할 때는 AES 알고리즘을 사용하게 되는데, 암복호화의 사용되는 키가 똑같다는 단점을 보완하기 위해 RSA의 공개키로 AES 대칭키를 암호화하여 사용한다.

 

프로세스는 아래와 같다.

1. 서버는 RSA 알고리즘을 사용하여 개인키와 공개키를 생성한다.

2. 클라이언트는 서버한테 공개키를받는다.

3. 클라이언트는 대칭키를 생성하고, 받은 공개키로 대칭키를 암호화한다.

4. 클라이언트는 암호화된 대칭키를 서버에 전송하여 키 합의를 한다.

5. 클라이언트는 대칭키로 전송할 데이터를 암호화하여 서버에 보낸다.

6. 서버는 개인키를 사용하여 대칭키를 복호화 한후 해당 키로 데이터를 복호화한다.

 

 

RSA와 AES 알고리즘을 혼합하는 것은 서로의 단점을 보완하기 위함이다.

구현이 어려울 순 있지만 보안과 성능을 확보할 수 있다는 장점이 있다.