기타
비대칭키 암호화와 전자 서명, 해시
citron031
2023. 1. 7. 17:48
비대칭키 암호화
- 비대칭키 암호화는 같은 키로 암호화와 복호화를 한 번에 하는 대칭키 암호화는 다르게, 암호화하는 키와 복호화하는 키가 별도로 존재하는 방법이다.
💨 즉, 대칭키 암호화와는 다르게, 복호화하는 키와 암호화하는 키가 다르다. - 공개키 암호화 방법에 비해서 암호화와 복호화에 시간이 많이 걸리지만, 키 관리가 더 용이한 장점이 있다.
- 공개키는 말 그대로 공개되어도 상관없는 키이며, 개인키만 유출되지 않도록 하면 되는 장점이 있다.
- 일반적으로는 발신자가 수신자의 공개키로 암호화를 하고, 수신자는 자신의 개인키로 복호화하여 메세지를 확인한다.
전자 서명
🌪️ 전자 서명은 데이터의 무결성, 송신자의 신원을 보장하기 위해서 사용한다.
- 전자 서명을 하기 위해서 데이터를 해싱하여 해시값을 생성한 뒤, 이를 개인키로 암호화한다. (송신자)
- 그리고 서버(수신자)에 보내어 수신자가 가진 공개키로 데이터를 복호화하여 성공하면 서명이 유효한 것임을 확인한다.
🍫 공개키로 복호화가 가능하다면, 이는 개인키를 가진 사람이 서명을 했음을 의미한다.
- 복호화가 제대로 이루어졌는지 확인을 위해서 원본 데이터는 보낼 수도 있고, 안보낼 수도 있다.
- 굳이 같이 데이터를 보내지 않고 직접 USB로 원본 데이터를 전달하거나 사전에 미리 정해둘 수도 있다.
- 전자 서명의 데이터는 해시 값으로, 이 해시 값이 일치하는지 확인을 통해서 데이터의 진본 여부를 확인한다.
🥕 해시는 한 글자만 바뀌어도 해시 값은 전체가 변한다. 따라서 데이터가 일치하는지 확인하는데 용이하다. (무결성 검사)
- 해싱은 데이터의 크기에 상관없이 일정한 크기의 비트로 변환한다.
- 해싱은 단방향 암호화 방법이다.
🌽 해시를 사용하여 데이터를 가공하면, 데이터의 크기를 줄이는 효과를 볼 수 있다. 이를 통해서 네트워크 통신 비용을 낮출 수 있다.
- 네트워크로 파일을 보내 진위여부만 확인하고자 한다면, 해싱을 한 데이터를 보내어 비교함으로써 네트워크 사용량을 줄일 수 있다.
- 다만, 해싱을 한 데이터는 다시 원본으로 되돌릴 수 없다. (단방향)
🍪 공개키로 암호화, 개인키로 복호화 --> 비대칭키 암호화
🍪 개인키로 암호화, 공개키로 복호화 --> 전자 서명