하지만 장면을 인터넷 대화방으로 옮기면 A 와 B 도 동전 던지기 게임을 합니다. B 는 동의하지 않을 것으로 예상됩니다. A 가 동전을 던지면 B 가 알아맞힐 것이기 때문입니다.
정면 또는 뒷면, A 는 B 가 틀렸다고 말할 수 있다.
이 문제를 어떻게 해결합니까? 동전 던지기 결과를 먼저 암호화한 다음 B 가 추측하지 않는 이유는 무엇입니까? 이 방법은 시도해 볼 수 있다.
임의의 홀수가 동전의 앞면을 나타내고 짝수가 뒷면을 나타낸다고 가정해 봅시다. A 는 숫자 375 를 생각하고 숫자 258 을 곱해서 B 결과가 96750 이라고 알려주며 A 가 375 를 하나의 키로 생각하고 그가 보관한다고 선언했다.
결과를 검증할 때, A 는 258 이 그가 원하는 숫자라고 거짓말을 할 수 있고, 375 가 관건이며, A 는 여전히 무적이다. A 가 B 키를 미리 알려주면요? B 는 원래 수를 직접 계산하여 기밀성을 잃을 수 있습니다.
암호화 방법과 암호 해독 방법을 모두 아는 이 방법은 분명히 통하지 않는다. 암호화 방법을 알고 원문을 회복할 수 있는 방법이 있습니까?
분명히 있습니다. 암호화 과정에서 되돌릴 수 없는 작업을 추가할 수 있습니다. A 새로운 암호화 방법 설계:
A 가 원하는 아이디어 수가 375 이고 암호화를 수행한다고 가정해 봅시다.
B 는 120943 의 결과를 얻었지만 120943 에 따라 키 375 를 거의 계산할 수 없었다.
B 가 a 가 거짓말을 하고 있는지 확인하려는 경우:
우리는 마침내 동전을 던질 수 있게 되었다 ...
일부 정보가 손실되는 이러한 암호화 방법을 "단방향 암호화" 또는 해시 알고리즘이라고도 합니다.
한 가지 질문이 있습니다.
이것은 가능하지만, 위의 알고리즘의 난이도를 증가시켜 해결할 수 있으므로 A 를 찾기가 매우 어렵다.
위의 진술에 따르면 신뢰할 수 있는 해시 알고리즘은 다음 요구 사항을 충족해야 합니다.
암호학의 해시 함수에는 충돌 방지, 원본 이미지의 비가역성, 어려움 등 세 가지 중요한 특성이 있습니다.
충돌이란 동창 A 가 미리 패리티를 찾아 해시 결과를 일치시키는 것은 불가능하다.
우선 큰 공간의 사우나 뉴스를 작은 공간으로 압축하면 충돌이 있을 것이다. 해시 값의 길이가 256 비트로 고정되어 있다고 가정하면, 1, 2, ... 2 256+1개의 입력 값을 차례로 가져와서 해시 값을 하나씩 계산하면 두 개의 입력 값을 찾아 해시 값을 동일하게 만들 수 있습니다.
한 동창, 이것을 보고 너무 기뻐하지 마세요. 해결할 시간이 있어야 하기 때문에, 그것은 너의 것이다. 왜 그렇게 말하죠?
생일 역설에 따르면 무작위로 두 개의 130+1 입력을 선택하면 99.8% 의 확률이 최소한 한 쌍의 충돌 입력을 찾을 수 있습니다. 그런 다음 해시 길이가 256 인 해시 함수의 경우 충돌 쌍을 찾기 위해 평균 2128 번의 해시 계산이 필요합니다. 컴퓨터가 초당 10000 회 해시 계산을 수행하는 경우 약 10 27 년이 걸려야 128 회 해시 계산을 완료할 수 있습니다.
한 동창, 바람을 피울 생각은 하지 마라, 그렇게 오래 살 수 없을 것 같다. 물론, 컴퓨터의 컴퓨팅 능력이 크게 향상되었다면 가능할 것이다.
그렇다면 성실성의 다른 용도는 무엇입니까?
전송 중에 정보가 변조되지 않은 경우 해시 계산을 실행하여 얻은 해시 값이 원래 해시 값과 다르기 때문에 정보의 무결성을 확인하는 데 사용됩니다.
따라서 블록 체인에서 해시 함수의 충돌 방지를 사용하여 블록과 트랜잭션의 무결성을 확인할 수 있습니다.
하나의 해시가 무수한 명문에 해당하기 때문에, 이론적으로 너는 어느 것인지 모른다. 4+5=9 와 2+7=9 의 결과와 마찬가지로, 내가 입력한 결과가 9 라는 것을 알고 있지만, 내가 입력한 숫자가 무엇인지 알 수 있습니까?
메시지 M 을 해시할 때 임의 접두사 R 을 도입하면 해시 값 H(r||m) 에 따라 메시지 M 을 복구하기 어렵습니다. 즉, 메시지 M 이 해시 함수 값에 의해 숨겨집니다.
그래서 학생 B 는 결과를 근거로 원시 데이터를 추론할 수 없다. 마치 바다에서 바늘 찾기와 같다.
친화성 문제는 특별한 요구 사항을 충족하는 해시 값을 생성하는 편리한 방법이 없다는 것을 의미합니다. 그게 무슨 뜻이에요? 일반적으로 지름길은 없고 차근차근 해야 한다. 원하는 해시 결과가 몇 개의 0 으로 시작하는 경우 처음 세 개의 0 이 있는 해시 값과 처음 여섯 개의 0 이 있는 해시 값을 찾는 데 필요한 해시 계산 횟수는 숫자입니다.
이것을 어떻게 사용할 수 있습니까? 블록 체인에서 알고리즘의 작업 로드를 * * * 식별하는 증명으로 사용할 수 있습니다.
이 문서에서는 해시 함수의 세 가지 중요한 특성인 충돌 방지, 원본 이미지의 비가역성 및 난이도 친숙성에 대해 설명합니다.
이러한 중요한 특성으로 인해 블록 체인의 블록 및 트랜잭션 무결성 검증 및 * * * 인식 알고리즘의 작업 로드 증명 등의 기능은 모두 해시 함수를 통해 구현됩니다.
[1]. 장해녕 조군. 블록 체인 기술 가이드 [M]. 베이징: 기계출판사, 20 16. 1 1.
[2]. 한풍 만리장성. 디지털 통화에서 신용 사회로의 블록 체인 [M]. 베이징: 중신 출판사, 20 16.7.
[3]. 장건. 블록 체인은 미래의 새로운 금융 및 경제 구조 [M] 를 정의합니다. 베이징: 기계공업출판사, 20 16.6