검수요청.png검수요청.png

SHA0

위키원
(샤제로에서 넘어옴)
이동: 둘러보기, 검색

SHA-0는 미국 국립표준기술연구소(NIST)에서 1993년 발표되고 FIPS PUB 180으로 공표된 해시 함수 알고리즘이다. 이는 해시 알고리즘 중 하나인 MD4에 기반을 두고 있으며, MD5의 취약점을 개선하고 대체하기 위해 개발되었다.

개요[편집]

SHA-0는 1993년 미국 국립표준기술연구소(NIST)가 발표한 안전한 해시 표준(SHS)으로, 표준 FIPS PUB 180으로 공표되었다. SHA 제품군중에 최초로 개발된 버전으로, 다른 함수들과 구별하기 위해 SHA-0라고 부르기 시작했다. 공개되지 않은 보안적인 결함으로 인해 출판 직후 바로 철회되었고, 약간 수정된 버전인 SHA-1로 대체되었다.

특성[편집]

  • 해시값 크기 : 160
  • 내부 크기 : 160
  • 블록 크기 : 512
  • 길이 한계 : 64
  • 워드 크기 : 32
  • 과정 수 : 80
  • 사용 연산 : +, and, or, xor, rotl

알고리즘[편집]

해시함수 SHA-0은 길이 비트 미만의 메시지를 취하여 160비트 해시값을 생성한다. 입력 메시지는 패딩 처리된 다음 머클-담골 반복 구조에서 512비트 블록으로 처리된다. 각 반복은 160비트 체인값과 512비트 메시지 블록을 취하고 160비트 체인값을 추가로 출력하는 압축 함수를 호출한다. 초기 체인값은 고정 상수의 집합이며, 최종 체인값은 메시지의 해시값이다.

패딩된 메시지의 각 512비트 블록에 대해 16개의 32비트 워드()로 나눈다. 메시지 단어는 먼저 다음과 같이 확장된다 :


확장된 메시지 단어는 각각 20단계로 구성된 4라운드에서 처리된다. 스텝 함수는 다음과 같이 정의된다.


 
 
 
 
 

초기 체인값 는 다음과 같이 정의된다.

(0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0)

각 라운드는 다음 표와 같이 요약된 다른 부울함수 와 상수 를 사용한다.

라운드 스텝 부울 함수 상수
1 1 - 20 0x5a827999
2 21 - 40 0x6ed6eba1
3 41 - 60 0x8fabbcdc
4 61 - 80 0xca62c1d6

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 SHA0 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.