# 해싱
- 해싱의 장점
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 |