본문 바로가기
BlockChain/blockchain

[blockchain] 해시함수

by gamxong 2022. 8. 2.

해싱이란? 

 

해싱은 가변 크기의 입력값에서 고정된 크기의 출력값을 생성해 내는 과정을 의미합니다.

이는 해시 함수(해싱 알고리즘으로 구현됨)라 알려진 수학적 공식을 따라 진행됩니다. 

 

기존의 해시 함수와 암호 해시 함수는 모두 결정론적입니다.

결정론적이라는 것은 입력값이 변하지 않는 한, 해싱 알고리즘은 언제나 동일한 출력값(해시)을 산출해 낸다는 것.

 

일반적으로 암호화폐의 해싱 알고리즘은 일방향 함수로 설계되어 상당한 양의 연산 시간과 리소스 없이는 쉽게 이를 되돌릴 수 없습니다.

즉, 입력값에서 출력값을 생성하는 것은 매우 쉽지만, 반대 방향으로 가는 것(출력값만을 가지고 입력값을 생성하는 것)은 상대적으로 어렵. 일반적으로 입력값을 찾기 어려울수록 해싱 알고리즘은 더욱 안전한 것으로 간주됩니다.

 

 

해시 함수는 어떻게 작동하나요?

 

해시 함수에 따라 크기가 서로 다른 출력값이 생성되지만, 각 해싱 알고리즘 출력값의 크기는 항상 일정합니다.

예를 들어, SHA-256 알고리즘은 256비트의 출력값만을 출력할 수 있으며, SHA-1은 언제나 160비트 다이제스트만을 생성할 수 있습니다.

 

SHA-256 알고리즘을 사용한다면 출력값의 크기는 입력 크기와 관계없이 언제나 256비트(또는 64자)입니다.

또한 해당 알고리즘을 통해 같은 단어를 계속해서 입력해도, 출력값은 동일합니다.

(SHA는 Secure Hash Algorithms(보안 해시 알고리즘)의 약자)

 

 

 

 

 

 

 

 

[출처] https://academy.binance.com/ko/articles/merkle-trees-and-merkle-roots-explained

'BlockChain > blockchain' 카테고리의 다른 글

블록체인을 진정으로 이해하려면..  (0) 2023.04.09
블록체인은 serverless 인가?  (0) 2023.03.11
[JSON-RPC]  (0) 2022.09.08
(1) 블록체인에 대해서  (0) 2022.06.24

댓글