1 |
1
데이터를 64비트로 나눈 블록을 16라운드 페이스텔(feistel)형 공통키 블록 암호 처리를 실행하는 암호 처리 방법에 있어서, 64비트의 평문에 초기 치환을 수행하는 단계;마스터 키를 패리티 드롭하여 생성된 암호화 키(cipher key)를 비트 왼쪽 순환(left shift) 및 압축치환(compression permutation)을 거쳐 제1 내지 제15 라운드 키를 생성하고 상기 비트 왼쪽 순환, 레지스터의 오류 주입 및 압축치환을 통해 제16 라운드 키를 생성하는 단계;상기 초기 치환이 수행된 64비트의 평문을 두 개의 32비트로 나누어 왼쪽 레지스터 및 오른쪽 레지스터에 저장한 후, 제1 내지 제16 라운드를 통해 상기 제1 내지 제16 라운드 키를 이용한 암호화 연산을 통해 수행하는 단계; 및상기 제1 내지 제16 라운드의 암호화 연산을 통해 생성된 비트들에 대해 상기 초기 치환의 역과정을 수행하는 단계를 포함하는 암호 처리 방법
|
2 |
2
제 1 항에 있어서,상기 제1 내지 제15 라운드 키 및 제16 라운드키를 생성하는 단계는상기 암호화 키(cipher key)를 두 블럭으로 나누어 제1 내지 제15 라운드를 통해 1 비트 또는 2 비트 왼쪽 순환(left shift)을 하고 압축치환(compression permutation)을 거쳐 제1 내지 제15 라운드 키를 생성하고 상기 제1 내지 제15 라운드를 통해 1 비트 또는 2 비트 왼쪽 순환(left shift)을 한 암호화 키(cipher key)를 1 비트 왼쪽 순환(left shift)을 하고 왼쪽 또는 오른쪽 레지스터에 오류를 주입한 후 압축치환을 거쳐 제16 라운드 키를 생성하는 것을 특징으로 하는 암호 처리 방법
|
3 |
3
제 2 항에 있어서,상기 제1 내지 제15 라운드 키 및 제16 라운드키를 생성하는 단계에서제1, 제2, 제9 및 제16라운드에서는 1 비트 왼쪽 순환(left shift)을 수행하는 것을 특징으로 하는 암호 처리 방법
|
4 |
4
제 1 항에 있어서, 상기 제1 내지 제15 라운드 키 및 제16 라운드 키는 48 비트인 것을 특징으로 하는 암호 처리 방법
|
5 |
5
제 4 항에 있어서,상기 제16 라운드 키는 왼쪽 또는 오른쪽 24비트에 오류가 주입된 값이고 나머지 24비트는 오류가 주입되지 않은 라운드 키값을 가지는 것을 특징으로 하는 암호 처리 방법
|
6 |
6
제 1 항 내지 제 5 항 중 어느 한 항에 기재된 암호 처리 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체
|
7 |
7
데이터를 64비트로 나눈 블록을 16라운드 페이스텔(feistel)형 공통키 블록 암호 처리를 실행하는 암호 처리 장치에 있어서, 암호 처리의 개시 및 종료, 데이터의 송수신을 제어하고 프로그램을 실행하는 중앙처리부;상기 중앙처리부가 실행하는 프로그램, 연산 파라미터로서의 고정 데이터를 저장하는 메모리; 및마스터 키를 패리티 드롭하여 생성된 암호화 키(cipher key)를 비트 왼쪽 순환(left shift) 및 압축치환(compression permutation)을 거쳐 제1 내지 제15 라운드 키를 생성하고 상기 비트 왼쪽 순환, 레지스터의 오류 주입 및 압축치환을 통해 제16 라운드 키를 생성하여 상기 데이터를 64비트로 나눈 블록에 상기 생성된 제1 내지 제16 라운드 키를 이용하여 암호 처리를 수행하는 암호 처리부를 포함하는 암호 처리 장치
|
8 |
8
제 7 항에 있어서, 상기 제1 내지 제15 라운드 키 및 제16 라운드 키는 48 비트인 것을 특징으로 하는 암호 처리 장치
|
9 |
9
제 8 항에 있어서,상기 제16 라운드 키는 왼쪽 또는 오른쪽 24비트에 오류가 주입된 값이고 나머지 24비트는 오류가 주입되지 않은 라운드 키값을 가지는 것을 특징으로 하는 암호 처리 장치
|
10 |
10
제 7 항에 있어서,상기 암호 처리부는 상기 암호화 키(cipher key)를 두 블럭으로 나누어 제1 내지 제15 라운드를 통해 1 비트 또는 2 비트 왼쪽 순환(left shift)을 하고 압축치환(compression permutation)을 거쳐 제1 내지 제15 라운드 키를 생성하고 상기 제1 내지 제15 라운드를 통해 1 비트 또는 2 비트 왼쪽 순환(left shift)을 한 암호화 키(cipher key)를 1 비트 왼쪽 순환(left shift)을 하고 왼쪽 또는 오른쪽 레지스터에 오류를 주입한 후 압축치환을 거쳐 제16 라운드 키를 생성하는 것을 특징으로 하는 암호 처리 장치
|
11 |
11
제 10 항에 있어서,상기 암호 처리부는 제1 내지 제16 라운드 키를 생성하는 라운드 키 생성부를 포함하며,상기 라운드 키 생성부는 64비트 마스터 키에서 패리티 드롭을 수행하여 56비트의 암호화 키를 생성하는 패러티 드롭부;상기 56비트의 암호화 키를 28 비트의 두 블럭로 나누어 각 블럭의 1비트 또는 2 비트 왼쪽 순환(left shift)을 수행하는 제1 쉬프트부 및 제2 쉬프트부;및상기 왼쪽 순환이 수행된 비트들의 압축 치환을 수행하는 압축 치환부를 포함하는 것을 특징으로 하는 암호 처리 장치
|
12 |
12
제 11 항에 있어서,상기 제1 쉬프트부 및 제2 쉬프트부는 제1, 제2, 제9 및 제16라운드에서는 1 비트 왼쪽 순환(left shift)을 수행하는 것을 특징으로 하는 암호 처리 장치
|
13 |
13
제 10 항에 있어서,상기 암호 처리부는 상기 데이터를 64비트로 나눈 블록에 대해 초기 치환을 수행하는 초기치환부;마스터 키를 제1 내지 제15 라운드를 통해 1 비트 또는 2 비트 왼쪽 순환(left shift)을 하고 압축치환(compression permutation)을 거쳐 제1 내지 제15 라운드 키를 생성하고 상기 제1 내지 제15 라운드를 통해 1 비트 또는 2 비트 왼쪽 순환(left shift)을 한 암호화 키(cipher key)를 1 비트 왼쪽 순환(left shift)을 하고 왼쪽 또는 오른쪽 레지스터에 오류를 주입한 후 압축치환을 거쳐 제16 라운드 키를 생성하여 상기 초기 치환이 수행된 데이터에 상기 생성된 제1 내지 제16 라운드 키를 이용하여 암호 처리를 수행하는 기본연산부; 및상기 제1 내지 제16 라운드를 통해 암호 처리가 수행된 비트들에 대해 상기 초기 치환의 역과정을 통해 암호문을 생성하는 역초기치환부를 포함하는 것을 특징으로 하는 암호 처리 장치
|
14 |
14
제 13 항에 있어서,상기 기본연산부는 상기 초기 치환이 수행된 데이터를 두 개의 32비트의 블럭으로 나누어 왼쪽레지스터(Li)와 오른쪽레지스터(Ri)에 저장한 후, 상기 생성된 제1 내지 제16 라운드 키를 이용하여 암호 처리를 수행하는 F-함수부를 포함하는 것을 특징으로 하는 암호 처리 장치
|
15 |
15
제 14 항에 있어서,상기 F-함수부는상기 32비트의 블럭을 48비트의 데이터로 확장 치환하는 확장 치환부;상기 48비트의 데이터에 상기 라운드 키 생성부로부터 생성된 상기 제1 내지 제16 라운드 키의 배타적 논리합 연산을 수행하는 배타적 논리합 연산부;상기 배타적 논리합 연산이 수행된 48비트의 데이터를 32비트의 데이터로 대치 치환하는 S-box 치환부; 및상기 대치 치환된 32비트의 데이터를 복사 치환하는 P-box 치환부를 포함하는 것을 특징으로 하는 암호 처리 장치
|
16 |
16
제 15 항에 있어서,상기 S-box 치환부는 8개의 S-box를 포함하고,상기 S-box의 입력값 중 1 내지 4번째 또는 5 내지 8번째 S-box에 오류가 주입된 것을 특징으로 하는 암호 처리 장치
|
17 |
17
제 16 항에 있어서, 상기 S-box의 출력값 중 1 내지 16번째 또는 17 내지 32번째 비트에 오류가 주입된 것을 특징으로 하는 암호 처리 장치
|
18 |
18
제 14 항에 있어서,상기 F-함수부의 출력값의 1, 2, 6, 9, 10, 13, 16 ,17, 18, 20, 23, 24, 26, 28, 30, 31번째 또는 3, 4, 5, 7, 8, 11, 12, 14, 15, 19, 21, 22, 25, 27, 32번째 비트에 오류가 주입된 것을 특징으로 하는 암호 처리 장치
|