먼저, 해싱 과 간에 차이가 있습니다. 암호화 . SHA256은 암호화 기능이 아니라 해싱 기능입니다.
둘째, SHA256은 암호화 기능이 아니므로 해독 할 수 없습니다. 당신이 의미하는 것은 아마도 그것을 뒤집는 것입니다. 이 경우 SHA256은 “ 단방향 함수 이기 때문에 되돌릴 수 없습니다. 되 돌리면 가 발생합니다. 사전 이미지 공격 은 설계 목표를 무너 뜨립니다.
세 번째로 SHA256 확인은이를 다시 계산하고 결과를 당면한 결과와 비교하는 방식으로 작동합니다. 두 결과가 일치하면 확인이 성공한 것입니다. 이론적 배경은 동일한 해시 결과를 제공하는 다른 입력을 찾는 것이 어렵다는 것입니다. 이를 위반하면 second-preimage 공격 이 발생하여 설계 목표를 무효화합니다.
마지막으로 디지털 서명 은 단순한 해시 및 키 조합이 아닙니다. 그러나 해시 함수는 보안을 향상시킬 수 있습니다.
SHA256은 암호화 기능이 아니라 해시 함수 . 근본적인 차이점은 암호화는 양방향 함수 (키 제공)이지만 해시는 단방향 함수일뿐입니다. 일부 데이터가 주어지면 해시를 계산할 수 있으며 해시가 주어지면 데이터를 다시 가져 오는 것이 어렵고 (수학적으로 불가능합니다) .
일반적으로 해시 함수에는 작은 공동 도메인 (예 : SHA256의 경우 256 비트)이 있지만 큰 도메인 (모든 문자열을 해시 할 수 있음)이 있기 때문에 해시에서 데이터를 찾는 것이 수학적으로 불가능하다고 말했습니다. 충돌이있을 것입니다 : 동일한 해시를 가진 다른 문자열.
이러한 이유로 암호가 해시 된 형식으로 저장되면 계정을 잠금 해제하는 무한 암호 (하지만 매우 길 수 있음)가 있습니다.
좋은 소식은 암호 해시 함수 를 사용할 때 충돌이 거의 발생하지 않으므로 계정이 여전히 안전하다는 것입니다.
질문의 첫 번째 부분에 답하면 데이터 검증이 쉽습니다. Alice가 해시 체크섬이있는 파일을 Bob에게 보내면 Bob은 t의 해시를 쉽게 계산할 수 있습니다. 그는 그가받은 파일을 Alice로부터받은 해시와 비교합니다. 이것은 일반적으로 전송 중에 오류가 있었는지 확인하기에 충분하지만 (따라서 파일이 손상됨) 해시를 변경 한 일부 공격자가 전송을 변경 한 경우에는 충분하지 않습니다. 따라서 Alice와 Bob은 해시를 전송하기위한 보안 채널 (예 : 유효한 인증서가있는 https 페이지) 또는 어떤 식 으로든 해시에 서명해야합니다.
두 번째 질문에 대한 답으로 이동합니다. Alice는 Bob에게 전송하기 전에 개인 키를 사용하여 해시합니다. 이렇게하면 공격자가 서명을 무효화하지 않고는 “변경할 수 없습니다.
이제 Alice가 자신의 RSA (또는 유사한) 키로 만 서명하는 이유를 물어볼 수 있습니다. RSA를 계산하는 것이 해시를 계산하는 것보다 느리기 때문입니다 (따라서 그녀는 작은 문자열 인 해시에서만 느린 작업을 수행해야합니다). 이것은 특히 PGP가 생성되고 컴퓨터가 느릴 때 사실입니다.