암호화 해시 함수는 암호화에 사용되는 숫자 함수입니다. 암호화 해시 함수는 해시 함수의 메시지 전달 기능을 보안 기능과 통합합니다.
해시 함수라는 용어는 컴퓨터 과학에서 꽤 자주 사용되어 왔으며 임의의 입력 문자열을 안정된 길이의 문자열로 압축하는 함수로 정의합니다. 그러나 몇 가지 요구 사항을 더 만족하면 암호 응용 프로그램에 사용할 수 있으며 암호 해시 기능이라고 합니다.
암호화 해시 기능은 암호화 분야에서 가장 필수적인 도구이며 진위성, 디지털 서명, 의사 번호 생성, 디지털 스테가노그래피, 디지털 타임 스탬프 등과 같은 여러 보안 목표를 관리하는 데 사용됩니다.
해시 함수는 어떤 길이의 메시지를 입력으로 받아 해시 값, 메시지 다이제스트, 체크섬 또는 디지털 지문으로 알려진 고정 길이 출력으로 변경하는 함수입니다.
해시 함수는 함수 f:D -> R이며, 여기서 도메인 D ={0, 1}*, 이는 도메인의 요소가 가변 길이의 이진 문자열을 포함함을 정의합니다. 일부 n>=1에 대해 범위 R ={0, 1} n, 이는 범위의 요소가 고정 길이의 이진 문자열임을 정의합니다. 따라서 f는 임의의 크기의 입력 메시지 M을 생성하고 크기 n의 고정 길이 해시 결과 h를 생성하는 함수입니다.
해시 함수 f는 도메인 D가 유한할 때 압축 함수로 정의됩니다. 즉, 함수 f가 고정 길이 메시지를 입력으로 받아 더 짧은 고정 길이 출력을 생성하는 경우입니다.
암호화 해시 함수의 속성
해시 함수의 다양한 속성은 다음과 같습니다 -
-
주어진 데이터에 대한 해시를 계산하는 것은 매우 간단합니다.
-
모든 크기의 정보 블록을 입력으로 받아들여야 합니다.
-
고정 길이 출력을 만들어야 합니다.
-
결정론적이고 효율적으로 재현할 수 있으면서 임의의 함수처럼 작동해야 합니다.
-
임의의 길이를 입력받아야 하고 고정 길이의 임의의 문자열을 출력해야 합니다.
-
유사한 입력에 대해 H는 계속해서 동일한 출력을 만들어야 합니다.
-
메시지 M이 주어지면 해당 다이제스트를 간단히 계산할 수 있습니다. 여기서 h는 다항식 시간 O(n)에서 계산할 수 있습니다. 여기서 n은 입력 메시지의 길이입니다.
-
메시지 다이제스트 h가 주어지면 H(M) =h가 되도록 M을 발견하는 것은 계산적으로 복잡합니다. 이것은 단방향 또는 사전 이미지 저항 속성으로 알려져 있습니다. 주어진 해시 값에서 메시지를 찾는 것은 적용되지 않습니다.
-
메시지 M1이 주어지면 H(M1) =H(M2)인 다른 메시지 M2 ≠ M1을 발견하는 것은 계산적으로 불가능합니다. 이를 약한 충돌 저항 또는 두 번째 사전 이미지 저항 기능이라고 합니다.
-
H(M1) =H(M2)와 같은 고유한 메시지 집합(M1, M2)을 찾는 것은 계산상 불가능합니다. 이것은 강한 충돌 저항 속성으로 정의됩니다.