1 |
1
데이터 암호화/복호화를 필요로 하는 시스템에서의 암호처리를 위한 장치에 있어서, 제1 외부로부터 암호키/복호키와 제어변수를 입력받아 라운드 키 생성수단에 초기 키 입력과 사용암호 선택값을 제공하며, 상기 라운드 키 생성수단으로부터 라운드 키 결과를 받아 암호용/복호용 라운드 키를 제공하기 위한 라운드 키 생성 제어수단; 상기 라운드 키 생성 제어수단으로부터 초기 키 입력과 사용암호 선택값을 제공받아 라운드 키 생성 라운드의 수행에 의하여 라운드 키 결과를 생성하며, 생성된 라운드 키 결과를 상기 라운드 키 생성 제어수단으로 제공하기 위한 라운드 키 생성수단; 제2 외부로부터 평문/암호문을, 상기 제1 외부로부터 제어변수를, 상기 라운드 키 생성 제어수단으로부터 암호용/복호용 라운드 키를 제공받아 암호처리수단에 라운드 키, 초기 평문, 사용암호 선택값을 제공하며, 상기 암호처리수단으로부터 암호화/복호화 처리 결과를 받아 암호문/평문으로 출력하기 위한 암호처리 제어수단; 및 상기 암호처리 제어수단으로부터 라운드 키, 초기 평문, 사용암호 선택값을 첫 번째 라운드 입력으로 하고 암호처리 라운드를 반복하여 암호화/복호화 처리 결과를 생성하며, 생성된 암호화/복호화 처리 결과를 상기 암호처리 제어수단으로 출력하기 위한 암호처리수단 을 포함하는 라운드 키 생성 및 암호처리용 암호화장치
|
2 |
2
제 1 항에 있어서, 상기 라운드 키 생성수단은, 암호/복호 처리에서 사용할 라운드 키를 생성하기 위하여, 상기 라운드 키 생성 제어수단으로부터 제공된 초기 키 입력 혹은 라운드 키 피드백 결과중 하나를 선택 출력하는 제1 멀티플렉서; 상기 제1 멀티플렉서의 출력을 사용암호 선택값에 따라서 제1 암호 초기 키 혹은 제2 암호 초기 키를 제공하는 제1 디멀티플렉서; 상기 제1 암호 초기 키를 입력으로 하여 제1 암호 라운드 키를 생성하는 제1 암호 라운드 키 생성수단; 상기 제2 암호 초기 키를 입력으로 하여 제2 암호 및 복호용 라운드 키를 생성하는 제2 암호 라운드 키 생성수단; 및 상기 제1 혹은 제2 라운드 키 생성수단에서 생성된 라운드 키를 사용암호 선택 값에 따라서 상기 라운드 키 피드백으로 상기 제1 멀티플렉서에 제공하거나, 라운드 키 결과로 출력하는 제2 멀티플렉서 를 포함하는 라운드 키 생성 및 암호처리용 암호화장치
|
3 |
3
제 2 항에 있어서, 상기 제2 암호 라운드 키 생성수단은, 상기 제2 암호의 암호용/복호용 라운드 키를 생성하기 위하여, 상기 제2 암호 초기키를 입력으로 하여 암호화용 라운드 키를 생성하는 16개의 암호 라운딩수단과, 복호용 라운드 키를 생성하는 16개의 복호 라운딩수단으로 구성되어, 단일 라운드에 암호 및 복호용 라운드 키를 제공하는 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
4 |
4
제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 암호처리수단은, 초기 평문과 라운드 키를 이용하여 암호/복호 처리하기 위하여, 상기 암호처리 제어수단으로부터 입력된 초기 평문을 저장하는 평문 레지스터; 상기 평문 레지스터의 출력 혹은 라운드 출력 레지스터에서 출력된 라운드 피드백값중 하나를 선택 출력하는 제3 멀티플렉서; 제1 암호처리 라운딩수단 및 제2 암호처리 라운딩수단의 초기 평문의 입력 및 반복되는 라운드의 입력을 저장하는 라운드 입력 레지스터; 상기 라운드 입력 레지스터의 출력을 상기 암호처리 제어수단으로부터의 사용암호 선택값에 따라서 선택적으로 공급하는 제2 디멀티플렉서; 상기 제2 디멀티플렉서의 출력과 상기 암호처리 제어수단으로부터의 라운드 키를 입력으로 하여 제1 암호로 암호화하는 상기 제1 암호처리 라운딩수단; 상기 제2 디멀티플렉서의 출력과 상기 암호처리 제어수단으로부터의 라운드 키를 입력으로 하여 제2 암호로 암호화하는 상기 제2 암호처리 라운딩수단; 상기 제1 혹은 제2 암호처리 라운딩수단의 출력값을 상기 암호처리 제어수단으로부터의 사용암호 선택값에 따라서 선택적으로 공급하는 제4 멀티플렉서; 및 상기 제4 멀티플렉서의 출력을 저장하며, 다음 라운드의 입력을 상기 제3 멀티플렉서로 출력하고, 최종 라운드 결과인 암호화/복호화 처리 결과를 상기 암호처리 제어수단으로 출력하는 상기 라운드 출력 레지스터 를 포함하는 라운드 키 생성 및 암호처리용 암호화장치
|
5 |
5
제 4 항에 있어서, 상기 제1 암호는, 128비트의 입출력과 키를 사용하며, 16라운드로 구성된 시드(SEED) 암호인 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
6 |
6
제 5 항에 있어서, 상기 제2 암호는, 국제 데이터 암호화 표준인 64비트 DES(Data Encryption Standard)를 변형시킨 2-키(128비트) 방식의 3중-DES(Triple-DES)인 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
7 |
7
제 6 항에 있어서, 상기 암호처리수단은, 상기 SEED 암호처리와 상기 3중-DES 암호처리를 선택적으로 할 수 있는 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
8 |
8
제 6 항에 있어서, 상기 제2 암호처리 라운딩수단은, 라운드 입력과 4개의 라운드 키를 입력으로 하고, 4단의 DES 기본 암호처리 라운드를 수행하도록 4개의 암호처리 라운드로 구성된 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
9 |
9
제 6 항에 있어서, 상기 제1 및 제2 암호처리 라운딩수단은, 제1 암호처리 라운딩수단(상기 SEED 암호 라운드)이 2 혹은 4개의 라운드로 구성되는 경우, 상기 제2 암호처리 라운딩수단(상기 3중-DES 암호 라운드)은 각각 8개 혹은 16개 라운드로 구성되는 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
10 |
10
제 6 항에 있어서, 상기 제1 암호 라운드 키 생성수단은, 단일 라운드로 구성되어 반복되되, 상기 SEED 암호의 키 스케줄링에서 사용한 라운드 함수를 사용하는 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
11 |
11
제 6 항에 있어서, 상기 제1 암호처리 라운딩수단은, 단일 라운드로 구성되어 반복되되, 상기 SEED 암호의 암호처리 라운드에서 사용한 라운드 함수를 사용하는 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|
12 |
12
제 1 항에 있어서, 상기 제어변수는, 사용암호, 운용모드 및 암호/복호 동작 선택값을 포함하는 것을 특징으로 하는 라운드 키 생성 및 암호처리용 암호화장치
|