블록체인에서 보안은 매우 중요함.
따라서 솔리디티는 Keccak256 이라는 강력한 해시 함수를 내장하고 있음.
참고 :
Git의 커밋번호를 생성할 때 쓰는 해시 알고리즘은 SHA-1, Keccak256 은 SHA-3 를 사용한다고 함. (조사가 더 필요할듯)
keccak256("aaaab");
//6e91ec6b618bb462a4a6ee5aa2cb0e9cf30f7a052bb467b0ba58b8748c00d2e5
keccak256("aaaac");
//b1f078126895a1424524de5321b339ab00408010b7cf0e6ed451514981e58aa9
- 문자의 끝을 b 에서 c 로만 바꿨을 뿐인데 해시값이 완전히 달라졌음.
- C++ 등 다른 프로그래밍 언어에서는 현재 시각 등 추측할 수 있는 값을 난수의 시드(seed)로 삼음.
- Keccak256 함수는 난수 충돌이 일어날 확률이 매우 희박한 안전한 난수를 생성함.
암호화 해시 함수(cryptographic hash function)란?
- 해시 함수의 일종으로, 해시 값으로부터 원래의 입력값과의 관계를 찾기 어려운 성질을 가지는 경우를 의미함.
- 가장 널리 사용되는 해시 함수에는 MD5와 SHA-1이 있으나, 이들은 안전하지 않다는 것이 알려져 있음.
'Incognito Project' 카테고리의 다른 글
[Incognito Project] 개발 환경 셋팅 (0) | 2022.09.24 |
---|---|
[Incognito Project] 이더리움 2.0 전환 (0) | 2022.09.24 |
[Incognito Project] 솔리디티 문법 03 - mapping 과 msg.sender (0) | 2022.09.24 |
[Incognito Project] 솔리디티 문법 02 - 함수 (0) | 2022.09.24 |
[Incognito Project] 솔리디티 문법 01 - 자료형과 연산 (0) | 2022.09.24 |