이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
해시 함수는 임의 크기의 데이터를 고정 크기의 데이터에 매핑하는 데 사용할 수 있는 함수입니다. 해시 함수에 의해 반환되는 값은 해시 값, 해시 코드, 다이제스트 또는 간단히 해시라고 합니다. 해시 함수는 현대 암호화의 기본 부분입니다. 또한 효율적인 데이터 조회가 중요한 다른 많은 응용 프로그램에서도 널리 사용됩니다.
해시 함수는 임의 크기의 데이터를 고정 크기의 데이터에 매핑하는 데 사용할 수 있는 함수입니다. 해시 함수에 의해 반환되는 값은 해시 값, 해시 코드, 다이제스트 또는 간단히 해시라고 합니다.
해시 함수는 현대 암호화의 기본 부분입니다. 또한 효율적인 데이터 조회가 중요한 다른 많은 응용 프로그램에서도 널리 사용됩니다.
해시 함수는 데이터 조각을 입력으로 사용하고 해시 값을 출력으로 생성합니다. 입력 데이터는 임의의 크기일 수 있지만 출력 해시 값은 항상 고정 크기입니다.
입력 데이터는 종종 메시지라고 하며 출력 해시 값은 종종 메시지 다이제스트 또는 단순히 다이제스트라고 합니다.
암호화 해시 함수는 암호화 공격에 강한 해시 함수입니다. 즉, 동일한 해시 값을 생성하는 두 개의 서로 다른 데이터 조각을 찾기가 어렵습니다.
암호화 해시 함수는 디지털 서명, 메시지 인증 코드 및 기타 보안 응용 프로그램에 사용됩니다.
비암호화 해시 함수는 암호화 공격에 내성이 없는 해시 함수입니다. 즉, 동일한 해시 값을 생성하는 두 개의 서로 다른 데이터 조각을 쉽게 찾을 수 있습니다.
비암호 해시 함수는 해시 테이블 및 디지털 콘텐츠 배포와 같은 데이터 구조에 사용됩니다.
해시 함수는 모든 프로그래밍 언어로 구현할 수 있습니다. 가장 일반적인 해시 함수는 C 프로그래밍 언어로 구현됩니다.
좋은 해시 함수는 다음 속성을 가져야 합니다.
해시 함수에는 두 가지 유형이 있습니다.
해시 함수는 다음 응용 프로그램에서 사용됩니다.
해시 테이블은 키-값 형식으로 데이터를 저장하는 데 사용되는 데이터 구조입니다. 키는 데이터를 인덱싱하는 데 사용되며 값은 저장된 데이터입니다.
해시 테이블은 해시 함수를 구현하는 데 사용됩니다. 해시 테이블의 키는 입력 데이터이고 값은 출력 해시 값입니다.
해시 테이블은 데이터베이스 및 웹 애플리케이션과 같은 많은 애플리케이션에서 사용됩니다.
해시 함수 충돌은 두 데이터 조각이 동일한 해시 값을 생성하는 경우입니다. 해시 함수 충돌은 피할 수 없지만 드물게 발생해야 합니다.
해시 함수 충돌은 해시 테이블과 같은 해시 함수를 사용하는 응용 프로그램에서 문제를 일으킬 수 있습니다.
해시 함수 충돌을 방지하는 두 가지 방법이 있습니다.
완벽한 해시 함수는 모든 입력 데이터를 고유한 출력 해시 값으로 매핑하는 해시 함수입니다. 완벽한 해시 함수를 찾는 것은 불가능하지만 근사할 수는 있습니다.
해시 함수 공격은 동일한 해시 값을 생성하는 두 개의 데이터 조각을 찾으려는 시도입니다. 해시 함수 공격은 종종 충돌을 찾는 데 사용됩니다.
해시 함수 공격은 암호화 해시 함수에서 충돌을 찾는 데 사용할 수 있습니다. 이는 디지털 서명을 위조하고 다른 사용자를 사칭하는 데 사용될 수 있습니다.
해시 함수 공격은 비암호화 해시 함수에서 충돌을 찾는 데에도 사용할 수 있습니다. 이는 서비스 거부 공격을 유발하는 데 사용될 수 있습니다.
레인보우 테이블은 해시 함수 충돌의 결과를 저장하는 데 사용되는 데이터 구조입니다. 레인보우 테이블은 해시 함수 공격 속도를 높이는 데 사용됩니다.
해시 함수 보안은 암호화 공격에 저항하는 해시 함수에 대한 연구입니다. 해시 함수 보안은 암호화의 한 분야입니다.