해시함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다.
해시함수에 의해 얻어지는 값은 해시값, 해시코드, 해시 체크섬 또는 간단하게 해시라고 한다.
해시함수는 다음과 같은 특징이 존재한다.
다양한 가변길이의 입력에 적용될 수 있어야 하고, 고정된 길이의 출력을 생성하며, 해시 결과값으로 입력값을 계산하는 것은 불가능하다.
그리고 동일한 해시값을 갖는 서로 다른 메시지 쌍이 없다. 해시함수의 용도 중 하나는 ‘해시 테이블’이라는 ‘자료구조’에서 사용되며, 매우 빠른 데이터 검색을 위한 컴퓨터 소프트웨어에 널리 사용된다.
해시함수는 큰 파일에서 중복되는 레코드를 찾을 수 있기 때문에 데이터베이스 검색이나 테이블 검색의 속도를 올릴 수 있다.
예를 들어, DNA Sequence에서 유사한 패턴을 찾는 데 사용될 수도 있다. 또헌 암호학에서도 사용될 수 있다.
암호용 해시 함수는 매핑된 해싱값만을 알아서는 원래 입력값을 알아내기 힘들다는 사실에 의해 사용될 수 있다. 또한 전송된 데이터의 무결성을 확인해주는 데 사용되기도 하는데, 메시지가 누구에게서 온 것읹 입증해주는 HMAC를 구성하는 블록으로 사용된다.
해시함수는 결정론적으로(deterministic) 작동해야 하기에, 따라서 두 해시값이 다르다면 그 해시값에 대한 원래 데이터들도 달라야 한다(역은 성립하지 않는다).
해시함수의 질은 입력 영역에서의 해시충돌 확률로 걸정되는데, 해시 충돌의 확률이 높을 수록 서로 다른 데이터를 구별하기 어려워지고 검색하는 비용이 증가하게 된다.
==
curl -H
headfile download
md5 checksum 무결성 검증
https://ko.linux-console.net/?p=1891#google_vignette&gsc.tab=0
'시험 > 정보보안기사' 카테고리의 다른 글
[정보보안기사] 디지털 포렌식 (0) | 2023.03.16 |
---|---|
[정보보안기사] 후킹 Hooking (0) | 2023.03.16 |
[정보보안기사] 악성코드 탐지기법 (0) | 2023.03.12 |
[정보보안기사] 메타스플로잇 프레임워크 (0) | 2023.03.12 |
[정보보안기사] 배치 통제(Batch Control) (0) | 2023.03.12 |