Hash Function, Hash Algorithm   해쉬 함수, 해시 함수, 해쉬 알고리즘, 해시 알고리즘

(2017-12-11)

Hash Value, 해쉬 값, 해시 값

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
정보보호/보안 > [정보보호관리]
[정보보호(기타일반)]
[보안공격]
[암호기술]
[네트워크보안]
[인증]
암호기술 >   1. 암호
  2. 암호 관련 주요 용어
[고전 암호]
[주요 암호화 방식]
[대칭 암호]
[비대칭 암호]
[메세지 인증 & 해쉬 함수]
[암호키 관리]
메세지 인증 & 해쉬 함수   1. 메세지 인증
  2. 해쉬 함수
  3. MD-5/MD-4
  4. SHA

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
정보보호/보안 > [정보보호관리]
[정보보호(기타일반)]
[보안공격]
[암호기술]
[네트워크보안]
[인증]
인증 >   1. 인증(Authentication)
[주요 인증도구]
[사용자 인증]
[메세지 인증]
[인증 프로토콜]
[인증 인프라 (PKI)]
메세지 인증   1. 메세지 인증
  2. 메세지 축약
  3. 메세지 인증 코드
  4. 해쉬 함수

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
정보보호/보안 > [정보보호관리]
[정보보호(기타일반)]
[보안공격]
[암호기술]
[네트워크보안]
[인증]
인증 >   1. 인증(Authentication)
[주요 인증도구]
[사용자 인증]
[메세지 인증]
[인증 프로토콜]
[인증 인프라 (PKI)]
주요 인증도구   1. 디지털 서명
  2. 인증서
  3. 해쉬 함수
  4. 메세지 인증 코드

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램,프로그래밍
[프로그래밍 언어론]
[구조적 프로그래밍]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
알고리즘 >   1. 알고리즘
  2. 알고리즘 설계
  3. 계산 복잡도
  4. 하노이 탑
  5. 순서도
  6. 재귀 호출
[알고리즘 종류]
알고리즘 종류 >   1. 알고리즘 분류
  2. 그래프 알고리즘
  3. 최대 최소 구하기
  4. 유클리드 알고리즘
[정렬 알고리즘]
[검색 알고리즘]
검색 알고리즘   1. 탐색 알고리즘
  2. 해싱 탐색
  3. 해쉬 생성

1. 해쉬 함수 (Hash Function)/해쉬 알고리즘 (Hash Algorithm)

  ㅇ 임의 길이의 메세지를 일정 고정 길이의 해쉬 값으로 변환시켜주는 단방향성 함수/알고리즘

  ㅇ [용어의미]
     - 단방향성 (One-way) 
        . 결과값으로는 입력 값을 알 수가 없는 또는 알기가 어려운 성질
     - 해쉬 값 (Hash Value)
        . 단방향성 해쉬 함수의 출력 값
        . 때론, `Fingerprint`,`메세지 다이제스트(Message Digest)` 이라고도 함


2. 해쉬 함수/알고리즘의 주요 응용

  ㅇ 주로, 메세지(중요 정보)의 무결성 확인
  ㅇ 디지털서명의 생성
     - 메세지에 대한 디지털서명이 아니고, 그 해시 값에 대해서 만 디지털 서명을 함
  ㅇ 메세지인증코드의 생성
     - 메세지 내용의 무결성 확인 (변경 검출) 및 메세지 송신자가 진짜인지 인증 (인증 확인)
  ㅇ 일회용 패스워드(OTP)의 생성
  ㅇ 세션 키 도출 
  ㅇ 소프트웨어 배포시 변경 검출


3. 해쉬 함수 표현

  ㅇ 임의의 길이를 가진 메세지를 (입력 : 메세지),  
     일정한 고정 길이의 해쉬 값/다이제스트/축약 으로 (출력 : 해쉬값),  
     변환시켜 그 결과값을 역산할 수 없게하는 단방향성 함수
     

     - 해쉬 함수는 입력 키 이외 별도의 키 가 필요 없음


4. 해쉬 함수의 주요 요구 사항

  ㅇ 임의 길이 메세지가 고정 길이의 해시값을 계산해낼 것
  ㅇ 쉽게 계산이 가능해야 함

  ※ 주요 기본 성질 셋(3)
     - 해시 값으로부터 입력 값을 찾아낼 수 없음 (역상 저항성, 일방향성)
     - 해시 값이 일치할 것 같은 또다른 입력 값을 찾아낼 수 없음 (두번째 역상 저항성)
     - 해시 값이 같은 임의의 두 입력 값을 찾아낼 수 없음 (해시 충돌 저항성)

 
5. 해쉬 알고리즘 (Hash Algorithm) 구현

  ㅇ 임의의 길이의 비트 열을 고정된 길이의 출력 값인 해쉬 코드손실 압축시킴
     - 암호 응용 例) ☞ MD5, SHA 참조

  ㅇ 해쉬 함수 구현 例
     - 나눗셈법 :  h(k) = k mod m
        . 키 값 k를 해쉬테이블 원소 개수 m으로 나눈 나머지를 해쉬값으로 함 
     - 곱셈법
     - 유니버설 해싱법 등

  ㅇ 해쉬값 충돌 상존
     - 계산결과로써 사용가능한 해쉬값 보다 입력 키 값 개수가 더 크므로 충돌 발생이 가능


[메세지 인증 & 해쉬 함수] 1. 메세지 인증 2. 해쉬 함수 3. MD-5/MD-4 4. SHA

 
        최근수정     요약목록     참고문헌