Search

1장 - 블록체인의 정의와 구성, 해시함수

대분류
블록체인
소분류
Blockchain - 그라운드X
유형
해시함수
최종 편집 일시
2024/10/29 07:55
생성 일시
2022/07/28 14:18
15 more properties

블록체인

정보를 블록이라고 하는 단위로 저장하여 저장된 블록들을 체인 형태로 묶은 저장 기술

해시함수 (Hash Function)

임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수
{ 해시, 해시 값, 해시 코드 } = 해시 함수에 의해 얻어지는 값
데이터를 X, 해시함수를 H라고 표기할 때 해시를 H(X)로 표기
산업에서 가장 널리 쓰이는 해시 함수는 SHA-2 (e.g., SHA-256), SHA-3 (e.g., Keccak)
MD5(Message-Digest algorithm 5)와 SHA의 차이 속도 MD5 보안성 SHA MD5는 값이 중복되는 "Collision" 문제도 나타나기 때문에 SHA를 권장하는 추세
SHA(Secure Hash Algorithm)-256
임의의 길이 메시지를 256 비트(bits)의 축약된 메시지로 만들어내는 해시 알고리즘
import hashlib string1 = "hello" result1 = hashlib.sha256(string1.encode()).hexdigest() print(result1) string2 = "hello!" result2 = hashlib.sha256(string2.encode()).hexdigest() print(result2)
Python
복사

Rules

1.
하나의 데이터에서 오직 단 하나의 해시가 도출
2.
임의의 데이터 X와 Y가 있을 때 hash값 H(𝒳)
a.
if X == Y then H(X) == H(Y)
b.
if X != Y then H(X) != H(Y)
c.
if H(X) == H(Y) then X == Y

예제 1

예제 2

이 때 두 해시 함수 모두 256 비트 길이의 해시를 생성한다.