티스토리 뷰

정보보안기사

[정보보안기사] 해시함수

정짱 정뚱띵 2018.03.01 16:42

[정보보안기사] 암호학


  • 일방향 해시함수의 특징

임의 길이의 메시지로부터 고정 길이의 해시값을 계산한다.

해시값을 고속으로 계산할 수 있으며, 시간이 너무 오래 걸리면 안 된다.

일방향 해시함수는 일방향성을 가질 필요가 있다. 이것은 해시값으로부터 메시지를 역산할 수 없다는 성질이다.(해시 값으로 부터 메시지를 구할 수는 없다.)

메시지가 다르면 해시값도 다르다.


  • 해시함수의 충돌

구분 

동일 용어 

설명 

깨는 방법 

포함관계 

전자서명 

역상저항성

프리이미지저항성 

y=h(x) => x? 

포함 X 

약 일방향성 

두 번째

역상저항성

제2프리이미지저항성,

약한충돌내성 

h(x) = h(x') =>

다른 입력값 x'( ≠ x) 

무차별공격

(전수공격) 

U

충돌저항성은 두 번째

역상저항성을 보장

강일방향성 

충돌저항성

충돌회피성,

강한충동내성 

h(x) = h(x') =>

두 입력값 x, x' 

생일공격 

충돌회피성 


프리이미지

f(x) = y 에서 x는 y의 이전 이미지라고 한다. f가 일대일 대응이 아니면, 하나의 y에 여러 개의 이전 이미지가 있을 수 있다.


  • 전자서명에 이용되는 해시 함수의 특성
해시값을 고속으로 계산할 수 있다.
약 일방향성
해시값 H로부터 h(M) = H가 되는 서명문 M을 찾는 것은 계산상 불가능해야 한다.
강 일방향성
어떤 서명문 M과 그 해시값 H = h(M)이 주어졌을 때 h(M') = H가 되는 서명문 M' ≠ M을 찾는 것이 계산상 불가능해야 한다.
충돌 회피성
h(M) = h(M')가 되는 서명문 쌍(M, M')(M ≠ M')을 찾는 것이 계산상 불가능해야 한다.

해시값을 고속으로 계산할 수 있는 특성은 해시함수의 성능조건이고, 나머지 특성은 해시 함수의 안전성에 관한 제약이다.
약 일방향성과 강 일방향성은 해시 함수의 역함수를 계산하는 것을 방지하는 기능이며, 충돌 회피성은 내부부정을 방지하기 위한 기능이다.


  • SHA
가장 널리 사용되는 해시함수 SHA는 DSS에 사용하기 위해 NSA가 설계하였고, NIST에 의해 배포되었다.
각각 비트별로 SHA-256, SHA-384와 SHA-512이다. 함께 지칭해서 SHA-2라고 부른다.

구분 

SHA-1 

 SHA-2

SHA-224

SHA-256 

SHA-384 

SHA-512 

MD 길이

160

224 

256 

384 

512 

최대 메시지 길이

2^64 - 1

2^64 - 1 

2^64 - 1 

2^128 - 1 

2^128 - 1 

블록 길이

512 

512 

512 

1024 

1024 

위드 길이

32

32 

32 

64 

64 

단계 수

80

64 

64 

80 

80 



  • HAVAL
HAVAL은 길이가 128, 160, 192, 224 및 256 비트인 메시지 다이제스트를 출력하는 해시 알고리즘이고, 사용되는 블록의 크기는 1024이다.

항목

MD5 

SHA-1 

RIPEMD-160 

다이제스트 길이

128비트 

160비트 

160비트 

처리 단위

512비트 

512비트 

512비트 

단계수

64(16번의 4라운드) 

80(20번의 4라운드) 

160(16번의 5병행 라운드) 

최대 메시지 크기

무한(oo) 

2^64 - 1비트 

2^64 -1비트 

앤디언

Little-endian 

Big-endian 

Little-endian


암호학적 해시함수의 응용


  • 무결성검사

무결성을 점검하기 위해 암호학적 해시함수를 사용해야 하고, 이렇게 생성된 새로운 메시지 다이제스트와 이전의 메시지 다이제스트를 비교해 보아야하며, 동일하다면 원래의 메시지가 변경되지 않았다는 것을 확신할 수 있다.



  • 랜덤 오라클 모델

랜덤 오라클 모델은 이상적인 해시함수를 기반으로 한 수학적 모델이다. 같은 입력에 대해 항상 같은 출력 값을 갖으며, 서로다른 입력 값들에 대해 생성된 해시값들은 uniform distribution의 형태를 갖는다.


비둘기집(pigeon-hole) 원리

n+1마리 비둘기가 n개의 비둘기집에 들어가면 적어도 한 비둘기집에는 두 마리 비둘기가 들어간다는 것이다.


생일 문제(생일 공격)
생성한 해시함수가 랜덤 오라클 모델이라고 할때, 이것의 안전성을 비둘기집의 원리와 같은 방법으로 증명하는 것이다.
특정 해시값을 생성하는 메시지를 구하는 것이 아니라 해시값은 상관없이 같은 해시 값을 생성하는 2개의 메시지를 구한다. 강한충돌 내성을 깨고자하는 것이다.

퀴즈가 있는데 풀어봐야될듯하다. 음 잘 모르겠다.


  • 메시지 인증코드(MAC)

무결성을 확인하고 메시지에 대한 인증을 하는 기술이다. 즉, 해시함수 + 대칭키로 메시지 무결성을 인증하고 거짓행세(메시지 인증으로 검출)를 검출하는 것이다. MAC의 장점은 블록 암호나 해시 함수에 기반을 두기 때문에 전자 서명보다 훨씬 빠르다는 것이다.










댓글
공지사항
«   2018/05   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Total
115,570
Today
4