1 |
1
현재 세션에 대응하는 초기화 벡터 및 라운드키를 이용하여 입력 데이터에 대한 암호화 또는 복호화를 수행하는 블록 암호 알고리즘 실행부;
장치 외부로부터 입력되는 초기화 벡터 및 상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터를 저장하고, 상기 현재 세션에 대응하는 초기화 벡터를 상기 블록 암호 알고리즘 실행부에 제공하는 초기화 벡터 관리부; 및
장치 외부로부터 입력되는 세션키를 저장하고, 현재 세션에 대응하는 세션키에 기반하여 상기 라운드키를 생성하고, 상기 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하는 세션 라운드키 생성부를 포함하되,
상기 세션 라운드키 생성부는 상기 현재 세션의 첫번째 데이터 블록에 대하여 블록 암호 알고리즘을 수행하는 복수의 라운드 동안 라운드키를 생성하여 상기 생성된 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하고 상기 복수의 라운드가 수행된 이후에 나머지 데이터 블록들에 대한 블록 암호 알고리즘 실행시에는 상기 라운드키 저장부에 저장된 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하는 고속 세션 변경이 가능한 암호화 장치
|
2 |
2
제 1항에 있어서,
상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터는 상기 암호화 또는 복호화의 수행 중에 변경된 초기화 벡터인 고속 세션 변경이 가능한 암호화 장치
|
3 |
3
제 1항에 있어서,
상기 초기화 벡터 관리부는 초기화 벡터 입력신호에 따라 상기 장치 외부로부터 입력되는 초기화 벡터를 저장하고, 세션 관리번호에 따라 상기 현재 세션에 대응하는 초기화 벡터를 상기 블록 암호 알고리즘 실행부에 제공하는 고속 세션 변경이 가능한 암호화 장치
|
4 |
4
제 1항에 있어서, 상기 초기화 벡터 관리부는,
초기화 벡터 입력신호에 따라 상기 장치 외부로부터 입력되는 초기화 벡터 또는 상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터를 선택하여 수신하는 초기화 벡터 입력부;
세션 관리번호에 따라 상기 초기화 벡터 입력부가 수신한 초기화 벡터를 저장하는 초기화 벡터 저장부;
상기 세션 관리번호에 따라 상기 초기화 벡터 저장부에서 상기 현재 세션에 대응하는 초기화 벡터를 선택하여 출력하는 초기화 벡터 출력부
를 포함하는 고속 세션 변경이 가능한 암호화 장치
|
5 |
5
제 4항에 있어서,
상기 초기화 벡터 저장부는 하나 이상의 레지스터 또는 메모리를 포함하는 고속 세션 변경이 가능한 암호화 장치
|
6 |
6
제 1항에 있어서,
상기 세션 라운드키 생성부는 세션키 입력신호에 따라 상기 장치 외부로부터 입력되는 세션키를 저장하는 고속 세션 변경이 가능한 암호화 장치
|
7 |
7
제 1항에 있어서, 상기 세션 라운드키 생성부는,
세션키 입력신호 및 세션관리 번호에 따라 상기 장치 외부로부터 입력되는 세션키를 저장하는 세션키 저장부;
상기 세션관리 번호에 따라 상기 세션키 저장부에서 상기 현재 세션에 대응하는 세션키를 선택하여 출력하는 세션키 출력부; 및
상기 세션키 출력부가 출력하는 세션키를 이용하여 라운드키를 생성하는 라운드키 생성부
를 포함하는 고속 세션 변경이 가능한 암호화 장치
|
8 |
8
제 7항에 있어서,
상기 세션키 저장부는 하나 이상의 레지스터 또는 메모리를 포함하는 고속 세션 변경이 가능한 암호화 장치
|
9 |
9
제 7항에 있어서,
상기 세션 라운드키 생성부는,
상기 세션 관리번호에 따라 제어신호를 생성하는 제어부;
상기 생성된 라운드키를 저장하는 라운드키 저장부; 및
상기 제어신호에 따라 상기 라운드키 생성부가 생성하는 라운드키 또는 상기 라운드키 저장부에 저장된 라운드키를 선택하여 출력하는 라운드키 출력부를 더 포함하고,
상기 라운드키 생성부는 상기 제어신호에 따라 상기 라운드키를 생성하는 고속 세션 변경이 가능한 암호화 장치
|
10 |
10
제 9항에 있어서,
상기 라운드키 생성부는 상기 제어신호에 따라 상기 현재 세션의 첫번째 데이터 블록에 대하여 블록 암호 알고리즘을 수행하는 복수의 라운드 동안 상기 라운드키를 생성하는 고속 세션 변경이 가능한 암호화 장치
|
11 |
11
제 10항에 있어서,
상기 라운드키 출력부는 상기 복수의 라운드 동안 상기 라운드키 생성부가 생성하는 라운드키를 출력하고, 상기 복수의 라운드가 수행된 이후에는 상기 라운드키 저장부에 저장된 라운드키를 출력하는 고속 세션 변경이 가능한 암호화 장치
|
12 |
12
제 9항에 있어서,
상기 제어부는 상기 세션 관리번호에 따라 세션의 변경 여부를 판단하는 고속 세션 변경이 가능한 암호화 장치
|
13 |
13
제 9항에 있어서,
상기 블록 암호 알고리즘 실행부는 블록 암호 알고리즘의 수행 시작을 나타내는 시작 신호를 생성하고,
상기 제어부는 상기 세션 관리번호 및 상기 시작 신호에 따라 상기 제어신호를 생성하는 고속 세션 변경이 가능한 암호화 장치
|
14 |
14
제 9항에 있어서, 상기 제어부는,
상기 세션 관리번호의 각 비트를 입력받는 복수의 D-플립플롭;
상기 세션 관리번호의 각 비트 및 상기 복수의 D-플립플롭의 각각의 출력을 입력받는 복수의 XOR 게이트;
상기 복수의 XOR 게이트의 출력을 입력받는 OR 게이트;
상기 OR 게이트의 출력에 의해 구동되는 라운드 카운터; 및
상기 OR 게이트의 출력 및 상기 라운드 카운터의 출력을 입력받아 상기 제어신호를 출력하는 JK-플립플롭
을 포함하는 고속 세션 변경이 가능한 암호화 장치
|
15 |
15
제 14항에 있어서,
상기 라운드 카운터는 상기 현재 세션의 첫번째 데이터 블록에 대하여 블록 암호 알고리즘을 수행하는 복수의 라운드에 대응하는 클럭을 카운트하는 고속 세션 변경이 가능한 암호화 장치
|
16 |
16
제 15항에 있어서,
상기 JK-플립플롭은 상기 OR 게이트의 출력을 J 입력으로 하고 상기 라운드 카운터의 출력을 K 입력으로 하는 고속 세션 변경이 가능한 암호화 장치
|