최상의 답변
모든 사람이 서로 다른 지문을 가지고있는 것처럼 마찬가지로 디지털 블록도 동일한 개념을 채택했으며 SHA256 해시라고합니다.
모든 블록에 대해 고유 한 식별자를 생성하는 NSA에서 개발했으며 높은 보안 성과 많은 비밀번호 보호 애플리케이션이 동일한 비밀번호를 사용하는 등 많은 이점이 있습니다.
흥미로운 부분입니다. SHA256은 알고리즘이 완전히 개방되어 있으며 아래 링크를 클릭하여 책의 1 장에서 자세히 읽을 수도 있습니다.
https://www.staff.science.uu.nl/~tel00101/liter/books/CryptCont.pdf
SHA256은 메모리에서 차지하는 비트 수입니다. 해시 값은 64 자이며 [0-9] 및 [A-F] 범위의 알파벳과 숫자가 있습니다. 모든 문자가 4 비트를 차지하므로 => 64 * 4 = 256 비트의 해시 값 정보입니다.
이 해시는 모든 유형의 문서 / 비디오 / gif / 이미지 또는 기타 생각할 수있는 것에 사용할 수 있습니다. 약. 제공된 모든 항목에 대해 고유 한 해시 값을 생성합니다.
데이터에 대한 해시 값을 생성하고 조금 재미있게 배우고 싶다면 여기로 이동하세요. 이제 웹 사이트에 데이터를 추가하려고하면 데이터 길이가 1 자 또는 10M 인 경우 SHA256이 해당 텍스트를 고유하게 식별하고 데이터의 문자 변경으로도 64 자 길이의 해시 값을 제공한다는 것을 알 수 있습니다. 해시 값 변경.
요구 사항과 관련하여 SHA256 알고리즘에 대한 5 가지 요구 사항이 있습니다.
1. 한 가지 방법입니다. 즉, 해시 값에서 데이터를 복원 할 수 없습니다.
2. 즉, 동일한 데이터에 대해 알고리즘을 다시 적용하면 동일한 해시 값을 얻게됩니다.
3. 빠른 계산
4. 눈사태 효과 – 즉, 동일한 데이터를 가져 와서 조금만 변경하면 해시 값이 완전히 달라집니다.
5. 충돌을 견뎌야합니다. 즉, 값이 64 자로 제한되어 있으므로 두 개의 다른 데이터에 대해 해시 값이 동일한 결과를 얻을 수 있습니다.
이것이 SHA256 알고리즘에 관한 것입니다. 자세히 알아 보려면 위에서 제공 한 링크를 확인하세요.
답변
공개-개인 키 개념을 들어 본 적이없는 사람에게 설명하는 것은 쉬운 일이 아닙니다. 저는 항상 개발자들과 함께이 작업을 수행하며 최소한이 작업을 몇 번해야합니다. 당신이 언급하고있는 기사 / 책의 저자는 디지털 서명의 의미를 전달하기 위해 최선을 다하고 있으며 일반적으로 해시가 암호화되었다고 말하는 순간 모든 사람이 길을 잃습니다. 기사 / 책 발췌문은 완전히 사실입니다. 내 말로 설명해 보겠습니다. 공개 키 암호화 (일명 비대칭 암호화) 내가 누구도 읽지 못하도록하는 문자 / 이메일을 보내려면 a) 공개 키를받을 것입니다. b) 데이터를 암호화합니다. c) 전송합니다. 당신은 수신, 당신은 개인 키를 가진 유일한 사람입니다 a) 당신은 당신의 개인 키로 데이터를 해독 할 것입니다 당신은 해독 할 수 있으므로 이제 텍스트를 읽을 수 있습니다. 이제 내가 보내는 것이 매우 중요하다고 가정합시다 (계약이라고 말할 수 있습니다 무언가를 고용하거나 구입하거나 지불하기로 동의) 해독 된 텍스트가 실제로 보낸 것이 무엇인지 증명합니까? 보낸 사람 이메일에 나에게서 온다고하더라도 나는 간단히 마음을 바꾸고 내가 보낸 적이 없다고 주장 할 수 있습니까? 그래서 질문이 필요합니다. “메시지의 무결성을 어떻게 확인합니까?”라는 질문이 있습니다. “올바른 사람”이 보낸 것인지 어떻게 알 수 있습니까? 메시지 다이제스트 : 일반적으로 MD5 (더 이상은 아님) SHA1을 사용하여 “단방향 해시”를 계산하여 확인합니다. SHA2 등. 오픈 소스 소프트웨어를 다운로드하면 항상 메시지 다이제스트 값이 표시됩니다. 소스 코드를 정말로 알고 싶다면 yo u 다운로드는 “누구에 의해 수정되지 않습니다, 당신은 파일의 해시를 다시 계산해야합니다. 이것은 두 파일이 동일하다는 것을 증명합니다. (오픈 소스 사이트에 업로드 한 파일과 다운로드 한 파일) 이제 내 텍스트의 해시를 계산하여 따로 보내면 메시지가 나에게서 왔다고 생각하십니까? (이전 예 .. 고용 계약 등)? “나처럼 스푸핑”메시지를 보낼 수있는 사람은 누구나 해시를 보낼 수 있습니다. 이제 내 디지털 서명 또는 무결성. 그것이 나에게서 왔다는 것을 증명할 수있는 유일한 방법은 그것으로 무언가를하기 위해 개인 키의 “소유”를 가져야한다는 것입니다. 내가 할 수있는 일이 당신에게 증명 될 것입니다 .a) 메시지가 누구에게도 수정되지 않았습니다 (시간당 $ 100에 고용되었다고 말했지만 메시지를 $ 50 또는 $ 200로받는 경우) b) 실제로 저에게서 왔으며 되돌릴 수 없습니다 내 말 c) 검증 할 수 있어야합니다. 메시지가 깨끗하고 변조되지 않았으며 올바른 사람이 보낸 것입니다. 솔루션은 디지털 서명입니다. 다시 사용 사례 : 중요한 데이터 (예 : 고용 또는 구매 계약)가있을 수있는 메시지를 귀하에게 보내고 있으며 그 데이터가 저로부터 왔는지 그리고 아무도 데이터를 수정하지 않았는지 확인하고 싶습니다. a) 메시지를 받아 단방향 해시 (메시지 다이제스트)를 생성합니다. -SHA1 (예) b) 단방향 해시를 사용하여 개인 키를 사용하여 서명을 생성합니다. 이것은 개인 키가 있음을 증명합니다.참고 : 여기서는 ENCRYPT라는 단어를 사용하지 않습니다. 서명이 “서명”을 생성하기 위해 (해시 값, 개인 키)를 사용하는 알고리즘 또는 방법이라고 생각하는 것이 없습니다. c) “Signature”-Receiver와 함께 메시지를 보냅니다. 메시지를 수신 할 때 아무도 수정하지 않았는지 확인하고 (따라서 동일한 Digest 알고리즘 SHA1을 사용하여 HASH 값을 다시 생성) 이번에는 동일한 서명 알고리즘을 사용합니다. with Public key (그것이 당신이 가지고있는 것) Signature (Hash (original message), Public key) 이것은 당신에게 Signature와 함께 메시지를 보낼 때 생성 된 것과 동일한 값을 제공해야합니다. 이제 메시지의 무결성이 손상되지 않았 음을 증명할 수 있습니다 (데이터가 변경되면 다이제스트 값이 변경되므로 서명 값이 변경됨). VPN의 경우 서명 값으로 태그가 지정된 패킷입니다. 지금이 조합에 암호화를 추가하겠습니다. 다른 사람이 메시지를 읽지 않기를 원하는 경우 (..Siganture를 사용하면 계약을 $ 100에 고용하도록 변경할 수는 없지만 제가 $ 100를 제안한다는 사실은 읽을 수 있습니다.) 내 데이터를 가져 가면 “암호화”합니다. Your “공개 키”YORU “비공개 키로 메시지와 DECRYPT를 받게됩니다. 도움이되기를 바랍니다.