본문 바로가기
정보 보안/블록체인

암호화폐의 해싱

by tryotto 2020. 2. 27.

# 해싱


- 해싱의 장점

     1) 어떤 입력값에도, 고정된 길이의 해시값 출력

ex) "안녕"    ->  z1x2c3

    "안녕하세요 제 이름은 김상윤입니다" ->  f4g5h6

>> 두 개의 입력값에 대한 해시 값 길이는 일치한다

     2) 눈사태 효과 : 입력값이 조금만 달라져도 전혀 다른 결과물이 나온다

ex) "hello" -> q1w2e3, "hello?" -> a4s5d6

     3) (눈사태 효과때문에) 따라서, 해시 값을 이용해서 입력값을 추측하는 것이 불가능하다



- 해싱 충돌 가능성?

     - 아~주 희박

     - 해싱의 성능 : 충돌의 발생 가능성이 적을수록, 좋은 해싱 함수다!







# 암호화 해시 함수

cryptographic hash function



- 다음의 세 가지 조건을 만족시키는 해시 함수를 의미 :

    1) 역상 저항성(preimage resistance): (해시값 이용 -> 입력값 찾기) 가 어렵다

    2) 제 2 역상 저항성(second preimage resistance): (해시 값 그대로 + 입력값 수정) 이 어렵다 = 입력값 수정시 해시값은 반드시 변한다

    3) 충돌 저항성(collision resistance): 해시 충돌에 대해 안전 -> 같은 해시 값을 생성하는 두 개의 입력값을 찾는 것 어려움


- 의의 : 외부 침입자가 다른 사람의 입력값을 수정하는 공격을 할 경우, 해시값이 반드시 변한다

    -> 검증 과정에 응용 : 해시값이 변했을 경우, 입력값에 공격을 가했다고 간주


- 대표적인 함수 : MD5, SHA-1 (지금은 대체됨)


- 취약점 : 암호학적 공격이 일부분 가능한듯.



'정보 보안 > 블록체인' 카테고리의 다른 글

화폐의 3대 조건 & 블록체인 트릴레마  (0) 2020.03.12
블록체인 해킹 사례  (0) 2020.03.08
채굴이란?  (0) 2020.02.27
채굴의 구체적 과정  (1) 2020.02.27
합의 알고리즘  (0) 2020.02.27