58
-1- 최종연구보고서 해쉬함수를 통한 인증 및 서명기법 연구 연구수행기관 서울대학교 : 한국전자통신연구소

해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 1 -

최종연구보고서

해쉬함수를 통한 인증 및 서명기법 연구

연구수행기관 서울대학교:

한국전자통신연구소

Page 2: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 2 -

제 출 문

한국전자통신연구소장 귀하

본 보고서를 해쉬함수를 통한 인증 및 서명기법 연구의 최종 연구보고서로 제출합니"

다.

년 월 일1992 11 30

수행연구기관명 : 서울대학교

연 구 책 임 자 : 조 한 혁

연 구 원 : 황 석 근

연 구 보 조 원 : 나 귀 수 외 인3

Page 3: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 3 -

요 약 문

제목 해쉬함수를 통한 인증 및 서명기법 연구1. :

연구의 목적 및 중요성2.

연구의 목적(1)

해쉬함수는 임의의 비트의 을 일정한 비트의 으로 바꾸어 주는 함수로서 인증string string ,

및 디지털성명에 있어서 인증과 서명을 만드는 시간을 단축시켜준다 이러한 필요성에 의해.

년 와 이 을 발표한 이1979 J. Carter M. Wegman "Universal Classes of Hash Functions"

후 여편의 에 관한 연구가 발표되었으나 암호화 기술과 연관되어 본격적100 hash function ,

으로 연구된 것은 최근의 일이다 그 중에서 는 임의의 비트를 일정한 비트로. Damgard [6]

보내는 해쉬함수의 구성에 대한 연구를 했으며 은 의 임의성을 전제로 임, Merkle [17] DES

의의 비트를 일정한 비트로 보내는 해쉬함수를 제안한 바가 있다 그외에도 대칭블럭암호시.

스템 공개키 암호시스템등과 결부되어 지금까지 많은 해쉬함수가 제안되어 왔으나 효율성,

과 안전성의 측면에서 공히 만족할만한 해쉬함수는 없는 실정이다.

이 연구의 궁극적인 목표는 안전하고 효율성이 있는 해쉬함수를 개발하는데 있다 일차년도.

에는 기존의 여러가지 들을 조사 비교 분석하여 그들의 안전성과 효율성을hash function ,

비교 검토하였다 이차년도의 본 연구는 에 대안 수학적 미비점을 보완하여. hash function

의 를 통하여 새로운 을 제안하고 또한 더욱 효율적이고 안전한DES S-Boxes hash function ,

해쉬함수를 위해서 설계에 대한 기초연구를 하는데 있다S-Boxes .

Page 4: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 4 -

연구의 중요성(2)

정보화 시대를 맞이하여 정보 보호의 문제가 사회적으로 중요한 문제로 부각되고 있다 특.

별히 쌍방의 정보 교환시에 생길 수 있는 메시지 도청과 메시지의 수정 그리고 송수신자의

위장등이 중요한 문제이다 해쉬함수는 메시지인증 및 사용자 인증 등을 위해 사용되기 시.

작하였다 메시지 인증은 전달된 메세지가 공격받지 않은 원래 그대로의 메시지임을 보증하.

는 기능이고 사용자인증은 사용자 가 상대자에게 메시지를 보낼 매 그가 바로 임을 보, A , A

증하는 기능이다 이 인증의 방법으로 디지털 서명이 있는데 해쉬함수는 이러한 디지털 서. ,

명에 필수적인 역할을 하고 있는 한 암호학적 도구이다 해쉬함수는. finger print, MDS

등으로 불리기도 한다 이처럼 해쉬함수는 현대의 정보화 사(manipulation detection code) .

회에서 정보 보호를 위한 필수적인 도구이며 이에 따라 이에 대한 연구가 세계적으로 활발,

히 진행되고 있다 그러나 우리나라에서의 연구는 시작단계이며 특히 외국의 연구도 자신들. ,

의 이익보호를 위하여 최첨단의 핵심기술 부분을 공개하지 않으므로 높은 수준의 기술 도입

은 기대하기 힘들 것이다 그러므로 우리나라에서도 자체적인 역량을 개발 축적해야 할 것.

이며 따라서 현 시점에서 이에 대한 연구는 극히 중요한 일이다, .

연구의 내용 및 범의3.

본 연구는 의 분석 의 개발 그리고 의 응용 설계hash function , hash function , hash function

를 그 내용으로 하고 있으며 이차년도인 금년의 연구는 기존의 해쉬함수들을 분석한 일차,

년도의 연구를 바탕으로 해쉬함수를 설계하는 것으로 그 범위를 잡았다 이러한 인증 및 디.

지털 서명용 해쉬함수의 설계에는 의 가 사용되었고 또한 해쉬함수를 위한DES S-Boxes ,

의 설계에 대한 기초연구도 하였다S-Boxes .

Page 5: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 5 -

연구 결과4.

년 의 연구 와 동년 이 를 사용하여 제안한 수 개의1989 I. B. Damgard [6] R. C. Merkle DES

해쉬함수는 해쉬함수 연구에 매우 중요하다 특히 은 년 가 충분히. R.C. Merkle[17] 1989 DES

임의성이 있다는 가정하에 수 개의 해쉬함수를 제안하였는데 년에는 이를 토대로 안전, 1990

한 에 기초한 해쉬암수를 제안하기도 했다 본 연구팀은 의 를 사S-Box [16]. DES S-Boxes

용하여 를 이용한 해쉬함수의 설계에 대안 연구를 하였고 또한S-Boxes . Adams and

가 제안한 의 방법을Tavares [3] Structured Design of Cryptographically Good S-Boxes

이용하여 해쉬함수를 위한 의 설계에 대한 기초연구를 수행하였다S-Box .

를 통한 해수함수 설계(1) S-Boxes

이제 로 두고V = {0,1} , V 1∪V2∪□Vn,V 1∪V2∪□ 를 각각 V n,V *로 나타내기로 한

다 임의의 길이의 스트링을 축약하는 일반적인 법칙을 설정하기는 지극히 어려우므로 해. ,

쉬함수 h:V *→Vk는 보통 하나의 기초함수 f:Vm+ k→V k를 바탕으로 정의된다 본 연구에.

서는 의 를 이용하여 기초 해쉬함수를 만들고 다음의 방법에 따라 해쉬함수DES S-Boxes ,

를 설계한다.

메세지 을 의 으로 나타낸다1. M m-bits string concatenation .

2. H0 초기치= I k-bits→

3. H i = f (M i,H i - 1 )□ H i - 1 ( i = 1 ,2 , ...,N )

4. H=h(M, I)= HN 해쉬값k-bits←

본 연구에서는 기초함수 를 의 를 사용하여 설계하였는데 기존에는 등의f DES S-Boxes , DES

블럭암호시스템을 사용하여 기초해쉬함수를 제안하였다 예를 들어 는 비트의 키와. DES 56

비트의 블락을 비트로 보내므로 를 비트에서 비트로 가는 기초해쉬함수로 볼64 64 DES 120 64

수 있다 이러한 기초해쉬함수 와 본래의 해쉬함수 에는 다음과 같은 기본정리가 성립하. f h

며 또한 다음과 같은 기본조건이 성립하여야 한다, .

Page 6: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 6 -

정리 1. 가 를 기본함수로하는 해쉬함수라할 때 가 충돌회피일 필요충분조건은 가 충돌h f , h f

회피인 것이다.

정리 2. γ또는 중 적어도 하나가 충돌회피이고 가 충돌회피라고 하면h f , g(M)=f( γ(M),

으로 정의된 함수 는 충돌회피이다h(M)) g .

정리 3. 충돌회피 일방해쉬함수 h:Vm+ k→V k가 주어져 있다면 임의의 자연수 에 대하여, i

충돌의미 일방해쉬함수 F:V m+ k+ i→V k를 만들 수 있다.

조건 가. 계산효율성(efficiency)

조건 나. 약일방향성(weak one-wayness) --- Given H, M : h(M)=H∃

조건 다. 강일방향성(strong one-wayness) - Given H&M, M' : h(M')=H∃

조건 라. 충돌회피성(Collision freeness) ------- M, M' : h(M)=h(M')∃

여기에 제안된 해쉬함수의 조건 중에서 가 는 해쉬함수의 효율성 조건을 나 다 라 는 해) , ), ), )

쉬함수의 안정성을 나타내고 있다.

다음은 본 연구에서 알고리즘으로 구현한 의 를 통한 기초해쉬함수 로서 는DES S-Boxes f , f

를 로 보낸다64-bits 32-bits .

Page 7: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 7 -

이렇게 구현할 알고리즘의 이유는 다음과 같다.

같은 에 의한 두 번의 가 문제를 일으킬 수 있다A : S-Box XOR .

적어도 두 번 이상의 반복 시행이 있어야 한다.

의 개 를 로 정렬시켰다DES 32 S-Box SBox[2*2] .

Sblock=SBox[2*j+(i/2 mod 2)] [3-bits of block[i]]

한 방향으로만 를 하면 가 감소될 수 있다B : XOR circuit-depth

두 방향으로 를 하면 가 보존된다XOR circuit-depth

block[next]= block[next] XOR Sblock

block[last]= block[last] XOR Sblock

두 방향으로 를 하기에 가 보존된다C : XOR parity

가 정도 되어야 에 안전Output bit 128 birthday Paradox Attack

해쉬함수를 위한 설계(2) S-Boxes

의 등의 기존의 에는 어떤 가 있을 수도 있다 또한DES S-Boxes S-Box trapdoor .

을 견디기 위해서는 큰 가 필요하게 되며 요사이 바람meet-in-the-middle-attack S-Boxes ,

직한 의 조건이 새롭게 발표되고 있다 따라서 해쉬함수 등을 위해 설계 방법이 공개S-Box .

된 안전한 를 제작하는 연구가 요청된다 이러한 이유 등에서 본 연구에서는S-Box .

의 설계에 대한 기초연구로 바람직한 부울함수들의 성질을 해다마르 변환과 관련하S-Boxes

여 표현하고 이를 바탕으로 그러한 성질들을 알고리즘으로 구현하였다 기본적으로, . S-Box

S: GF(2) n→GF(2)n의 성질은 다음과 같은 관점에서 접근을 시도하였다.

Page 8: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 8 -

가) S is bijective == any linear combination of the rows of n×2n(0,1)-matrix S has

Hamming weight 2n-l

나 새롭게) S is Nonlinear == related to combinatorial bent functions non-linearity order

를 정의할 수 있다

다) Strict Avalanche Criterion == Walsh-Hadamard transformation

라) Bit Independence Criterion == combination of Boolean components

부울함수의 비선형조건)■

코드 아핀 부울함수들의 모임1st order Reed-Muller R =※

임의의 에 대해 가 모든 값에서 같은 값을 갖는다 이러한 부울함수의y f(x+y) + f(x) x .※

집합을 이라 하면 은 을 포함한다L , L R

다음의 명제들은 완전비선형위수에 관한 동치인 명제이다.※

부울함수□ f:GF(2)n→GF(2)의 완전비선형위수가 이다d

웨이트가 이하인 임의의 벡터 에 대해d c ,□

□ F(x)= (-1) f( x ) :GF(2) n→{1,- 1} 라 하면,

□ F(w)= ∑x∈GF(2) n

F(x)(-1) x□w 라 하면,

Page 9: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 9 -

minimum Hamming distance from R (or L) to f※

비선형성거리 δ( f) = min l∈R nd(f,l)

완전비선형위수가 짝수 인 함수의 집합과 함수 집합은 같다n Bent※

의 모든 부울함수는 아니다DES m-th order perfect nonlinear (m※ ≥ 0)

부울함수와 조건) SAC■■

비선형위수가 이란 말과 조건은 동치이다1 SAC※

SAC of order d※

for any c with wt(c) d, and for any k with k-th bit of c is 0≤

의 모든 부울함수는 이 아니다DES SAC of order m (m=0, l, 2).※

부울함수와 상관계수)■■■

의 컴포넌트 부울함수들의 합이 에 들어오지 않으면 바람직S-Box R(L)※

m-th order correlation-immunity※

for any c with 1 wt(c) m,≤ ≤ F(c) = 0

의 개 부울함수만이 를 만족DES 15 1-st order correlation-immunity※

의 개 중에Adams & Tavares 6 S-Boxes※

Page 10: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 10 -

조건 만족1-st order perfect non-linearity = SAC

이다no 1-st order correlation-immunity

활용에 대한 건의5.

해쉬함수의 연구도 스트림암호시스템에서 주기등의 수학적 파라메타로 안전성을 표시할 수

있는 것처럼 안전성을 수식화 하여야 할 것이다 그러한 점에서 를 이용한 해쉬함, . S-Boxes

수는 들을 이루는 부울함수들의 성질을 수식화 하여 암호학적 이론을 수학적으로S-Boxes

표현할 수 있는 것이다 본 연구는 안전한 가 있다면 그것을 통해 해쉬함수를 만들. S-Boxes ,

수 있는 알고리즘을 프로그램으로 구현하였다 또한 의 설계를 위해 부울함수들의. S-Boxes

암호학적성질을 해다마드 행렬을 이용한 해다마드 변환으로 표현하여 프로그램으로 만들고,

이를 활용하여 구체적으로 의 부울함수에 대해 설명해 보았다 이러한 알고리즘을 효율DES .

화시키면 큰 와 이를 통한 해쉬함수를 만드는데 활용할 수 있을 것이다S-Boxes .

본 연구를 수행하면서 대수적 부호이론에 나오는 코드와 부울함수 그리고 암호Reed-Muller

화의 관련성을 더욱 느끼게 되었다 따라서 수학적인 이론과 접목하여 부울함수를 연구하면.

좋은 결과가 있을 것이다 예를 들어 함수는 본래 조합론의 이론에서 나온 것인데 이. Bent ,

것이 비선형성을 갖는 좋은 암호학적 대상으로 활용되고 있다 따라서 코드와. Reed-Muller

부울함수에 대한 체계적인 연구가 필요하다 그런데 함수이며 어떤 암호학적 성질을. Bent

만족시키는 부울함수를 찾는 일은 확률적으로 퍼센트에 가깝다고 한다 따라서 벤트함수에0 .

가장 가까이 있으며 또한 주어진 암호학적 성질을 갖는 부울함수의 연구가 요청된다 또한.

바람직한 조건을 모두 갖는 큰 부울함수를 찾는 일은 시간이 많이 걸리는 작업이므로

등을 응용하여 를 제작하는 연구도 요청된다Random Number S-Box .

Page 11: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 11 -

기대 효과6.

향후 년 이내에 우리도 독자적인 를 제작할 수 있다 또1 - 2 S-Boxes generation software .

한 이를 바탕으로 를 제작하여 기초적인 정보통신에서 인증 및 서hash function software ,

명에 활용 가능할 것으로 기대한다.

Page 12: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 12 -

Summary

As a mechanism of compressing messages to be signed in electronic communications,

the concept of hash function take its place in the field of cryptology as an indispensible

tool. For a hash function to be a valuable one, it is required that the function is

efficient and safe

In this report, we study and analyze the hash functions constructed using the DES's

S-Boxes. We also carry out preliminary research for the property of cryptographically

good Boolean functions to design good S-Boxes. We present all the algorithms used in

this report as C-language programs, and test the programs using the DES's Boolean

functions.

Page 13: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 13 -

CONTENTS

Chapter 1 : Hash functions, authentications, Signatures

Section l : Hash functions and digital signatures

Section 2 : Safety of hash functions

Section 3 : Analysis of existing hash functions

Section 4 : Improvements of existing hash functions

Chapter 2 : Designing hash functions using S-Boxes

Section l : Basic hash functions

Section 2 : Hash functions using DES's S-Boxes

Section 3 : Analysis of proposed hash functions

Chapter 3 : Designing S-Boxes for hash functions

Section l : Boolean functions and S-Boxes

Section 2 : Boolean functions and Hadamard transformations

Section 3 : Nonlinearity distance and perfect nonlinearity order

Section 4 : Boolean function and SAC-conditions

Section 5 : Boolean functions and correlations

Section 6 : Analysis of DES's S-Boxes

References

P.S. : C-Language Program

Page 14: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 14 -

목 차

제 장 해쉬함수와 인증 및 서명1 :

제 절 해쉬함수와 디지털 서명1 :

제 절 해쉬함수의 안전성2 :

제 절 기존 해쉬함수의 분석3 :

제 절 기존 해쉬함수의 개선 방향4 :

제 장 를 통한 해쉬함수 설계2 : S-Boxes

제 절 기초해쉬함수1 :

제 절 의 를 통한 기초해쉬함수2 : DES S-Boxes

제 절 의 를 통한 해쉬함수 분석3 : DES S-Boxes

제 장 해쉬함수를 위한 설계3 : S-Boxes

제 절 부울함수와1 : S-Boxes

제 절 부울함수와 해다마드 변환2 :

제 절 비선형거리와 완전비선형위수3 :

제 절 부울함수와 조건4 : SAC

제 절 부울함수와 상관계수5 :

제 절 의 분석6 : DES S-Boxes

참고문헌

첨부 언어 프로그램: C-

Page 15: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 15 -

제 장 해쉬함수와 인증 및 서명1 :

정보화 시대를 맞이하여 정보 보호의 문제가 사회적으로 중요한 문제로 부각되고 있다 특.

별히 쌍방의 정보 교환시에 생길 수 있는 메시지 도청과 메시지의 수정 그리고 송수신자의

위장등이 중요한 문제이다 해쉬함수는 메시지인증 및 사용자 인증 등을 위해 사용되기 시.

작하였다 메시지 인증은 전달된 메세지가 공격받지 않은 원래 그대로의 메시지임을 보증하.

는 기능이고 사용자 인증은 사용자 가 상대자에게 메시지를 보낼 때 그가 바로 임을, A , A

보증하는 기능이다 이러한 인증의 방법으로 디지털 서명이 있는데 해쉬함수는 이러한 디지. ,

털 서명에 필수적인 역할을 하고 있는 한 암호학적 도구이다 해쉬함수는. finger print,

등으로 불리기도 하는데 등의 공개키 암호시스템은MDS(manipulation detection code) , RSA

디지털서명에 사용될 수 있으며 또한 등의 대칭블럭암호시스템으로 해쉬함수를 만드는DES

데 사용될 수 있다.

제 절 해쉬함수와 디지털 서명1 :

해쉬함수는 정보화 사회에서 정보 보호를 위한 인증 및 디지털서명의 효율성을 높이기에 중

요하다 이러한 해쉬함수의 등장은 년 와 의 일방함수. 1976 Diffie Hellman[11] (one way

와 일방 함수 의 일반적인 개념을 바탕으로function) trapdoor (one way trapdoor function)

등에 의해 시작된 것으로 본다 여기서 집합 에서 로 가는 함수Rabin [21] . S T f : S T→

가 일방 이라는 것은 임의의(one way) x ∈ 에 대하여 일 때 로부터 역산하S y = f(x) , y

여 를 찾는 것이 계산상 불가능함을 뜻한다 또한 일방함수 가 트랩도어 라고x . E (trapdoor)

하는 것은 정보의 비밀부분 라 불림 이 있어서 가 되고 를D(trapdoor ) DE(x) = ED(x) = x , D

알면 를 쉽게 찾을 수 있는 경우를 말한다 디지털서명은 공개키 암호시스템과 해쉬함수를x .

이용하여 다음과 같이 할 수 있다 먼저 메세지 의 서명자는 서명비밀키 와 해쉬함수. M K h

및 서명생성함수 를 써서 서명 를 생성한다 즉 이다 다음 서명자는 메S . , S = (h(M),K) .π π

세지 과 서명 를 수신자에게 보낸다 여기서 해쉬함수는 압축된 메시지 을 생M S . H = h(M)

성하므로 의 계산량을 줄여서 디지털서명의 효율화를 도모하게 한다 이 후 수신자는 서. ,π

명검증키 와 서명검증함수P θ를 써서 조사한다 즉. , θ 로 두고 서명이 옳으면(h(M),P,S)

은 를 출력한다True False .

Page 16: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 16 -

공개키 암호시스템을 이용한 서명( )■

메시지 비밀키 공개키 서명M, K, P, S

서명 : (M.K)=Sπ

검증 : (M,P,S)==TRUE or FALSEθ

해쉬함수의 도입( )■■

해쉬함수 h : V* ---> Vk,

메시지 비밀키 공개키 서명M, K, P, S

서명 : (h(M),K)=Sπ

검증 : θ(h(M),P,S) == TRUE or FALSE

과 의 안전성 비교( ) ( )■ ■■

가 해쉬함수를 도입한 서명방식이 서명방식의 약점에 더 취약할 수 있다) ( )- ( )-■■ ■

나 해쉬함수를 도입한 서명방식이 서명방식의 약점을 보강할 수 있다) ( )- ( )-■■ ■

다 해쉬함수를 도입한 서명방식이 서명방식에는 적용되지 않는 새로운 약점을) ( )- ( )-■■ ■

갖기는 어렵다.

Page 17: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 17 -

제 절 해쉬함수의 안전성2 :

이제 해쉬함수를 보다 형식적으로 정의하기 위하여 일 때V = [ 0, 1 ] ,

V 1∪V2∪V∪□Vn,V 1∪V2∪□를 각각 V n,V *로 나타내기로 한다 이 때 함수. ,

h:V *→Vk를 해쉬함수라 한다 임의의 의 길이를 비트로 축약하는 함수. String k-

h:V *→Vk가 바람직한 해쉬함수이려면 "ISO/IEC/JTC1/SC20/WG2N118 ; Hash function

에서 제안한 다음과 같은 해쉬함수의 조건을 만족하여야for digital signatures, Apr.1988"

한다.

가 계산효율이 좋을 것)

나 일방향성 약) ( ) ( weak one-wayness )

해쉬값 로부터 이 되는 메세지 을 찾는 일은 계산상 불가능H h(M)=H M

다 일방향성 강) ( ) ( strong one-wayness )

어떤 메세지 과 그 해쉬값 가 주어졌을 때M H ,

가 되는 메세지h(M')=H M'≠M을 찾는 일은 계산상 불가능하다.

라 충돌회피성) ( collision freeness )

되는 메세지h(M)=h(M') M'≠M을 찾는 일은 계산상 불가능하다.

이와 같은 쌍 를 충돌쌍이라고 한다( M, M' )

Page 18: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 18 -

여기서 가 는 해쉬함수의 계산상의 효율성 조건을 말하고 나 다 라 는 해쉬함수의 안( ) ,( ), ( ), ( )

전성에 대한 조건이다 안전성 조건 나 다 는 피압축메세지 가 나왔을 때 원래의 메세. ( ), ( ) H ,

지 을 역산 내지는 변조하는 일을 방지하기 위한 기능을 갖게 하기 위함이고 라 는 이를M , ( )

테면 송신자가 처음 을 보내놓고 나중에 를 보냈다고 주장하는 부정 이른바 내부부정M M' ,

을 방지하기 위한 제약이다 여기서 되는. h(x) = h(x') x≠x'를 발견하는 일은 계산상 불가

능할 때 를 계산상 일대일 함수라 하고 이러한 의, h ( computationally one to one ) string

쌍 를 에 대한 충돌쌍 이라 한다 한편 계산상 일대일인 일방해쉬x, x' h ( colliding pair ) .

함수를 충돌의미 일방해쉬함수라 한다 계산상 불가능 하다는 것에 대해( collision free ) . " "

서는 여러가지의 엄밀한 정의가 있을 수 있으나 Damgárd 가 "collision free hash

에서 내린 충돌 회피성 정의를 따라 다음과 같이 수학적으로 정의할 수function family"

있다 정의. ( ): h:V *→Vk에 대하여 가 되는, h(x) = h(x') x≠x'를 발견하는 일이 계산상

어렵다는 것은 주어진 자연수 과 에 관한 다항식 에 대하여 임의의m . m P(m) polynomial

알고리즘(P(m)) time Δ가 가 되는h(x) = h(x') x, x' ∈ 단V( , x≠x' 를 찾을 확률이) 1/

□P(m)□ 보다 작음을 뜻한다.

앞서 언급한 바와 같이 해쉬함수에 관련된 주 문제는 안전성과 효율성의 문제이다 서명 시.

스템의 안전성의 문제는 결국 해쉬함수의 안전성의 문제로 귀착된다 위의 첫째 문제는 빠.

른 속도의 칩이 장착되어 있는 비밀키 블락암호알고리즘을 써서 가능하다 그러나 둘째 문.

제에 대해서는 아직 완전한 답이 없다 해쉬함수에 대한 일반적인 몇 가지의 공격법이 있는.

데 그 중에 대표적인 것으로 의 공격과 공격이 있다 이들, Yuval [27] Meet-in-the-middle .

은 유명한 의 변형으로 는 다음과 같다 한 학급의"Birthday paradox" "Birthday paradox" .

학생 수를 이라 하고 이 학급의 학생 중 적어도 명의 생일이 같을 확률 을 구하는r , 2 p(r)

문제에서 시작한다 이 때 이기 의한 최소의 자연수 은 으로서 우리가 직관적. , p(r) 1/2 r 23≥

으로 추측하는 답보다 훨씬 작은 수이다.

정리 A. [2] 주어진 해쉬함수 에 대해k-bit h S 1,S 2를 □S 1□ =□S 2□ = 2k/2인 임의의

메시지 집합이라 하자 이 때. , h(M1) = h(M2 를 만족하는) M i ∈ S i 가 존재할 확(i=1,2)

률은 이상이다1/2 .

Page 19: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 19 -

는 위의 정리를 이용하여 을 사용하는 및Coppersmith [5] RSA scheme Rabin scheme [21]

은 공격에 약함을 보였다 즉 공격자는 정Davies-Price scheme [9,10] meet-in-the-middle .

당한 메시지 에 대한 서명 를 알고 같은 서명값 를 갖는 위조 메세지M f(M) = S , f(M')=S

를 수용할만한 정도의 회수의 로 찾을 수 있다는 것이다 다음 정리에서 우리는M' . trial .

의 길이가 크지 않는 임의의 서명 은 공격에 약함을 볼imprint scheme meet-in-the-middle

수 있다.

정리 B. 주어진 해쉬함수에 대하여k-bit , 2 k/2+ 1회의 로 충돌쌍이 발견될 확률은trial 1/2

이상이다.

증명. h:V *→Vk를 주어진 해쉬함수라 하자 다음. □S 1□ =□S 2□ = 2k/2인 임의의 메시

지 집합 S 1,S 2를 잡는다 이런 집합은 한 개의 메시지로부터 몇 개의 변조 메시지를 만들.

고 이들을 결합하여 싑게 구성할 수 있다. S 1,S 2의 각 메시지에 를 적용하여 를h imprint

구하려면 2×2k/2= 2 k/2+ 1□2k/2회의 로 충분하다 이제 이들 들을 하여trial . imprint sorting

비교하면 같은 것이 있을 확률은 정리 로 부터 이상이다D 1/2 .

지금까지 알려진 최선의 방법을 적용할 때의 는 으로 알sorting time complexity 0(NlogN)

려져 있다 단 은 프로그램 의 크기 그러므로 이런 종류의 공격을 무력화하기 위해서.( , N list ).

는 일 필요가 있다 따라서 즉 를 이상으로 함이 요구된k/2 > 32 . k > 64 imprint 128-bits

다 또한 지금까지 제안된 해쉬함수의 기초함수에 있어서 연산의 핵심이 되는. atomic

으로서는 보통 다음과 같은 공개키 시스템이 사용되고 있다operation .

1. RSA system.

2. FEAL system.

3. Knapsack problem based system,

4. Modular squaring based system,

5. Discrete logarithm based system,

6. Error-correcting-code based system.

Page 20: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 20 -

그런데 대칭블락암호키 예 를 으로 하는 해쉬함수에 있어서는e( : DBS ) atomic operation

다음과 같은 약점으로 인하여 총돌쌍이 발견되기도 한다.

의 보수속성(1) : e (Complementary property) : eKc(M c) = (eK (M))c 이 된다 여기서.

X c 는 의 보수를 나타낸다X .

의(2) : e weak key property: eK1(eK2 (M)) 이 된다 단 여기서= M . , K 1 = K 2 또는

K 1 ≠ K 2 이다.

제 절 기존 해쉬함수의 분석3 :

본 연구팀은 기존의 해쉬함수를 다음과 같이 종류로 분류하였다 먼저 제 종 해쉬함수는3 . 1

가장 기본적인 해쉬함수로서 현재 사용되고 있는 해쉬함수들은 이들의 변형인 것이 많이 있

다 이러한 해쉬함수의 예로는 해쉬함수 와. DPHF(Davies-Price , 1984)

해쉬함수 이 있다 이러한 해쉬함수는 요구조건 가 나 다MMHF(Meyer-Matyas , 1982) . ), ), )

를 만족하지만 충돌쌍이 갖게되므로 충돌회피가 아니다 다음은 이러한 해쉬함수의 기본 스.

킴이다.

Page 21: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 21 -

제 종 해쉬함수는 공격을 피하기 위하여 를 키운 함수2 Meet-in-the middle imprint size k

이다 따라서 최소한 또는 여유를 갖기 위하여 을 쓴다 공. k=64 k=128 . Meet-in-the middle

격은 피하면서 계산효율은 좋게 유지하기 위하여 메세지로부터 를 출, k-bit 2k-bit imprint

력하는 해쉬함수의 개발 연구의 결과로 나온 것이며 기본 해쉬함수의 개량으로 고안된 것,

으로 다음과 같은 것이 있다 먼저 에서 심의된. ISO/DP10118 QGHF1(Quisquater-Girault,

와 의 수정안으로 고안된 이 있는데 이러한1989) QGHF1 QGHF2(Ouisquater-Girault. l989)

해쉬함수는 으로 대칭블락암호키 를 썼을때는 해쉬함수의 성능 가 와 안atomic operation e , )

정성조건 나 다 는 만족하지만 충돌회피성조건 라 에는 결함이 있다 다음에는), ) , ) .

함수가 있는데 이 함수는LRSHF(Left Right Spliting Hash Function. ISO/DP10118, 1989)

공격에 약함을 증명할 수 있다meet-in-the middle .

제 종 해쉬함수는 대칭블락암호시스템이 아닌 을 사용하는 해쉬함수를 말3 atomic operation

한다 이러한 예로서는 먼저 이 있다 이. MSHF( Modular squaring Hash Function, 1982) .

함수는 의 계산법등의 개량한 함수로 비교적 안전함을 증명Davies-Price Modular Squaring

할 수 있으나 데이터의 사칙연산을 수행해야하므로 전체 메세지 를 적용하는, 512 bit RSA

것과 거의 맞먹는 시간을 요한다 따라서 효율성이 결여된 함수이다 다음의 예는. . NpskHF(

로서 으로Knapsack prb, based Hash Function, Shamir-Damgard, 1989) atomic operation

을 사용하는 해쉬함수이다 이 해쉬함수는 의 문제를 바Knapsack problem . Shamir Knapsack

탕으로 가 정의한 함수이다 많은 메세지와 서명의 쌍을 얻게되면 암호화키인Damgard .

행렬 를 찾을 수 있다는 약점을 갖고 있다 이에 대해 최근에 개선안이 나온바trapdoor H .

있지만 이에 대해서도 같은 메세지에 대하여 여러번 서명을 받아보면 행률 를 찾trapdoor H

을 수 있음을 우리는 증명할 수 있다.

Page 22: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 22 -

그러나 값을 원하는 만큼 크게 갈 수 있으므로 공격을 무력화할 수 있k meet-in-the middle

다 또한 해쉬. CIFrPmtnHF(Claw Free Permutation based Hash Function, Damgard, 1987)

함수는 으로 를 사용하는 것이다 이는 충돌atomic operation Claw free permutation family .

회피함수로서 안전하다는 사실이 수학적으로 증명된다 그러나 이 해쉬함수는 전체 메세지.

에 를 적용하는 것과 맞먹는 시간이 요하는 문제점이 있으므로 해쉬함수로서 무가치하RSA

다 그 외에 등의. Hash function family, N-Hash, Stagger cyclic Hash, Feastel type Hash

해쉬함수가 있으나 안전성 또는 효율성에 문제가 있다.

제 절 기존 해쉬함수의 개선 방향4 :

해쉬함수를 통해 제안된 기존의 많은 인증 서명 시스템은 이미 지적된 해쉬함수의 여러 약-

점으로 인해 많은 문제점을 갖고 있다 그런데 많은 경우의 문제점들이 역함수가 존재하여.

야만 하는 기법들을 해쉬함수에 그대로 응용하여 생겼다 그러나Encrypt-Decrypt System .

인증 및 서명 시스템에서는 해쉬함수의 역함수가 결정적이지 않으므로 이미 제안된 해쉬함.

수들을 역함수 존재성등을 고려하여 보완 제작하면 위에서 기술된 문제점을 해결할 수 있으

리라 기대된다 지금까지 조사된 바의 대부분의 디지털 서명용 해쉬함수들은 충돌회피함수.

가 아니므로 완벽하게 안전한 것으로 볼 수 없는 것이든지 또는 실행시간이 너무 길다는 결

점이 있다 다음 가 짧은 모든 해쉬함수는 에 약하므로 확. imprint meet-in-the-middle attack

률적으로 충돌회피가 불가피하다 한편 실용성의 관점에서 대칭블락암호키를. atomic

으로한 해쉬함수가 중요하다 그러나 지금까지 제안된 거의 모든 해쉬함수는 대칭operation .

블락암호키의 보수속성이나 와 같은 함수적 구조로 인한 취약점을 가지weak key property

고 있다 그렇지만 이런 종류의 해쉬함수가 대단히 효율적이므로 이와 같은 취약점을 극복.

하는 연구가 요구된다 따라서 새로운 해쉬함수의 구성에는 이같은 성질을 갖지 않는 블럭.

암호 예 또는 을 이용한 암호 를 사용하든지 또는( : Knapsack Problem Modular squaring ) ,

이런 성질들이 전혀 작용할 수 없는 구성법을 고안해야 할 것이다.

Page 23: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 23 -

기존의 많은 해쉬함수는 을 으로 보내는 기초함수 가 대칭블(m+k)-bit string k-bit string f

락 암호키 에 의해e f(M.H) = eM(H)□ 단 은 은 로 정의되고 있H ( M m-bits, N n-nits)

다 이 때 초기치. , H 0에 의하여 M=M1∥M2∥□∥MN의 해쉬값은

FN(M1∥M2∥□∥MN,Ho) 이 된다 여기서. FN(M1∥M2∥□∥MN,Ho)은 점화식을 써서

f(M N,F N - 1(M 1∥M 2∥□∥MN-1,H o)) 으로 정의한다 이 때 의 보수속성에 의하여. , f

f(M c,H c) = eM c(H c )H c= (eM (H )) c□H c=eM(H)□H = f(M,N )이 된다 따라서 는 충. f

돌회피가 아니며 정리 에 의해, A F N은 충돌회피가 아니다 이제 이와 같은 충돌쌍에 대.

한 개선책을 살펴보자 실제 사용에 있어서. (1) f(M,H )= eM(H)□H 의 보수속성에 의해

만들어진 와(M,H) (Mc,Hc 이외의 충돌쌍은 만들기가 용이하지 않다고 본다 그렇다고 정당) .

한 사용자 양측이 그들만의 비밀키 H o를 공유하여 사용할 수도 있다 이 때. H o를 항상

저장해 둘 필요는 없다 왜냐하면 송수신자는 수신자에게 먼저 초기치를 공개키 시스템을.

이용하여 보낼 수 있기 때문이다 을. (2) M M1∥M2로 확장하여 이를테면( M1은 의 길M

이, M2는 자신M ) f(M,H) = F( M 1∥M2,H)로 하면 (M1∥M2)c에 의해 M1의 값이 바뀌

므로 이러한 종류의 충돌은 막을 수 있다 기초함수를 여기서. (3) f(M,H) = eM(H) + H (

는+ modulo 2k의 합 와 같이 정의한다 그러면 의 보수속성이 앞에서와 같은 종류의 충) . e

돌쌍을 제공하는데에 아무런 도움을 줄 수 없다.

최근에 를 바탕으로 소개된 해쉬함수는 계산 속도 및 안정성의 문제점만 보완되면S-Box

상당히 안전하고 효율적인 이 될 것이다 따라서 이러한 를 바탕으로 하hashing tool . S-Box

는 종합적인 해쉬함수의 개발이 필요할 것으로 본다 이제 다음 장에서 를 사용한. S-Boxes

해쉬함수의 설계에 대해 살펴본다.

Page 24: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 24 -

제 장 를 통한 해쉬함수 설계2 : S-Boxes

년 와 은 등을 사용하여 임의의 길이를 갖는1989 I. B. Damgard [6] R. C. Merkle [17] DES

스트링에서 일정한 비트로 가는 해쉬함수의 설계법을 기초해쉬함수를 사용하여 도입하였다.

또한 년에는 이 이를 토대로 안전한 에 기초한 해쉬함수를 제안하기1990 Merkle [16] S-Box

도 했다 본 연구팀은 가 제안한. Adams and Tavares [3] Structured Design of

의 방법을 이용하여 의 등을 사용하여Cryptographically Good S-Boxes DES S-Box

를 이용한 해쉬함수의 설계에 대한 연구를 하였다 이제 우선 의 를 통S-Box . DES S-Boxes

한 해쉬함수의 설계에 대해 논한다.

제 절 기초해쉬함수1 :

이제 로 두고V = {0,1} , V 1∪V2∪□Vn,V 1∪V2∪□를 각각 V n,V *로 나타내기로 한다.

임의의 길이의 스트링을 축약하는 일반적인 법칙을 설정하기는 지극히 어려우므로 해쉬함,

수 h:V *→Vk는 보통 하나의 기초함수 f:Vm+ k→V k를 바탕으로 정의된다 년. 1989 R. C.

은 이러한 생각을 바탕으로 가 충분함 임의성을 갖고 있다는 가정하에서 수 개Merkle DES

의 을 구성해 제안하였고 동년hash function , I. B. Damgárd는 일정한 길이를 일정한 길

이로 보내는 계산적으로 충돌회피인 기초해쉬함수가 있으면 임의의 길이를 일정한 길이로

보내는 충돌회피인 해쉬함수를 구성할 수 있음을 보였다 이들의 방법등을 따라 임의의 해.

쉬함수 h:V *→Vk는 보통 하나의 기초함수 f:Vm+ k→V k 를 바탕으로 다음과 같이 귀납적

으로 정의될 수 있다.

Page 25: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 25 -

메시지를 을 의 으로 나타낸다 여기서 필요하다면 적당한(1) M m-bit string concatenation .

길이의 00□0을 달아 MN을 으로 만들어m-bit string M=M 1∥M2∥□∥MN을 만든다.

(2) H 0 를 초기치로 잡는다=I .

(3) H i = f(M i,H i - 1 )( i = 1 ,2 ,□ , N )

(4) H=h(M,I)=HN를 해쉬값으로 잡는다.

여기서 기초함수 는 이를테면 또는 이들의 변형된 함수로f f(X,Y) =eX(Y), f(X,Y) = eY(X)

잡는다 단 은 메시지 을 키 로 암호화 한 것을 나타내며 이라. , eK(M) M K atomic operation

부른다.

다음에 증명하는 정리는 해쉬함수와 그것의 기초함수 사이의 관계를 나타내는 중요한 결과

로서 안전한 해쉬함수의 구성에는 안전한 기초 일방함수의 구성이 필수적임을 말하고 있다, .

정리 A. [2] 가 를 기초함수로 하는 해쉬함수라할 때 가 충돌회피일 필요조건은 가 충h f , h f

돌회피인 것이다.

증명 : 를 충돌회피 함수라 하자 일 때는 명백히 도 충돌회피 해쉬함수이다 귀납법f . N=1 h .

을 사용하기 위하여 까지에 대하여 정리가 성립한다고 가정하자 이제 메시지N-1 .

M'=M 1 '∥M 2'∥□∥MN'에 대하여 H N = H N'이라고 하면,

f(M n,H N - 1 ) = f(M N ',H N - 1 ') 즉, f(M N,h(M=M 1∥M2∥□∥MN-1))

= f(M N ',h (M =M 1'∥M 2'∥□∥MN- 1')) 의 충돌회피성으로부터f M N =M N ' 및

h(M 1'∥M2'∥□∥MN-1') = h(M =M 1∥M 2□□∥MN- 1)가 성립한다 귀납법 가정으로.

부터 M1∥M2∥□∥MN-1=M 1'∥M2'∥□∥MN-1'그러므로 이어야 한다 따라서 해M=M' .

쉬함수 는 충돌회피함수임을 증명되었다 역으로 에 대한 충돌쌍h . f M 1', M1이 쉽게 발견

되었다면 임의의 자연수 에 대하여 메시지N M 1∥M 2∥□∥MN',M 1',∥M 2',∥...∥M n'는

에 대한 충돌쌍이 되므로 는 충돌회피함수가 아니게 된다h h .

Page 26: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 26 -

보다 완전한 해쉬함수의 구성을 위하여 위에서와 같이 정의된 함수 를 바탕으로 다음과, h

같이 새로운 함수 를 정의하는 방법을 생각할 수 있다 이제g . γ :V *→Vm을 계산상 일대

일 함수라 하자 예를 들어( γ 을 의 길이로 생각할 수 있다 이제(M) M ). M∈V에 대하여

g(M) = f( γ 으로 함수 를 정의하자(M), h(M)) g .

정리 B. γ또는 중 적어도 하나가 충돌회피이고 가 충돌회피라고 하면h f , g(M =f( γ(M),

으로 정의된 함수 는 충돌회피이다h(M)) g .

증명 : 를 만족시키는 과 에 대해g(M)=g(M') M M' f( γ(M, h(M)) =f( γ 이다 가(M'), h(M')) . f

충돌회피이므로 ( γ(M), h(M)) = ( γ 즉(M'), h(M')), γ(M) = γ 이다 이(M'), h(M) =h(M') .

제 γ또는 중 적어도 하나가 충돌회피라는 사실로부터 가 된다 따라서 는 충돌회피h M=M' . g

함수이다.

이와 같이 기초함수의 안전성은 그것을 바탕으로 정의된 해쉬함수의 안전성에 직결되어 있,

는 것이다 뿐만 아니라 다음 정리에서 보는 바와 같이 충돌 회피인 기초 일방함수가 하나.

있으면 이를 바탕으로 임의의 길이의 메시지를 축약하는 일방해쉬함수를 만들 수 있다.

정리 C. 충돌회피 일방해쉬 함수[2] f :V m+ k→V k가 주어져 있다면 임의의 자연수 에, i

대하여 충돌회피 일방해쉬함수 F :V m + k + i →V k를 만들 수 있다.

Page 27: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 27 -

증명 : f:V m+ k→V k를 주어진 충돌회피 일방해쉬함수라하자 자연수 에 대하여. n=1, 2, ...

함수 F n :Vnm + k→V k을 다음과 같이 점화식을 써서 정의한다. F1(M, I) = f(M, I),

F n(M 1∥M2∥□∥MN,I) = f(M N,F n - 1(M 1∥M 2∥ ...∥M N,I)) 단 각(n = 2, 3, ...), ,

M i는 이다 이제 정리를 가 의 배수일 때와 그렇지 않을 때의 두가지로 나누어 증m-bit . i m

명한다 경우 가 의 배수일 때 이라 하면. ( 1. : i m ) i=(N-1)m FN:VNm+ k→V k가 되므로 F

를 F N으로 잡을 수 있다 이제. F N이 충돌회피 일방해쉬함수임을 보이면 된다 그러나 이.

것은 정리 로부터 바로 알 수 있는 사실이다 경우 가 의 배수가 아닐 때1 . ( 2. i m )

이라 하고i=(N-1)m +r(0<r<m) M'∈Vm+ i라 하자. M'=M1∥M2∥□∥MN∥E 단 는( , E

라고 할 때r-bit) , M=M 0∥M 1∥...∥M N∥MN+ 1 단( , M 0 = 1m - r∥0 r ,

M N + 1 = E∥0m - r이고 여기서 ut는 로 된 을 나타낸다 로 두면u t-bit string uu...u .)

는 로 확장된다 이제(m+k+i)bit string (M', I) ((N+1)m+k)-bit string (M, I) . F(M', I)=

F N + 2 로 정의하면 경우 에서와 마찬가지로 는 충돌회피 일방해쉬함수가 된다(M', I) 1 F .

제 절 의 를 통한 기초해쉬함수2 : DES S-Boxes

지금까지 조사된 바의 대부분의 디지털 서명용 해쉬함수들은 충돌회피함수가 아니므로 완벽

하게 안전한 것으로 볼 수 없는 것이든지 또는 실행시간이 너무 길다는 결점이 있다 또한.

가 짧은 모든 해쉬함수는 에 약하므로 확률적으로 충돌회imprint meet-in-the-middle attack

피가 불가피하다 그러나 실용성의 관점에서 대칭블락암호키를 으로한 해쉬. atomic operation

함수가 중요하다 그러나 지금까지 제안된 거의 모든 해쉬함수는 대칭블락암호키의 보수속.

성이나 와 같은 함수적 구조로 인한 취약점을 가지고 있다 그렇지만 이weak key property .

런 종류의 해쉬함수가 대단히 효율적이므로 이와 같은 취약점을 극복하는 연구가 요구된다.

따라서 새로운 해쉬함수의 구성에는 이같은 성질을 갖지 않는 블락암호 예( : Knapsack

또는 을 이용한 암호 를 사용하든지 또는 이런 성질들이 전혀Problem Modular squaring ) ,

작용할 수 없는 구성법을 고안해야할 것이다 그런데 최근에 를 바탕으로 소개된 해. S-Box

쉬함수는 계산 속도 및 안전성의 문제점만 보완되면 상당히 안전하고 효율적인 hashing

이 될 것이다 따라서 이러한 를 바탕으로 하는 종합적인 해쉬함수의 개발이 필요tool . S-Box

한 것으로 본다 이제 의 를 통하여 해쉬함수를 설계한다 다음은 데스 알고리. DES S-Boxes .

즘에서 사용되는 두 개의 치환과 개의 이다 이 것들은 다음과 같은 배열의 형태32 S-Boxes .

로 우선 메모리에 저장하자.

Page 28: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 28 -

Page 29: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 29 -

이제 주어진 입력값 바이트 짜리 입력값 은 개의 방이 있는 배열 에 저장8 block 64 input[64]

되게 된다 이 후 치환 에 의해 자리가 뒤집히게 된다. , per[] .

다음은 기초해쉬함수 의 주요 알고리즘이다 가 부터 까지 변하며 다음의 루프hash() . pass 0 1

를 두 번 반복 실행하게 된다 루프에 들어가면 먼저 비트가 비트씩 조각을 나눈 하나. 64 4 16

하나의 위치를 블럭은 로 다음 블럭은 으로 그리고 현재 위치의 블럭은 로last rot1 rotn roth

표현한다 다음 에 가면 가 가르키는 비트의 하위 비트에서 부터 까지의 수를. A: roth 4 3 0 7

얻어 를 선택할 때 사용한다 에서는 이렇게 얻어진 수 과 의 값등을 통S-Box . B: num pass

해 하나를 취하게 되고 이 값이 에 저장된다 다음 에서는 의 값이S-Box sbox . , C: sbox

블럭 및 블럭과 되게 된다 여기서 이 가르키는 블럭에서 다음일이 벌어지rot1 rotn XOR . rotn

므로 하는 일은 다음의 를 선택하는데 영향을 주게된다XOR S-Box .

Page 30: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 30 -

위와 같은 알고리즘에 의해 주어진 값의 해쉬값은 다음은 에 먼저 에input permuted[] iper[]

의해 역치환을 되게 된다 이렇게 치환된 값은 본래의 입력값인 과 를 되어 최종. input[] XOR

적으로 에 저장되는 것이다 마지막으로 의 반을 바이트 짜리 스트링input= . input[6] 4 hash[]

에 담아서 리턴을 하게 된다.

Page 31: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 31 -

다음은 기초해쉬함수의 부분이다 이 곳에서 보듯이 이 프로그램을 컴파일 시켜main() .

와 같이 명령을 하면 의 해쉬값이 화면에 쓰이게 된다 이 때c> hash 12345678 1234 . ,『 』

주어진 입력값이 비트보다 크거나 작으면 나머지 공간을 으로 메우고 해쉬값을 구하게64 0

된다.

제 절 의 를 통한 해쉬함수 분석3 : DES S-Boxes

절에서 도입된 기초해쉬함수 를 사용하여 임의의 비트에서 비트로 가는 해쉬함수 는2 f 32 g

다음과 같이 귀납적으로 정의할 수 있다.

Page 32: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 32 -

이제 구현된 해쉬함수를 분석하자.

같은 에 의한 두 번의 가 문제를 일으킬 수 있다1) S-Box XOR .

적어도 두 번 이상의 반복 시행이 있어야 한다.

의 개 를 로 정렬시켰다DB 32 S-Box SBox[2*2][8] .

Sblock=SBox[2*j+(i/2 mod 2)] [3-bits of block[i]]

한 방향으로만 를 하면 가 감소될 수 있다2) XOR circuit-depth .

두 방향으로 를 하면 가 보존된다XOR circuit-depth .

block[next]=block[next] XOR Sblock

block[last]= block[last] XOR Sblock

두 방향으로 를 하기에 가 보존된다3) XOR parity

은 암호시스템에는 적당하지 않은 이다eK(M) S-Box

의 값은 에서 나온 값의 를 갖는다fK(M) eK(M) 16 or 32-bits

가 정도 되어야 에 안전4) Output bit 128 birthday Paradox Attack

를 통한 기초해쉬함수 프로그램 원본DES :

Page 33: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 33 -

Page 34: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 34 -

Page 35: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 35 -

제 장 해쉬함수를 위한 설계3 : S-Boxes

장에서 우리는 의 를 사용하여 해쉬함수를 구현하였다 그런데 이때 사용된2 DES S-Boxes .

의 를 비롯하여 기존의 에는 혹시 가 있을 수도 있다 또한DES S-Boxes S-Boxes trapdoor .

공격에 견디기 위해서는 적어도 비트의 해쉬값을 갖는 해쉬함수가meet-in-the-middle 128

필요하게 되는데 이를 위해서 큰 가 필요하게 튄다 이 장에서는 이러한 문제의식, S-Boxes .

아래에서 를 이루고 있는 부울함수의 여러 조건등을 통해 의 설계에 대해S-Boxes S-Boxes

논한다 즉 비트에서 비트로 가는 는 개의 부울함수로 나타내어지는데 안전한. , n n S-Box n ,

의 제작은 이를 구성하는 부울함수의 모임에 의해 결정된다 궁극적으로 부울함수의S-Box .

조건들은 안전한 의 설계에 사용필 수 있는데 이 장에서는 먼저 암호학적으로 유S-Boxes ,

용한 부울함수의 조건을 알아보고 또한 변환을 이용하여 그러한 조건을, Walsh-Hadamard

만족하는 식과 알고리즘에 대해 알아본다 이 장에서는 구체적으로. S-Box (0 15 3 1 12 13

를 이루는 개의 부울함수를 예로하여 내용을 전개해 나간다4 8 9 11 2 6 10 5 l4 7) 4 .

제 절 부울함수와1 : S-Boxes

부울함수는 본래 부울대수 위에서 정의되는데 논리적인 연산을 대수적인 연산으로 바꿀 수,

있기에 이 장에서는 편의상 유한체인 CF 에서 정의된 부울함수를 중심으로 내용을 전개(2)

한다 개의 변수를 갖는 부울함수는. n f :GF(2)n→GF(2) 이 되는데 어떤 경우에는 치역이,

인 경우가 편리하기 때문에{-1, +l} f(x 대신에) F(x) = (- 1) f( x ) :GF(2) n → {1,- 1}를

많이 사용하기도 한다.

Page 36: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 36 -

개의 변수를 갖는 부울함수n f :GF(2)n→GF(2) 에 대해서 를 의 을 나, v(f) f truth table

타내는 길이가 2n인 벡터라 하자 이 때 부울함수는. , 2 n 길이의 벡터 또는 유한기하(0,1)-

의 측면에서 GF(2) n의 부분집합으로도 이해될 수 있다 비트에서 비트로 가는. n- n-

는 개의 변수를 갖는 부울함수 개가 모여 만든 함수로서S-Boxes n n GF(2) n→GF(2)2 인

함수가 된다 따라서 도. S-Boxes nx2n 인 행렬로 표현할 수 있다 이러한 표현은 유(0,1)- .

용한데 예를 들어 의 전단사 성질은 가, S-BOX S-BOX nx2n 인 행렬로 표현될 때(0,1)-

들을 일차결합한 벡터의 가 항상row weight 2 n - 1인 것이다.

제 절 부울함수와 해다마드 변환2 :

부울함수의 해다마드 변환은 부울함수의 여러 성질을 간단한 식등으로 나타내어 주기에 상

당히 유용하다 이제 부울함수. f :GF(2) n →GF(2)와

F(x)= (- 1 ) f( x ) :GF(2) 2 → {1,- 1} 를 생각하자 이 때. , F(x 의 해다마드 변환과 역변환)

은 다음과 같이 정의된다.

Page 37: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 37 -

이러한 정의는 를 길이가F(x) 2n인 벡터로 볼 때, 2n×2n 인 다음의 해다마드 행렬에 의해

간단히 행렬의 식으로 표현될 수 있다 즉. , 2n×2n 행렬 를H GF(2) n×GF(2)n 행렬로 보

아 H[hxw] 여기서( h xw = (-1)x□w로 표현하면 해다마드 변환은) F=FH 으로 간단히 표

헌된다 이렇게 해다마드 변환을 해다마드 행렬에 의한 변환으로 이해하면 다음과 같이 부. ,

울함수의 해다마드 변환을 컴퓨터를 통해 쉽게 구할 수 있다 다음은. S-Box (0 15 3 1 12

를 이루는 개의 부울함수 그리고 를13 4 8 9 11 2 6 10 5 14 7) 4 f[1], f[2], f[3], f[4]

해다마드 행렬 을 이용하여 해다마드 변환을 구하고 그 값을 배열 에h[16][16] tf[16][4]

넣는 알고리즘이다 먼저 아래의 것은 배열 에. u[l6][4] GF (2) n의 비트 짜리 벡터 개를4 16

모두 넣는 것이다.

다음은 GF (2) n 을 나타내는 배열 를 이용하여 해다마드 행렬을 구해 배u[16][4] 16x16

열 에 저장하는 알고리즘이다h[16][16] .

다음의 알고리즘은 개의 부울함수 그리고 를 해다마드 행렬 을4 f[1], f[2], f[3], f[4] h[16][16]

이용하여 해다마드 변환을 구하고 그 값을 배열 에 넣는 알고리즘이다tf[16][4] .

Page 38: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 38 -

제 절 비선형거리와 완전비선형위수3 :

f:GM(2)n→GF(2) 인 부울함수에 대해서 가 의 을 나타낸다고 하자 이, v(f) f truth table .

때 모든 아핀부울함수 들의 를 모아 놓은 공간을 차 리드뮬러코드, f v(f) 1 (Reed-muller

라 하고 으로 표시한다 따라서Code) , R(l,n) . m= 2 n 이라면 은R(1,n) GF (2) m의 부분공간

이 된다. B(n)={f: f: GF (2) n 는 부울함수 의 원소 와 의 거리 는 와-> GF(2) } f g d(f.g) v(f)

의 거리로 정의된다 또한 의 비선형거리 는v(g) Hamming . f (f) min { d(f,g) : gδ ∈

으로 정의된다 일반적으로 에 대해R(1,n) } . k k(f) = min { d(f,g) :δ δ ∈ 이다R(k,n) } .

비선형거리는 다음과 같이 해다마드 변환을 통해 구할 수도 있다.

비선형거리는 : (δ f)= min l∈R nd(f,l)

이제 의 를R(1,n) covering radius γ n 이라 하면 다음의 사실이 성립한다.

이 짝수이면(1) : n γ n은 2 n - 1 - 2 n - 2 /2 이다.

이 홀수이면(2) : n 2 n - 1 - 2 n - 1/2 ≤ γ n≤ 2n - 1 - 2 n - 2/2 이다.

Page 39: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 39 -

참고로 이상의 홀수인 에 대한9 n γ n 의 값은 아직 미해결 문제로 남아있다 이제. m= 2n

이라 할 때, GF (2) n을 으로 짜른 의 를R(l,n) coset C weight max { wt(v) : v∈ 로C }

정의하고 이러한 를 갖는 의 원소를 의 라 한다 짝수인 과. weight C C coset-leader . n f ∈

에 대해 의 비선형거리 는 를 포함하는 의 로 정의된다 특히B(n) f (f) f coset weight . (f) =δ δ

2 n - 1 - 2 n - 2 /2 인 함수 를 벤트함수 이라 한다 벤트함수의 비선형위수f (bent function) .

대수적 표준형의 차수 가 로 제안되어 있으며 또한 가 아니다 그러( ) n/2 , (0,1)-balanced .

나 벤트함수는 이상적인 비선형성을 갖고 있기에 어떤 암호학적 성질을 갖는 암수가 벤트,

함수와 가까울 수록 그 함수는 바람직하다고 말할 수 있다 함수의 성질은 이 짝수일. bent n

때 다음과 같이 해다마드 변환을 통해 확인할 수 있다.

이제 부울함수 f∈ 가 선형함수이고B(n) a∈GF (2) n 를 임의의 벡터라 하자 그러면 임의.

의 에 대해 가 되며 따라서 임의의 값에 대해x (x)f(x+a) = f(x) + f(a) , x f(x+a) - f(x)

는 일정한 값 를 갖는다 이제 이러한 성질을 일반화하여 다음과 같이 의사아핀함수를f(a) .

정의하자 즉 임의의 벡터. , a∈GF (2) n에 대해서 의 값이 값에 상관없이, f(x+a) - f(x) x

일정한 값을 가질 때 함수 를 의사아핀함수라 한다 임의의 벡터f . a∈GF (2) n 에 대해서,

인 의 개수와f(x+a) = f(x) x f(x+a) ≠ 인 의 개수가 같은 함수 를 완전비선형함f(x) x f

수라 한다 또한 가 이하인 임의의 벡터. weight d a∈GF (2) n 에 대해서 인, f(x+a) = f(x)

의 개수와x f(x+a) ≠ 인 의 개수가 같은 함수 를 완전비선형위수가 인 함수라 한f(x) x f d

다 이에 대해 다음에 제시되는 정리를 보자. .

정리 D : 완전비선형위수에 대한 다음의 명제는 서로 동치이다.

부울함수(1) : f: GF (2) n 의 완전비선형위수가 이다-> GF(2) d

Page 40: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 40 -

가 이하인 임의의 벡터 에 대해(2) : weight d c ,

가 이하인 임의의 벡터 에 대해(3) : weight d c ,

F (x) = (- 1) f( x ) :GF(2) n→ 이면{1,-1}

가 이하인 임의의 벡터 에 대해(4) : weight d c ,

이제 은 집합A(n) { f ∈ 는 의사아핀함수 을 나타내며 은 집합B(n) : f } , (n) { fπ ∈B(n) :

는 완전비선형함수 을 나타내며f } , (f) = min { d(f, g) : gρ ∈ 을 나타낸다고 하자A(n) } .

이 때 의사아핀함수의 집합 은 위수가 인 차 코드 을 당연히, A(n) n 1 Reed-Muller R(1,n)

포함한다 따라서 이 된다 다음 정리는 주어진. (f) (f) . fδ ρ≥ ∈ 이 완전비선형함수일 조B(n)

건이다.

정리 E : 다음은 f∈ 이 완전비선형함수일 필요충분조건이다B(n) .

이 아닌 임의의 벡터(l) 0 c∈GF (2) n 에 대해 f*f(c) = 0

임의의 벡터(2) c∈GF (2) n 에 대해 □F (c )□ = 2 n/2

임의의 벡터(3) c∈GF (2) n에 대해 ∑ F̂ 2 (w )(-1)w□c = 0 2

임의의 아핀함수(4) g∈ 에 대해 의 값은R(1,n) d(f,g) 2 n - 1±2 n- 2/2

(5) δ ( f ) = 2 n - 1- 2 n - 2/2

(6) ρ ( f ) = 2 n - 2

는 함수이다(7) f bent .

Page 41: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 41 -

임의의 아핀함수(8) g∈ 에 대해 의 절대값은R(1,n) c(f,8) 2 - n/2

증명 : 앞으로 는 로 가는 부울함수라 하자 해다마드 변환은f, g {+1, -1} . f*f F̂2이다.

따라서 가 완전비선형함수이면f F̂2은 상수함수이고 F*F(0)= 2 n이므로 □F (c )□ = 2 n/2

이다 이제. Lw :x→xw 라 하자 여기에서. F(w) = # { x :f(x)= L w(x)}-# {x : f(x) ≠

L w (x)}

따라서 L*w 를(x) Lw(x)+1로 잡으면

d(F,L W (x ))= 2n - 1 -1/2 F (w )이며,

d(F,L *w (x))= 2n - 1+ 1/2F (w )이다

따라서 가 완전비선형함수이면 임의의 아핀함수f , g∈ 에 대해R(1,n)

d(f,g )= 2 n - 1±2 n - 2/2 이다.

이제 d(f,g)= 2 n - 1+ 1/2F(w )라는 사실에서 δ ( f ) = 2 n - 1- 2 n - 2 /2이 된다.

그런데 임의의 에 대해 의 정리에 의해f Parseval

∑ F̂2(w )= 2 2n이다.

따라서 만일 가 완전비선형함수가 아니라면 어떤 에 대해f c

□F(c)□>2 n/2이다.

max { δ(f):f∈B(n)의 값은 2 n - 1 - 2 n - 2 /2이다 따라서. f∈B(n)이 벤트함수일 필요충분

조건은 δ ( f ) = 2 n - 1- 2 n - 2/2이다 또한. max { ρ(f) f∈B(n)의 값은 2 n - 2이다 따라서.

f∈B(n)이 벤트함수일 필요충분조건은 ρ( f) = 2 n - 2이다 여기서 가 완전비선형함수가 아. f

니면 δ ( f ) = 2 n - 1- 2 n - 2/2이다 이제 주어진 두 개의 부울함수 와 에 대해 와 의 교차. f g f g

상관계수는 다음과 같이 정의된다. c(f,g)=( # {x : f(x)=g(x) } - # {x: f(x) ≠ g(x)})/ 2 n.

따라서 g = L w라면 c(F,L w ) = F (w )/2n

= 2 n - 2/2이다.

다음의 의 비선형거리를 의 해다마드 변환인 를 사용하여 구한 후 배열 에 넣는 알f f tf , df[4]

고리즘이다.

Page 42: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 42 -

알고리즘 :

실행결과 :

다음의 의 완전비선형위수를 의 해다마드 변환안 를 통해 구한 후 화면에 그 결과를 쓰f f tf ,

게 하는 알고리즘이다.

알고리즘 :

Page 43: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 43 -

Page 44: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 44 -

실행결과 :

제 절 부울함수와 조건4 : SAC

알고리즘 :

Page 45: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 45 -

Page 46: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 46 -

실행결과 :

제 절 부울함수와 상관계수5 :

주어진 두 개의 부울함수와 와 에 대해 와 의 교차상관계수 는f g f g c(f,g) (#{x : f(x)=g(x)}

-# {x: f(x) ≠ g(x)})/ 2 n 이다 따라서 는. c(f,g) 2 n-2*d(v(f),v(g))를 2n으로 나눈 것이

다 그런데 가. g L w일 경우 c(f, L w)는 정의에 의해 F(w)/ 2 n임에 유의하자 이러한 이유등.

에 의해 가 완전비선형함수일 필요충분조건은 가 모든 아핀함수와 최소의 상관계수를 갖f f

을 때이다 따라서 어떠한 암호학적 조건에 맞는 함수는 완전비선형 함수에 가장 가까이 있.

으면 바람직하다 예를 들어 스트림 블락시스템에 유용한 함수를 보자. correlation immune .

그런데 완전비선형함수의 성질은 함수의 성질과 위배된다 위수가correlation immune . m

인 함수는 웨이트가 이하인 임의의 벡터 에 대해서 이 된correlation immune m w F(w)=0

다 따라서 그러한 벡터 에 대해. w c(f, L w 는 이 된다 따라서 정리에 의해) 0 . Parseval's

다른 아핀 함수와 와의 상관계수가 높게된다 여기서 와 제로함수 와의 상관계수f . f 0 c(f,0)

는 정의에 의해 함수 의f ± 균형도를 표시해준다 따라서 완전비선형함수의1- . ± 균형도는1-

2 - n/2이다 그런데 이것은 이 커짐에 따라 으로 수렴해 간다 따라서 완전비선형 함수. n 0 .

이 짝수일 때 함수 는 발란스는 아니지만 이 커짐에 따라 발란스 비슷하게 되(n Bent ) 0/1 n

고 또한 비선형성이 우수하므로 암호학적인 부울함수가 가져야할 조건중에 하나라고 할 수,

있다 다음은 주어진 함수 의 완전비선형위수를 계산하는 알고리즘이다. f .

Page 47: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 47 -

알고리즘 :

Page 48: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 48 -

실행결과 :

제 절 의 분석6 : DES S-Boxes

Page 49: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 49 -

다음은 데스의 를 배열 에 정렬시킨 것이다 이렇게 정렬을 시킨 후 차S-Boxes SBox[8][64] . ,

례로 모든 를S-Box S ij로 이름을 주자 이제 데스의 를 분석한 결과를 기술한다. S-Box .

모든 S-Box S ij는 전담사함수였다 이제. S-Box S ij의 비선형거리를 S ij를 이루는 부울함

수의 비선형거리의 합으로 정의하자 이 때. . S74의 비선형거리는 이고8 ,

S 23,S 33 ,S 34 ,S 64,S 63 그리고 S83의 비선형거리는 였다 그 외의 에 대해12 . S-Box S ij의

비선형거리는 대부분 와 이었다 데스의 모든 부울함수는 보다 큰 에 대해 차의14 16 . 1 m m

완전비선형함수가 아니었다 따라서 모든 부울함수는 조건을 만족하지 않았고 물론. SAC ,

차의 조건도 만족하지 않았다 데스의 개 부울함수 가운데 개만이 차의m(>0) SAC . 128 15 1

함수였으며 차 이상의 함수는 없었다 다음은Correlation-immune , 2 Correlation-immune .

이러한 분석에 사용된 알고리즘이다.

Page 50: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 50 -

프로그램 원본 :

Page 51: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 51 -

Page 52: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 52 -

Page 53: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 53 -

Page 54: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 54 -

Page 55: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 55 -

Page 56: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 56 -

Page 57: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 57 -

참고문헌

김광조 함수의 암호학적 성질에 관한 고찰 통신정보보호학회 논문지 권 호[1] , Bent , , 1 1

(1991). 85-90

황석근 조한혁 디지털 서명과 해쉬함수 통신정보보호 학회지 권 호[2] & , , , 2 1 (1992), 23-29

[3] C. Adams and S. Tavares, The structured Design of cryptographically good

S-Boxes, J. Cryptology 3 (1990), 27-41.

[4] Carter and Wegman, Universal classes of hash functions, J. Computer and System

Sci. 18 (1979), 91-110.

[5] D. Coppersmith, Another birthday attack, Proc. of Crypto '85, LNCS 128 (1986),

14-17.

[6] I. B. Damgárd, A design principle for hash functions, Proc. of Crypto' 89

(1990), 416-427.

[7] Data Encryption Standard, FIPS Pub. 46, N.B.S., US Dept. of Comm., Jan., 1977.

[8] D. W. Davies, Applying the RSA digital signature to electronic mail, IEEE Computer

16 No.2 (1983), 55-62.

[9] D. W. Davies and W. L. Price, The application of digital signatures based on public

key cryptosystems, NPL Peport DNACS 39/80, National Physical Laboratory, Teddington,

Middlesex, England, 1980.

[10] D. W. Davies and W. L. Price, Digital signatures-An update, Proc. 7th Internet.

Conference on Computer Communications, (1984), 845-849.

[11] W. Diffie and M. E. Hellman, New directions in cryptography, IEEE Trans Inform.

Theory, IT22. 6 (1976), 644-654.

[12] R. Forre, The strict avalanche criterion: spectral properties of Boolean functions and

an extended definition, in Advances in Cryptology: Proc. of CRYPTO' 88 (1989),

450-468.

[13] S. Goldwasser, S. Micali and R. L. Rivest, A 'paradoxical' solution to the signature

problem, IEEE (1984), 441-448.

[14] Godlewski and Camion, Manipulation and errors, Localization and detection,

Proceedings of Erocrypt' 88, Springer.

[15] ISO/DP 10118, Hash functions for digital signatures, 1989.

[16] R, C. Merkle, A fast software one-way hash function, J, Cryptology 3 (1990),

43-58.

Page 58: 해쉬함수를통한인증및서명기법연구 - ITFIND · 에는기존의여러가지 들을조사 비교분석하여그들의안전성과효율성을hashfunction , 비교검토하였다

- 58 -

[17] R. C. Merkle, one way hash functions and DES, proc. of CRYPTO' 89 (1990),

428-445.

[18] W. Meier and O. Staffelbach, Nonlinear criteria for cryptographic functions, Proc. of

EUROCRYPT' 89, 549-562.

[19] C. H. Meyer and S. M. Matyas, Cryptography A new dimension in computer data

security, Tohn Wiley and Sons, New York, 1982.

[20] J. Pieprzyk and G. Finkelstein, Toward effective nonlinear cryptosystem design, IEE

Proc. 135 (1988), 325-335.

[21] M. Rabin, Digitalize signatures, In R. Demillo et al., editor, Foundation of Secure

Computation, Academic Press, 1978, 155-166.

[22] O. S. Rothaus, On "Bent" functions, J. Combi. Theory (A) 20 (1976), 300-305.

[23] A. Shamir, Identity-based cryptosystems and signature scheme, Proceedings of

Crypto'84, Lecture Notes in Comp. Sci. 196, Springer, 1985.

[24] A. F. Webster and S. E. Tavares, On the design of S-boxes, Proc. of CRYPTO' 85

(1986), 523-534.

[25] D. Welsh, Codes and Cryptography, Clarendon Press, Oxford, 1989.

[26] G. Z. Xiao and J. L. Massey, A spectral characterization of correlation-immune

combining functions, IEEE Trans. Info. Theory 34 (1988), 569-571.

[27] G. Yuval, How to swindle Rabin, Cryptologia 3 No.3 (1979), 187-189.