현대 암호학

[현대 암호학] 08-5. 일방향 해시 함수의 SHA-512

Uggjjini 2021. 6. 30. 11:39

5. 일방향 해시 함수의 SHA-512

 

SHA-512 구조

  • 입력: 최대 2128 bits 이하 메시지
  • 출력: 512 bits(64 bytes) 메시지 다이제스트

입력 데이터는 길이 1024비트 블록으로 처리

 

 

 

SHA-512 처리 단계

  • 패딩 비트 붙이기
  • 길이 붙이기
  • MD 버퍼 초기화
  • 1024-비트(128-워드)블록 메시지 처리
  • 출력

 

 

SHA-512의 안정성

  • 2017년까지 약점 발견된 것 없음
  • 확률적 안정성

* 약 충돌성: 동일한 메시지 다이제스트를 갖는 두 개의 서로 다른 메시지를 찾는 난이도 연산 수행 수는 2256

* 강 충돌성: 주어진 다이제스트와 동일한 다이제스트를 갖는 메시지를 찾는 난이도 연산 수행 수는 2512

 

 

 

SHA-3(Secure Hash Algorithm)

  • 이론적 공격방법이 알려져 버린 SHA-1을 대신하는 새로운 표준의 일방향 해시 알고리즘
  • 2012년에 KECCAK(케챡)이라는 알고리즘을 SHA-3으로 선정

 


어떤 일방향 해시 함수를 사용하면 좋은가 ?

  • MD5는 안전하지 않으므로 사용해서는 안됨
  • SHA-2는 SHA-1에 대한 공격방법에 대한 대처를 하여 고안했기 때문에 안전
  • SHA-3은 안전
  • 자작 알고리즘은 사용해서는 안됨

 

일방향 해시 함수로 해결할 수 없는 문제 

일방향 해시 함수는 "조작 또는 변경"을 검출할 수 있지만, "거짓 행세"(위장) 검출은 못 한다.

인증:

* 이 파일이 정말로 앨리스가 작성한 것인지를 확인하는 것

* 인증을 수행하기 위한 기술

- 메시지 인증 코드

- 디지털 서명

 

 

 

8장 요점정리

예전 해시 알고리즘

(주의) 다음 알고리즘을 사용해서는 안된다.

  • SHA-1
  • MD2
  • MD5
  • PIPEMD-160
  • Keccak

현대 해시 알고리즘(Modern Hash Algorithms)

  • SHA-2
  • SHA-224, SHA-256, SHA-384
  • SHA-512, SHA-512/224, SHA-512/256
  • SHA-3
  • SHA-224, SHA-256, SHA-384
  • SHA-512
  • BLAKE2
  • BLAKE2s
  • BLAKE2b



확장 가능 출력 함수
(XOF)
SHAKE(SHA-3 제품군)

  • SHAKE128
  • SHAKE256


메시지 인증 코드 알고리즘(Message Authentication Code Algorithms)

  • HMAC(Hash-based MAC)
  • CMAC(Cipher-based MAC)
  • Poly1305