Hash   해시, 해쉬

(2023-05-25)

Hash Value, 해쉬 값, 해시 값, Hash Collision, 해쉬 충돌, 해시 충돌, 해쉬값 충돌


1. 해시 (Hash) 이란?

  ㅇ ①  다진(뒤범벅된) 고기 요리
  ㅇ ②  우물 정자 (#, 해시 태그)
  ㅇ ③  긴 메세지를 뒤섞어 (정리하여) 고정 길이의 값으로 바꿈


2. 해시 관련 용어들해시 함수 (Hash Function) / 해시 알고리즘 (Hash Algorithm)
     - 임의 길이의 메세지를 일정 고정 길이의 해시 값으로 변환시켜주는,
       단방향성 함수/알고리즘

     - [참고 용어]
        . 단방향성,일방향성 (One-way) 
           .. 결과값으로는 입력 값을 알 수가 없는 또는 알기가 어려운 성질
        . 프리 이미지 (pre-image)
           .. 단방향성 해시 함수의 입력 값

  ㅇ 해시 값 (Hash Value)
     - 단방향성 해시 함수의 출력 결과 값
        . 때론, `Fingerprint`, `메세지 다이제스트 (Message Digest)` 라고도 함
        . 탐색용일 때는, `해쉬 주소 (Hash Addres)` 라고도 함

  ㅇ 해쉬 충돌 / 해쉬값 충돌 (Hash Collision)
     - 2개의 다른 메세지가 같은 해시값(해시함수 수행 결과)을 갖는 경우

     - 해싱 탐색에서, 해쉬값 충돌 방지 방법
        . 해결 방법 중 하나로는, 이미 할당된 해쉬값 위치 다음의 빈 위치에 할당하는 등

  ㅇ 해쉬 내성 / 해쉬 충돌 내성 (Hash Collision Resistance)
     - 해시 충돌을 발견해내는 것이 어려운 성질
        . 약한 충돌 내성
           .. 주어진 해시값을 갖는 다른 메시지를 발견해내기 어려운 성질
        . 강한 충돌 내성
           .. 동일 해시값을 갖는 다른 2개 메시지를 발견해내기 어려운 성질

  ㅇ 해쉬 주소 (Hash Address)
     - 해시 함수에 의해, 탐색 키를 입력으로 하여, 생성된 주소해싱표, 해쉬표, 해시 테이블 (Hash Table)
     - 탐색 키 및 해쉬 주소배열로 구현된 테이블
        . 해싱에 이용되는, 일정 크기의 자료구조 (기억공간)
        . 고정된 크기의 자료구조로써, 사전에 그 크기가 미리 정해짐
        . 키를 값에 매핑할 수 있는 자료구조임

  ㅇ 해쉬 맵 (Hash Map)
     - 해시 함수를 이용하여, [키,값]으로 연관(맵)시킨 자료구조

해시
   1. 해시   2. 해시 테이블  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"