암호화에서 메시지가 수정되었는지 여부를 확인하기 위해 메시지 해시를 사용하여 무결성을 구현할 수 있다고 들었습니다. 그런 해시가 상대방에게 어떻게 보내 졌습니까? 하나는 메시지와 해시 값을 변경하여 상대방이 메시지가 수정되지 않았 음을 알 수 있습니다 !!무결성을 보장하기 위해 일반 텍스트를 해싱 하시겠습니까?
1
A
답변
1
무결성 또는 기밀성을 확보하기 위해 항상 변조되지 않은 공유 데이터가 필요합니다. 이 공유 데이터는 일반적으로 공유 비밀 키 또는 발신자의 공개 키입니다.
공유 비밀 키를 사용하면 HMAC, 즉 hmac(message, key)
을 사용합니다.
받는 사람이 보낸 사람의 공개 키를 가지고 있으면 보낸 사람은 자신의 개인 키를 사용하여 메시지에 서명 할 수 있으며 (가능한 많은 방법, DSA, RSA 등)받는 사람은 공개 키를 사용하여 메시지의 유래 여부를 확인할 수 있습니다 보낸 사람.
1
해시만으로는 메시지가 변조되지 않았 음을 증명하지 않으며 개인 키를 사용하여 해시에 서명해야하며받는 사람은 공개 키를 사용하여이를 확인할 수 있습니다. 또는 둘 다 공유 암호가있는 경우 HMAC를 사용하여 서명 할 수 있습니다. 아무도 당신의 개인/비밀 키를 가지고 있지 않기 때문에 위조 할 수 없습니다.
귀하의 질문이 너무 일반적입니다. 당신이 핵심 배포에 관해서 생각하는 것처럼 보입니다. 아마도 Wikipedia의 정보가 귀하의 질문에 대한 답변 일 것입니다. http://en.wikipedia.org/wiki/Key_distribution – beyonddc
공유 키가있는 경우 인증 된 암호화를 사용할 수 있습니다.이 암호화에는 메시지 양식이 수정되지 않았는지 확인하기위한 MAC 양식이 포함되어 있습니다. – CodesInChaos