제 11 장 메시지 인증 및 해쉬함수

37
11 11 제제제 제제 제 제제제제 제제제 제제 제 제제제제 11.1 인인인인인 인인인인 11.2 인인 인인 11.3 인인인 인인 인인 11.4 인인인인 11.5 인인인인인 MAC 인인

description

제 11 장 메시지 인증 및 해쉬함수. 11.1 인증에서의 요구조건 11.2 인증 함수 11.3 메시지 인증 코드 11.4 해쉬함수 11.5 해쉬함수와 MAC 보안. 11.1 인증에서의 요구 조건. 통신 상에서 발생할 수 있는 공격들 노출 (disclosure): 암호키 가지고 있지 않은 사람에게 메시지 내용이 노출 , 도청 (eavesdropping) - PowerPoint PPT Presentation

Transcript of 제 11 장 메시지 인증 및 해쉬함수

Page 1: 제 11 장  메시지 인증 및 해쉬함수

제제 1111 장 메시지 인증 및 해쉬함수장 메시지 인증 및 해쉬함수

11.1 인증에서의 요구조건11.2 인증 함수11.3 메시지 인증 코드11.4 해쉬함수11.5 해쉬함수와 MAC 보안

Page 2: 제 11 장  메시지 인증 및 해쉬함수

11.1 11.1 인증에서의 요구 조건인증에서의 요구 조건

• 통신 상에서 발생할 수 있는 공격들– 노출 (disclosure): 암호키 가지고 있지 않은 사람에게 메시지 내용이

노출 , 도청 (eavesdropping)– 트래픽 분석 (traffic analysis): 통신 주체 사이의 어떤 트래픽 형태를 발견

( 연결주기 , 사용시간 , 메시지 개수 및 길이 등 )– 위장 (masquerade): 부정한 출처로부터 나온 메시지를 네트워크 상에

삽입– 내용 수정 (content modification): 삽입 , 삭제 , 전치 , 수정을 포함한

메시지 내용의 변경– 순서 수정 (sequence modification): 통신 상대방간의 메시지들의 순서

변경– 시간 수정 (timing modification): 메시지의 지연과 재전송– 발신처 부인 (source repudiation): 발신자가 메시지의 전송 사실을 부인– 수신처 부인 (destination repudiation): 수신자가 메시지의 수신 사실을

부인

Page 3: 제 11 장  메시지 인증 및 해쉬함수

11.1 11.1 인증에서의 요구 조건인증에서의 요구 조건

• 대처방안– 노출 , 트래픽 분석 : 기밀성– 위장 , 내용수정 , 순서수정 , 시간수정 : 메시지 인증– 발신처 부인 : 전자서명– 수신처 부인 : 전자서명과 특별히 설계된 프로토콜들의 조합

Page 4: 제 11 장  메시지 인증 및 해쉬함수

11.1 11.1 인증에서의 요구 조건인증에서의 요구 조건

• 메시지 인증– 수신된 메시지가 주장된 출처에서 왔고 , – 변경되지 않았다는 것을 확인하기 위한 절차– 또한 , 메시지의 순서의 일치와 시간의 적합성도 검증 가능

• 디지털 서명– 발신자가 메시지의 전송 사실을 부인하는 것을 봉쇄하기 위한 방법

Page 5: 제 11 장  메시지 인증 및 해쉬함수

11.1 11.1 인증에서의 요구 조건 인증에서의 요구 조건 - - 인증 종류인증 종류

• 메시지 내용 인증 (message content authentication) – 메시지를 전송하는 중에 수정된 사항이 없는지를 검증– MAC ( 송신자 계산 MAC 값과 수신자 계산 MAC 값을 비교 )

• 메시지 출처 인증 (message origin authentication)– 메시지의 송신자가 메시지 내의 송신자 필드에 기록된 송신자와 일치하는 지를

검증– 디지털 서명 ( 송신자 필드 내용 : 실제 송신자 )

• 실체 인증 (general entity authentication)– 통신하는 개체들 사이에 상대방이 정당한지를 검증– 인증 프로토콜 ( 신청자 주장 : 검증자 확인 )

• 단독인증 (unilateral or one-way authentication)– 통신하는 개체들 사이에 실체 인증을 한쪽으로만 검증

• 상호인증 (mutual authentication)– 통신하는 개체들 사이에 실체 인증을 양방향으로 모두 검증

Page 6: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증 함수인증 함수

• 메시지 인증과 디지털 서명에서 인증 : 두 단계로 구분– 하위단계 : 인증 함수를 사용하여 인증에 사용할 인증값 (authe

nticator) 생성– 상위단계 : 상위 프로토콜에서 인증값을 사용하여 인증성 검증

• 인증 함수의 종류 :– 메시지 암호화 (message encryption) : 메시지 전체 암호문이

인증값– 메시지 인증 코드 (MAC) : 메시지와 비밀키를 입력으로 하여

인증값으로 사용될 고정된 길이의 어떤 값을 생성– 해쉬함수 : 임의의 길이 메시지를 입력으로 고정된 길이의

인증값 생성

Page 7: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 인증함수 - - 메시지 암호화메시지 암호화

메시지 암호화의 메시지 암호화의 기본 사용법기본 사용법

Page 8: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• (a) 대칭키 암호 : A → B : EK[M]

– 기밀성 제공• A 와 B 만이 K 를 공유하고 암 . 복호화 가능

– 부분적인 인증 제공• 오직 A 로부터 전송 가능함• 수신자가 메시지 위조 가능

– 서명 제공 불가• 송신자가 메시지 전송에 대해 부인 가능

Page 9: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• (b) 공개키 암호 : A → B : EKUb[M]

– 기밀성 제공• 오직 B 만이 KRb 를 소유하고 있어 복호 가능

– 인증은 제공하지 않음• 누구나 B 의 공개키 Kub 를 사용해 메시지를 암호화하고 자신이 A

라고 주장 가능

Page 10: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• (c) 공개키 암호 : A → B : EKRa[M]

– 인증과 전자서명 제공• 메시지를 암호화 할 수 있는 사용자는 KRa 의 소유자 뿐임• 서명을 확인하기 위하여 KUa 를 사용

– 기밀성 제공 불가• 메시지를 받은 사람이나 , 도청한 사람 모두 보내는 사람의 공개키

접근 가능

Page 11: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• (d) 공개키 암호 : A → B : EKUb[EKRa[M]]

– 인증과 서명 제공• KUa 로 복호될 수 있는 암호문은 KRa 소유자만 작성 가능

– 기밀성 제공• KUb 로 암호화된 메시지는 KRb 소유자만 복호 가능

Page 12: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• 메시지 암호화의 문제점 – 암호할 메시지

•메시지는 의미있는 문장이 되어야 한다•의미있는 문장 → 입력의 제한

→ 메시지의 임의의 형태를 제공할 수 있는 방법의 필요 예 ) 암호화 전에 각 메시지에 FCS(Frame Check

Sequence) 라는 에러 검출 코드를 추가 )

Page 13: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• 내부 및 외부 에러 제어

Page 14: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• FCS(Frame Check Sequence)– 에러 검출을 위한 점검값 코드

• 내부 에러제어– FCS 를 암호화 보다 먼저 수행

– M 과 FCS 가 함께 K 로 암호화되어 있으므로 유효한 FCS 조작이 어려움 ( 인증 제공 )

• 외부 에러제어– 암호화를 FCS 보다 먼저 수행

– 암호화된 메시지를 갖고 FCS 를 구성하기가 용이

– 공격자가 암호문의 실제 평문은 알 수 없더라도 인증자체의 과정에 혼란야기 가능

• TCP 세그먼트– 내부에러 제어를 하면

– 세그먼트 지연 , 메시지 순서변경 , 특정 세그먼트 삭제 등 방지 가능

Page 15: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 암호화인증함수 – 메시지 암호화

• TCP 세그먼트

Page 16: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 인증 코드인증함수 – 메시지 인증 코드

• 메시지 인증 코드 – Message Athentication Code : MAC– 비밀키를 사용하여 생성된 작은 크기의 데이터 블록– 메시지와 키의 함수 MAC = CK(M) MAC : 메시지 인증 코드 C : MAC 함수 K : 공유된 비밀키 M : 메시지

• 사용방법1. 송신자 A 는 메시지를 입력으로 MAC 을 계산2. 송신자 A 는 메시지와 MAC 을 함께 전송3. 수신자 B 는 수신된 메시지를 입력으로 MAC 를 계산4. 수신자 B 는 이 값을 수신된 MAC 과 비교

Page 17: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 인증 코드인증함수 – 메시지 인증 코드

• (a) 메시지 인증 : A → B : M || CK(M)

– 인증제공• 메시지 내용 인증

– K 를 모르는 공격자는 메시지와 대응되는 MAC 값 계산 불가• 출처 인증

– K 를 아는 A 만이 올바른 MAC 을 계산하여 전송 가능• 메시지 순서 인증

– 메시지에 순서번호가 포함되어 있다면 내용 인증에 의해 메시지 순서 보장

– 기밀성 제공 못함

C

CK

A출처 B목적지

M | | M

ºñ±³K

C K(M)

Page 18: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 인증 코드인증함수 – 메시지 인증 코드

• (b) 메시지 인증과 기밀성 : A → B : EK2[M || CK1(M)]

– 인증 제공• A 와 B 만이 K1 을 공유

– 기밀성 제공• A 와 B 만이 K2 를 공유

– 평문으로 MAC 을 계산함• 보통 인증을 평문에 연결하기 때문에 널리 사용됨

C

CK 1

M | |

ºñ±³K 1

E K2 [M || C K1 (M)]

E D M

C K1 (M)

K 2K 2

A출처 B목적지

Page 19: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 메시지 인증 코드인증함수 – 메시지 인증 코드

• (c) 메시지 인증과 기밀성 : A → B : EK2[M] || CK1(EK2[M])

– 인증 제공• A 와 B 만이 K1 을 공유

– 기밀성 제공• A 와 B 만이 K2 를 공유

– 암호문으로 MAC 을 계산

모든 MAC 기법들은 디지털 서명을 제공하지 않음 : 송신자와 수신자가 같은 키를 공유하기 때문

C

CK 1

M | |

ºñ±³

K 1C K1 [E K2 (M)]

E D

K 2K 2

M

E K2 (M ) A출처 B목적지

Page 20: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• 임의의 길이 (M) 를 입력으로 정해진 크기 (h) 의 Message Digest 를 만드는 일방향함수 (one-way function, H)

• h = H(M)– H : 해쉬함수– M : 입력값 , 다양한 크기의 메시지 M– h : 출력값 , 고정된 크기의 값 ( 해쉬코드 , 메시지 다이제스

트 , 해쉬값이라고 함 )• 특징

– MAC 과 달리 키를 사용하지 않음– 해쉬 함수 자체는 비밀 아님 → 해쉬값을 포함한 암호가 필요– 에러 탐색 능력 제공– 메시지의 한 비트의 변화가 해쉬코드의 모든 비트들의 변화를

가져옴 ( 쇄도효과 : avalanche effects)– 해쉬코드의 다양한 사용 방법들이 있음

Page 21: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• (a) 해쉬함수 사용 : A → B : EK[M || H(M)]

– 메시지와 해쉬코드를 모두 암호화– 인증 제공

• A 와 B 만이 K 를 공유하기 때문에 메시지는 A 로부터 와야 함– 기밀성 제공

• A 와 B 만이 K 를 공유

Page 22: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• (b) 해쉬함수 사용 : A → B : M || EK[H(M)]

– 해쉬코드만을 암호화– 인증제공

• 기밀성을 요구하지 않는 응용에서 처리 부하 경감• 해쉬함수와 암호화의 조합은 MAC 과 동일한 효과

Page 23: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• (c) 해쉬함수 사용 : A → B : M || EKRa[H(M)]

– 공개키 암호 및 송신자의 개인키를 이용해서 해쉬코드만 암호화– 인증 및 디지털 서명 제공

• 디지털서명 제공 : 송신자만이 암호화된 해쉬코드를 만들 수 있음

기밀성이 요구되지 않을때 (b) 와 (c) 의 방법은 계산이 덜 요구되어 장점을 가짐

Page 24: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• (d) 해쉬함수 사용 : A → B : EK[M || EKRa[H(M)]]

– 공유된 비밀키로 (c) 의 결과를 암호화– 인증 , 디지털 서명 , 기밀성 모두 제공

Page 25: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• (e) 해쉬함수 사용 : A → B : M || H(M || S)

– 비밀키 S 공유 , 그러나 , 암호화 하지 않음– 메시지와 비밀 값의 해쉬 코드를 계산 => 메시지와 해쉬코드 전송– 인증제공– 암호화 회피 이유

• 암호화 소프트웨어는 느리다• 암호화 하드웨어 비용 증대 ( 전체 네트워크에 설치 할 때 )• 아주 작은 데이터 블럭에도 동일한 암호화 절차 필요• 암호화 알고리즘의 사용권 획득 불편

Page 26: 제 11 장  메시지 인증 및 해쉬함수

11.2 11.2 인증함수 – 해쉬함수인증함수 – 해쉬함수

• (f) 해쉬함수 사용 : A → B : EK[M || H(M || S)]

– 공유된 비밀키로 (e) 의 결과를 암호화– 인증 제공– 기밀성 제공

Page 27: 제 11 장  메시지 인증 및 해쉬함수

11.3 11.3 메시지 인증 코드메시지 인증 코드

• 암호학적 점검값 or 메시지 인증 코드 (MAC)– Message Authentication Codes, Data Authentication Codes

• 메시지 인증코드 (MAC) 라고 알려진 암호학적 점검값은 다음과 같은 함수 C 에 의해 생성됨

MAC = CK(M)– MAC : 메시지 인증 코드 , CK(M) 과 동일 , 출력값– M: 가변길이 메시지 , 입력값– K : 는 송신자와 수신자에 의해 공유되는 비밀키 , 입력값– C : 메시지 인증 코드 함수

• MAC 자체는 메시지 기밀성이나 서명 기능을 제공하지 않음

Page 28: 제 11 장  메시지 인증 및 해쉬함수

11.3 11.3 메시지 인증 코드 – 메시지 인증 코드 – MACMAC 의 요구조건의 요구조건

• 공격자가 CK(M’)=CK(M) 인 M’을 구성한다는 것이 계산적으로 어려워야 함– 즉 , 키를 알지 못하면서 MAC 과 일치하는 새로운 메시지를

만들 수 없어야 한다 .

• CK(M) 은 일정하게 분산되어 있어야 함– 즉 , 선택 평문 공격에 기초한 brute-force attack 에 안전해야

• 메시지의 어떤 부분이나 특정 비트들에 관해서 특별히 취약해서는 안됨– 그런 경우가 아니라면 , M 과 CK(M) 을 가진 공격자는 기존의 M

AC 과 일치하는 새 메시지를 쉽게 발견 가능– 또한 , 공격자가 “취약지점”에서 M 의 변형을 시도 가능

Page 29: 제 11 장  메시지 인증 및 해쉬함수

11.3 11.3 메시지 인증 코드 – 메시지 인증 코드 – DESDES 에 기초한 메시지 에 기초한 메시지 인증코드인증코드

• 가장 널리 사용되는 MAC 중의 하나• FIPS PUB 113 과 ANSI 표준 (X9.17) 두 종류 존재• FIPS PUB 113

– O1 = EK(D1), O2 = EK(D2 O1), O3 = EK(D3 O2), ON = EK(DN ON-1)

– MAC 으로 ON 또는 ON의 가장 왼쪽 M 비트를 사용 (16<=M <=64)

Page 30: 제 11 장  메시지 인증 및 해쉬함수

11.4 11.4 해쉬함수 해쉬함수 (Hash function)(Hash function)

• 임의의 길이 (M) 를 취해서 정해진 크기 (h) 의 Message Digest 를 만드는 일방향함수 (one-way function, H)

• h = H(M)– H : 해쉬함수– M : 입력값 , 다양한 크기의 메시지 M– h : 출력값 , 고정된 크기의 값 ( 해쉬코드 , 메시지 다이제스

트 , 해쉬값이라고 함 )• 특징

– MAC 과 달리 키를 사용하지 않음– 해쉬 함수 자체는 비밀 아님 => 해쉬값을 포함한 암호가 필요– 에러 탐색 능력 제공– 메시지의 한 비트의 변화가 해쉬코드의 모든 비트들의 변화를

가져옴 ( 쇄도효과 : avalanche effects)– 해쉬코드의 다양한 사용 방법들이 있음

Page 31: 제 11 장  메시지 인증 및 해쉬함수

11.4 11.4 해쉬함수 해쉬함수 - - 해쉬함수의 요구조건해쉬함수의 요구조건

• 어떤 크기의 메시지 M 에도 적용 가능• H는 고정된 크기의 hash code 를 만듦• H(M) 은 어떤 주어진 M 에 대해서도 계산하는 것이

쉬워야 함• 일방향 (one-way) 성질

– 주어진 해쉬값 h 에 대해 , H(x) = h 인 x을 찾는 것이 계산적으로 어렵다 .

• 약한 충돌 회피성 (Weak collision resistance)– 주어진 x에 대해 , H(y) = H(x) 인 어떤 (y x) 쌍을 찾는 것이

계산적으로 어렵다 .• 강한 충돌 회피성 (Strong collision resistance, collision f

ree)– H(x) = H(y) 인 , 어떤 (x, y) 쌍을 찾는 것이 계산적으로 어렵다 .

Page 32: 제 11 장  메시지 인증 및 해쉬함수

11.4 11.4 해쉬함수 – 단순 해쉬함수해쉬함수 – 단순 해쉬함수

• 단순 해쉬 함수– 가장 단순한 해쉬 함수들 중의 하나– 모든 블록들에 대해 비트 단위 XOR– Ci=bi1 bi2 . . . bim

• Ci = 해쉬 코드의 i 번째 비트• m = 입력에서 n- 비트 블록 수• bij = j 번째 블록의 i 번째 비트 = XOR 동작

비트 1 비트 2 비트 n 블록 1 b11 b21 bn1

블록 2 b12 b22 bn2 .

.

.

.

.

.

.

.

.

블록 m b1m b2m bnm

해쉬코드 C1 C2 Cn

[비트별 XOR 을 이용한 단순 해쉬 함수]

Page 33: 제 11 장  메시지 인증 및 해쉬함수

11.4 11.4 해쉬함수 – 생일공격해쉬함수 – 생일공격 (Birthday Attacks)(Birthday Attacks)

• 전사적 공격의 일종• 23 명중에 같은 생일을 가진 사람이 두 사람이나 그

이상있을 확률이 1/2 보다 크다는 결과 – Birthday Paradox

• If |h| = m-bit, 임의의 두개의 메시지 충돌쌍을 얻기 위한 노력은 2m/2

• 주어진 X와 같은 h 를 주는 X’를 찾기 위한 노력은 2m

• 동일한 해쉬값을 갖는 올바른 변형 제공• 128 bit 인 MD5 의 충돌쌍을 찾기 - 천만 $, 24h• 중요한 서명을 위해서는 160 bit 이상을 요구• 알고리즘을 분석하여 보다 더 효율적인 공격 가능• 해쉬 함수의 충돌을 발견하는데 종종 사용

Page 34: 제 11 장  메시지 인증 및 해쉬함수

11.4 11.4 해쉬함수 – 블록 체이닝 기법해쉬함수 – 블록 체이닝 기법

• 비밀키 없는 CBC 기술의 해쉬 함수들이 많이 존재• 예 ) Rabin[RABIN78]

– 메시지 M 을 고정된 크기의 블록 M1, M2, … , MN으로 나누고 , 해쉬 코드 G를 계산하기 위해서 DES 와 같은 관용 암호 시스템을 이용

H0 = 초기값Hi = EMi [Hi -1]G = HN

• 생일공격에 취약– 알고리즘이 DES 이고 , 오직 64- 비트 해쉬 코드를 생성

• 블록 체이닝 방법을 강화시킬 의도로 개량형들을 제안 [DAVI89]– Hi = EMi [Hi -1] Hi -1

– [MEYE88] 에서 제안된 다른 변형 : Hi = EHi -1[Mi ] Mi

– 이 두 가지 구조 모두 다양한 공격에 취약 [MIYA90]– 생일 공격의 어떤 형태는 해쉬 코드가 충분히 작거나 ( 예 : 64 비트 또는 미만 ), 큰 해쉬 코드가 독립적인 서브 코드들로 분해될 수 있다면 비밀키 없이 암호 블록 체이닝을 사용하는 어떤 해쉬구조에 대해서 성공 [JUEN87]

Page 35: 제 11 장  메시지 인증 및 해쉬함수

11.5 11.5 해쉬 함수와 해쉬 함수와 MAC MAC 보안 보안 - Brute-Force Attack- Brute-Force Attack

• 해쉬함수– brute-force attack 에 대한 해쉬 함수의 강도는 오직 알고리즘에

의해 생성되는 해쉬 코드의 길이에 의존• 일방향성 : 어떠한 코드 h 에 대해서 H(x) = h 인 x를 찾는 것은

계산상 어렵다 . (2n)• 완화된 충돌 회피성 : 어떠한 x에 대해서도 , H(y) = H(x) 로부터 y ≠ x를 찾는 것은 계산상 어렵다 . (2n)

• 강력한 충돌 회피성 : H(x) = H(y) 와 같은 (x, y) 를 찾는 것은 계산상 어렵다 . (2n/2)

– n 비트 해쉬 코드 h = H(x) 와 고정된 메시지 x가 제공된 상태에서 , 충돌을 찾는 brute-force 방식은 무작위 비트 열 y를 선택해 H(y)=H(x) 인지 확인

Page 36: 제 11 장  메시지 인증 및 해쉬함수

11.5 11.5 해쉬 함수와 해쉬 함수와 MAC MAC 보안 보안 - Brute-Force Attack- Brute-Force Attack

• 메시지 인증 코드– 요구되는 보안특성

• 계산상 강도 (Computation resistance) : 하나 또는 그 이상의 문서 -MAC 쌍들 (xi, CK(xi)) 이 제공된 경우 , 새로운 입력값 x ≠ xi 가 되는 (x, CK(x)) 를 계산하는 것은 계산상 어렵다 .

– 두 가지 공격 방법• 키 공간 공격

– 공격자가 문서 -MAC 쌍을 알 때 , 키 값 K 를 알아내려는 공격 : 2k (K: k bit 일때 )

• MAC 값 공격 – 키를 알 필요 없이 제시된 MAC 값과 일치하는 메시지를 찾아내려는

공격 : 2n

Page 37: 제 11 장  메시지 인증 및 해쉬함수

11.5 11.5 해쉬 함수와 해쉬 함수와 MAC MAC 보안 보안 - - 암호학적 분석암호학적 분석

• 해쉬함수 및 MAC 에 대한 암호학적 안전성 강도는 brute-force 공격에서 요구되는 노력보다 크거나 같다 .

• 해쉬함수들 구조 제안– Merkle[MERL79, MERK89] 에 의해 제안된 구조– MD5, SHA-1, RIPEMD-160 등 현재 사용 대부분의 해쉬함수 구조

CV0 = IV : 초기 n 비트 값CVi = f(CVi-1, Yi-1) 1 ≤ i ≤ LH(M) = CVL

해쉬 함수의 입력값은 Y0, ..., YL-1 블록들로 구성된 메시지 M