1 |
1
평문 메시지 M의 메시지 길이를 2n비트의 배수로 패딩한 후 이를 M'이라 놓고, 상기 M'의 길이를 이를 아래와 같이 k개의 2n비트 블록 M1,
|
2 |
2
제1 블록암호화수단의 이전단에서 상기 Hi-1을 입력으로 받아 n비트의 상수인 c와 배타적 논리합하는 제1 배타적논리합수단과; 상기 제1 블록암호화수단의 이후단에서 상기 제1 블록암호화수단에 의해 블록암호화된 값과 상기 Hi-1을 배타적 논리합 연산하는 제2 배타적논리합수단과;상기 제2 블록암호화수단의 이후단에서 제2 블록암호화수단에 의해 블록암호화된 값과 상기 Gi-1을 배타적 논리합 연산하는 제3 배타적논리합수단과;상기 제1 치환수단 이후단에서 상기 제1 치환수단에 의해 획득한 n 비트의 2개의 값 중 어느 하나를 상기 c와 배타적논리합 연산하는 제4 배타적논리합수단과; 상기 제3 블록암호화수단의 이후단에서 상기 제3 블록암호화수단으로부터 출력된 n 비트 길이의 값을 상기 제1 치환수단에 의해 획득한 n 비트의 2개의 값 중 어느 하나와 배타적논리합 연산하는 제5 배타적논리합수단과; 상기 제4 블록암호화수단의 이후단에서 상기 제4 블록암호화수단으로부터 출력된 n 비트 길이의 값을 상기 제1 치환수단에 의해 획득한 n 비트의 2개의 값 중 다른 하나와 배타적논리합 연산하는 제6 배타적논리합수단을 더 포함하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 장치
|
3 |
3
제1항 또는 제2항에 있어서, 상기 제1 블록암호화수단에서 사용하는 상기 2n 길이의 키는 상기 Mi를 4개의 n/2비트 블록 m1,m2,m3,m4로 나누고 그 나눈 값 중 m1∥m2∥Gi-1을 암호키로 사용하며, 여기서, ∥는 연접을 의미하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 장치
|
4 |
4
제1항 또는 제2항에 있어서, 상기 제2 블록암호화수단에서 사용하는 상기 2n 길이의 키는 상기 Mi를 4개의 n/2비트 블록 m1,m2,m3,m4로 나누고 그 나눈 값 중 m3∥m4∥Hi-1을 암호키로 사용하며, 여기서, ∥는 연접을 의미하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 장치
|
5 |
5
제1항 또는 제2항에 있어서, 상기 제3 블록암호화수단에서 사용하는 상기 2n 길이의 키는 상기 Mi를 4개의 n/2비트 블록 m1,m2,m3,m4로 나누고 그 나눈 값 중 m3∥m1과 상기 제1 치환수단에 의해 획득한 n 비트의 2개의 값 중 어떤 하나를 연접하여 암호키로 사용하며, 여기서, ∥는 연접을 의미하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 장치
|
6 |
6
제5항에 있어서, 상기 제4 블록암호화수단에서 사용하는 상기 2n 길이의 키는 상기 Mi를 4개의 n/2비트 블록 m1,m2,m3,m4로 나누고 그 나눈 값 중 m3∥m1과 상기 제1 치환수단에 의해 획득한 n 비트의 2개의 값 중 다른 하나를 연접하여 암호키로 사용하며, 여기서, ∥는 연접을 의미하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 장치
|
7 |
7
평문 메시지 M의 메시지 길이를 2n비트의 배수로 패딩한 후 이를 M'라하고, 상기 M'의 길이를 k개의 2n비트 블록 M1,
|
8 |
8
제7항에 있어서, 상기 제1 블록암호화단계에서 형성하는 α은 다음의 수학식에 의해 구하고, α ← B((m1∥m2)∥Gi-1,Hi-1 c) Hi-1여기서, B(k,M)는 2n비트 k를 키로 사용하여 n비트 메시지 M을 블록암호로 암호화한 암호문을 나타내며, ∥는 연접을 나타내고, 는 배타적 논리합을 나타내며, c는 n비트의 임의의 상수를 나타내는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
9 |
9
제7항에 있어서, 상기 제2 블록암호화단계에서 형성하는 β는 다음의 수학식에 의해 구하고, β ← B((m3∥m4)∥Hi-1,Hi-1) Gi-1 여기서, B(k,M)는 2n비트 k를 키로 사용하여 n비트 메시지 M을 블록암호로 암호화한 암호문을 나타내며, ∥는 연접을 나타내고, 는 배타적 논리합을 나타내며, c는 n비트의 임의의 상수인 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
10 |
10
제7항에 있어서, 상기 제1 치환단계에서 획득하는 2개의 값 중 어느 하나는 γ ← αu∥βl의 방법으로 구하고, 다른 하나는 δ ← dsβu∥αl의 방법으로 치환하여 구하며, 여기서, αu는 α의 2n비트 중 α의 상위 n비트 값을 나타내고, βl은 β의 2n비트 중 β의 하위 n비트 값을 나타내며, βu는 β의 2n비트 중 β의 상위 n비트 값을 나타내고, αl은 α의 2n비트 중 α의 하위 n비트 값을 나타내는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
11 |
11
제10항에 있어서, 상기 제3 블록암호화단계에서 형성하는 α'는 다음의 수학식에 의해 구하고, α' ← B((m3∥m1)∥δ,γ c) γ 여기서, B(k,M)는 2n비트 k를 키로 사용하여 n비트 메시지 M을 블록암호로 암호화한 암호문을 나타내며, ∥는 연접을 나타내고, 는 배타적 논리합을 나타내며, c는 n비트의 임의의 상수인 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
12 |
12
제10항에 있어서, 상기 제4 블록암호화단계에서 형성하는 β'는 다음의 수학식에 의해 구하고, β' ← B((m4∥m2)∥γ,δ) δ 여기서, B(k,M)는 2n비트 k를 키로 사용하여 n비트 메시지 M을 블록암호로 암호화한 암호문을 나타내며, ∥는 연접을 나타내고, 는 배타적 논리합을 나타내며, c는 n비트의 임의의 상수인 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
13 |
13
제7항에 있어서, 상기 제2 치환단계에서 획득하는 2개의 값 중 어느 하나는 Hi(34)는 Hi ← α'u∥β'l의 식에 의해 구하고, 다른 하나는 Gi(44)는 Gi ← β'u∥α'l의 방법으로 치환하여 구하며, 여기서, α'u는 α'의 2n비트 중 α'의 상위 n비트 값을 나타내고, β'l은 β의 2n비트 중 β'의 하위 n비트 값을 나타내며, β'u는 β'의 2n비트 중 β'의 상위 n비트 값을 나타내고, α'l은 α'의 2n비트 중 α'의 하위 n비트 값을 나타내는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
14 |
14
제7항에 있어서, 상기 제2 치환단계 이후에 획득된 상기 암호문들을 연접하고 상기 과정을 k회 수행하여 해쉬함수의 최종 출력인 Hk∥Gk값을 획득하는 단계를 더 포함하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|
15 |
15
제14항에 있어서, 상기 획득된 출력된 암호문인 H1∥G1 내지 Hk∥Gk 모두 연접하여 암호문을 완성하는 단계를 더 포함하는 것을 특징으로 하는 블록암호 해쉬 운영모드의 압축함수 설계 방법
|