KR100930591B1 - 고속 세션 변경이 가능한 암호화 장치 - Google Patents
고속 세션 변경이 가능한 암호화 장치 Download PDFInfo
- Publication number
- KR100930591B1 KR100930591B1 KR1020070127621A KR20070127621A KR100930591B1 KR 100930591 B1 KR100930591 B1 KR 100930591B1 KR 1020070127621 A KR1020070127621 A KR 1020070127621A KR 20070127621 A KR20070127621 A KR 20070127621A KR 100930591 B1 KR100930591 B1 KR 100930591B1
- Authority
- KR
- South Korea
- Prior art keywords
- session
- initialization vector
- round key
- key
- block cipher
- Prior art date
Links
- 239000013598 vector Substances 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 고속 세션 변경이 가능한 암호화 장치에 관한 것으로서, 특히 블록 암호 알고리즘을 사용하는 암호화 장치에서 세션 변경을 신속히 수행할 수 있는 암호화 장치에 관한 것이다. 본 발명에 따른 고속 세션 변경이 가능한 암호화 장치는 현재 세션에 대응하는 초기화 벡터 및 라운드키를 이용하여 입력 데이터에 대한 암호화 또는 복호화를 수행하는 블록 암호 알고리즘 실행부; 장치 외부로부터 입력되는 초기화 벡터 및 상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터를 저장하고, 상기 현재 세션에 대응하는 초기화 벡터를 상기 블록 암호 알고리즘 실행부에 제공하는 초기화 벡터 관리부; 및 장치 외부로부터 입력되는 세션키를 저장하고, 현재 세션에 대응하는 세션키에 기반하여 상기 라운드키를 생성하고, 상기 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하는 세션 라운드키 생성부로 구성된다. 본 발명은 암호화 장치 내에서 최소한의 동작으로 초기화 벡터 및 세션 키를 저장하고 관리할 수 있는 구조를 제공함으로써, 세션 변경시에 발생하는 지연시간을 최소화할 수 있다.
암호, 암호화 장치, 고속 세션 변경
Description
본 발명은 고속 세션 변경이 가능한 암호화 장치에 관한 것으로서, 특히 블록 암호 알고리즘을 사용하는 암호화 장치에서 세션 변경을 신속히 수행할 수 있는 암호화 장치에 관한 것이다.
블록 암호 알고리즘을 정상적으로 운용하기 위해서는 세션 변경이 발생하는 경우 이전 세션에 대한 초기화 벡터(Initial Vector) 값을 안전한 메모리 영역에 저장하고 새로운 세션에 대한 세션 키(Session Key), 초기화 벡터 및 운용 모드 등으로 암호 함수를 재설정하는 동작들을 수행해야 한다. 여기서, 이전 세션에 대한 정보들을 메모리에 저장하고 새로운 세션에 대한 암호 함수를 재설정하는 일련의 동작들을 세션 변경 동작이라 한다.
도 1은 종래의 암호화 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 종래의 암호화 장치들은 대부분 암호화/복호화 기능을 전 용 칩(140)으로 구현한 범용성 있는 장치로서, 세션 변경 동작은 일반적으로 암호화 장치 내의 CPU(110)가 담당하고 있다. 그러나, 일반적으로 CPU의 데이터 버스 크기는 블록 암호 알고리즘의 블록 크기 및 키 크기보다 작으므로 세션 변경을 위해서는 CPU(110)가 여러 번에 걸쳐 메모리(120) 또는 입출력 인터페이스(130)에 대한 액세스 동작을 수행해야 한다. 따라서, 종래의 암호화 장치는 세션 변경 과정에서 CPU의 액세스 동작에 의해 발생하는 지연시간으로 인해 전체적인 속도 및 성능이 저하되는 문제점이 있다.
본 발명에서 해결하고자 하는 과제는, 멀티 세션 환경에 있어서 세션 변경 과정에서 발생하는 지연시간을 감소시켜 이에 따른 성능 저하를 최소화할 수 있는 암호화 장치를 제공하는 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 측면은 현재 세션에 대응하는 초기화 벡터 및 라운드키를 이용하여 입력 데이터에 대한 암호화 또는 복호화를 수행하는 블록 암호 알고리즘 실행부; 장치 외부로부터 입력되는 초기화 벡터 및 상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터를 저장하고, 상기 현재 세션에 대응하는 초기화 벡터를 상기 블록 암호 알고리즘 실행부에 제공하는 초기화 벡터 관리부; 및 장치 외부로부터 입력되는 세션키를 저장하고, 현재 세션에 대응하는 세션키에 기반하여 상기 라운드키를 생성하고, 상기 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하는 세션 라운드키 생성부를 포함하는 고속 세션 변경이 가능한 암호화 장치를 제공한다.
본 발명은 암호화 장치 내에서 최소한의 동작으로 초기화 벡터 및 세션 키를 저장하고 관리할 수 있는 구조를 제공함으로써, 세션 변경시에 발생하는 지연시간 을 최소화할 수 있다.
또한, 본 발명은 세션 변경 후 첫번째 블록에 대해서만 라운드키를 생성함으로써, 암호화 장치의 소모전력을 감소시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치는 초기화 벡터 관리부(210), 블록 암호 알고리즘 실행부(220) 및 세션 라운드키 생성부(230)를 포함한다.
초기화 벡터 관리부(210)는 세션 관리번호 및 초기화 벡터 입력신호에 따라 암호화 장치 외부로부터 초기화 벡터를 수신하여 저장하고, 세션 관리번호에 따라 블록 암호 알고리즘 실행부(220)에 초기화 벡터를 제공하거나 블록 암호 알고리즘 실행부(220)로부터 변경된 초기화 벡터를 수신하여 해당 초기화 벡터를 갱신한다.
세션 라운드키 생성부(230)는 세션 관리번호 및 세션키 입력신호에 따라 암호화 장치 외부로부터 세션키를 수신하여 저장하고, 세션 관리번호에 대응하는 세션키를 이용하여 라운드키를 생성하고 이를 블록 암호 알고리즘 실행부(220)에 제공한다.
블록 암호 알고리즘 실행부(220)는 초기화 벡터 관리부(210) 및 세션 라운드키 생성부(230)로부터 수신한 초기화 벡터 및 라운드키를 이용하여 입력 데이터를 암호화 또는 복호화하고 그 결과를 출력한다. 또한, 블록 암호 알고리즘 실행부(220)는 블록 암호 알고리즘 수행 중에 변경된 초기화 벡터를 초기화 벡터 관리부(210)에 전송함으로써 현재 세션에서 사용되는 초기화 벡터를 갱신할 수 있다.
도 3은 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치에 포함된 초기화 벡터 관리부의 구성을 나타내는 블록도이다.
도 3을 참조하면, 초기화 벡터 관리부(310)는 초기화 벡터 입력부(311), 초기화 벡터 저장부(312) 및 초기화 벡터 출력부(312)를 포함한다.
초기화 벡터 입력부(311)는 초기화 벡터 입력신호에 따라 암호화 장치 외부로부터 입력되는 초기화 벡터 또는 블록 암호 알고리즘 실행부(320)에서 피드백되는 초기화 벡터를 선택하여 초기화 벡터 저장부(312)에 전달한다.
초기화 벡터 저장부(312)는 세션 관리번호에 따라 초기화 벡터 입력부(311)로부터 수신한 초기화 벡터를 저장한다. 일 실시예에서, 초기화 벡터 저장부(312)는 하나 이상의 레지스터 또는 메모리로 구성될 수 있다. 따라서, 별도의 외부 입력없이 초기화 벡터 관리부(310)에 의해 제공될 수 있는 초기화 벡터의 수는 초기화 벡터 저장부(312)를 구성하는 레지스터 및 메모리의 용량에 의해 결정될 수 있다.
초기화 벡터 출력부(313)는 세션 관리번호에 따라 초기화 벡터 저장부(312)에 저장된 초기화 벡터들 중에서 해당 세션에 대응하는 초기화 벡터를 선택하여 블록 암호 알고리즘 실행부(320)에 전송한다.
이러한 구성에 따라, 초기화 벡터 관리부(310)는 암호 알고리즘 수행 중에 변경되는 초기화 벡터를 블록 암호 알고리즘 실행부(320)로부터 피드백 받아 저장할 수 있다. 따라서, 멀티 세션 환경에서 세션 변경이 발생하는 경우 이전 세션의 초기화 백터를 별도의 메모리에 저장하는 작업을 수행할 필요가 없고, 변경 이전 세션으로 다시 복귀하는 경우 이미 초기화 벡터 저장부(312)에 저장되어 있는 초기화 벡터를 블록 암호 알고리즘 실행부(320)에 신속하게 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치에 포함된 세션 라운드키 생성부의 구성을 나타내는 블록도이다.
도 4를 참조하면, 세션 라운드키 생성부는 세션키 저장부(410), 세션키 출력부(420), 라운드키 생성부(430), 제어부(440), 라운드키 저장부(450) 및 라운드키 출력부(460)를 포함한다.
세션키 저장부(410)는 세션키 입력신호 및 세션 관리번호에 따라 암호화 장치 외부로부터 입력되는 세션키를 저장한다. 일 실시예에서, 세션키 저장부(410)는 하나 이상의 레지스터 또는 메모리로 구성될 수 있다.
세션키 출력부(420)는 세션 관리번호에 따라 세션키 저장부(410)에 저장된 세션키들 중 해당 세션에 대응하는 세션키를 라운드키 생성부(430)에 전송한다.
라운드키 생성부(430)는 세션키 출력부(420)로부터 수신한 세션키를 이용하여 블록 암호 알고리즘을 수행하기 위한 라운드키를 생성한다. 여기서, 라운드키는 블록 암호 알고리즘을 수행하는 하나의 라운드에서 사용되는 키값으로써, 하나의 블록을 처리하기 위해서는 복수의 라운드가 수행되고 복수의 라운드는 각각 라운드 키를 갖는다. 예를 들어, 하나의 블록이 16 라운드에 걸쳐 암호화 또는 복호화되고 하나의 세션 동안 200개의 블록이 처리되는 경우, 상기 세션 동안 16 * 200 = 3200 개의 라운드키가 생성되어야 한다.
그러나, 블록 암호 알고리즘의 특성에 따라 동일한 세션키를 사용하는 하나의 세션에서 하나의 블록을 암호화 또는 복호화하기 위해 사용되는 복수의 라운드키는 나머지 블록에도 동일하게 적용될 수 있다. 따라서, 세션이 변경 후 처음 블록을 암호화 또는 복호화하는 라운드 동안만 라운드키를 생성하여 메모리에 저장하고 나머지 블록에 대해서는 메모리에 저장된 라운드키를 사용함으로써, 세션 라운드키 생성부는 라운드키 생성에 소모되는 전력을 최소화할 수 있다.
이러한 방법을 구현하기 위하여, 제어부(440)는 세션 관리번호를 이용하여 세션의 변경 여부를 판단하고, 판단 결과에 따라 제어신호를 생성하여 라운드키 생성부(430) 및 라운드키 출력부(460)에 전달한다. 일 실시예에서, 제어부(440)는 세션 변경 후 블록 암호 알고리즘의 수행 시작 시기를 판단하기 위하여 블록 암호 알고리즘 실행부가 생성하는 시작 신호(미도시)를 추가적으로 수신하고, 세션 관리번호 및 시작 신호를 이용하여 제어신호를 생성할 수 있다.
라운드키 생성부(430)는 상기 제어신호에 따라 세션이 변경된 후 첫번째 블럭에 대한 라운드키를 생성하고, 생성된 라운드키를 라운드키 출력부(460)에 전달함과 동시에 상기 라운드키를 라운드키 저장부(450)에 저장한다.
라운드키 출력부(460)는 제어부(440)에서 생성한 제어신호에 따라 라운드키 생성부(430)에서 생성된 라운드키 또는 라운드키 저장부(450)에 저장된 라운드키를 선택하여 블록 암호 알고리즘 실행부에 제공한다. 일 실시예에서, 라운드키 출력부(460)는 라운드키 생성부(430)가 라운드키를 생성하는 동안은 생성된 라운드키를 출력하고, 라운드키 생성이 끝난 이후에는 라운드키 저장부(450)에 저장된 라운드키를 전송할 수 있다. 이에 따라, 세션 라운드키 생성부는 라운드키 생성부(430)의 동작을 최소화하면서도 블록 암호 알고리즘 수행에 필요한 라운드키를 블록 암호 알고리즘 실행부에 지속적으로 공급할 수 있다.
도 5는 도 4의 제어부를 하드웨어로 구현한 일 실시예를 나타내는 도면이다.
도 5를 참조하면, 각각의 XOR 게이트(520)에 세션 관리번호의 각 비트 및 상기 세션 관리번호의 각 비트가 입력되는 D-플립플롭(510)의 출력이 입력된다. 또한, 각각의 XOR 게이트(520)의 출력은 하나의 OR 게이트(530)에 입력된다.
OR 게이트(530)의 출력은 JK-플립플롭(540)의 J 입력 및 라운드 카운터(550)에 입력되고, 라운드 카운터(550)의 출력은 JK-플립플롭(540)의 J 입력에 입력된다. JK-플립플롭(540)은 상기 입력에 따라 제어신호를 출력한다. 여기서, JK-플립플롭(540)의 J 및 K 입력은 "0"으로 초기화되고, 이에 따라 JK-플립플롭(540)의 초기 출력은 "0"이다. 여기서, 라운드 카운터(550)는 암호화 장치가 사용하는 블록 암호 알고리즘에 따라 하나의 블록을 암호화 또는 복호화하는데 소비되는 라운드의 횟수에 대응하는 클럭을 카운트하는 역할을 한다.
상기와 같은 구성을 가지는 제어부의 동작을 설명하면 다음과 같다.
이전 클럭의 세션 관리번호와 현재 클럭의 세션 관리번호가 한 비트라도 다를 경우, 즉 세션이 변경된 경우, 변경된 비트와 변경 전의 비트를 저장하는 D-플 립플롭(510)의 출력은 서로 다른바 XOR 게이트(520)는 "1"을 출력한다. 따라서, OR 게이트(530)는 변경된 시점의 한 클럭 동안 "1"을 출력한다. 이때, JK-플립플롭(540)의 J 입력은 "1"이 되고 K 입력은 "0"이 되는바 JK-플립플롭(540)은 "1"을 출력한다.
이와 동시에, OR 게이트(530)의 출력은 라운드 카운터(550)에 입력되어 라운드 카운터(550)를 활성화시키고, 라운드 카운터(550)의 출력은 OR 게이트(530)의 출력 시점부터 하나의 블록을 암호화 또는 복호화하는데 소비되는 라운드 횟수에 대응하는 클럭 동안 "0"을 유지한다. 따라서, JK-플립플롭(540)의 출력은 세션이 변경된 후 첫번째 블록을 암호화 또는 복호화하는데 소비되는 라운드 횟수에 대응하는 클럭 동안 "1"을 유지한다.
상기 라운드 횟수에 대응하는 클럭이 경과하면, 라운드 카운터(550)는 한 클럭 동안 "1"을 출력하고 이에 따라 JK-플립플롭(540)은 "0"을 출력한다. 다음 클럭부터 라운드 카운터(550)는 다시 "0"을 출력하여 JK-플립플롭(540)의 출력이 "0"을 유지하도록 한다.
따라서, 제어부는 세션 변경 후 첫번째 블록에 대하여 블록 암호 알고리즘을 수행하는 라운드 동안 제어신호를 "1"로 인가하고 그 이후부터는 제어신호를 "0"으로 인가함으로써 라운드키 생성부 및 라운드키 출력부의 동작을 제어할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지 식을 가진 자에게 있어 명백할 것이다.
도 1은 종래의 암호화 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치에 포함된 초기화 벡터 관리부의 구성을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 고속 세션 변경이 가능한 암호화 장치에 포함된 세션 라운드키 생성부의 구성을 나타내는 블록도이다.
도 5는 도 4의 제어부를 하드웨어로 구현한 일 실시예를 나타내는 도면이다.
Claims (16)
- 현재 세션에 대응하는 초기화 벡터 및 라운드키를 이용하여 입력 데이터에 대한 암호화 또는 복호화를 수행하는 블록 암호 알고리즘 실행부;장치 외부로부터 입력되는 초기화 벡터 및 상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터를 저장하고, 상기 현재 세션에 대응하는 초기화 벡터를 상기 블록 암호 알고리즘 실행부에 제공하는 초기화 벡터 관리부; 및장치 외부로부터 입력되는 세션키를 저장하고, 현재 세션에 대응하는 세션키에 기반하여 상기 라운드키를 생성하고, 상기 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하는 세션 라운드키 생성부를 포함하되,상기 세션 라운드키 생성부는 상기 현재 세션의 첫번째 데이터 블록에 대하여 블록 암호 알고리즘을 수행하는 복수의 라운드 동안 라운드키를 생성하여 상기 생성된 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하고 상기 복수의 라운드가 수행된 이후에 나머지 데이터 블록들에 대한 블록 암호 알고리즘 실행시에는 상기 라운드키 저장부에 저장된 라운드키를 상기 블록 암호 알고리즘 실행부에 제공하는 고속 세션 변경이 가능한 암호화 장치.
- 제 1항에 있어서,상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터는 상기 암호화 또는 복호화의 수행 중에 변경된 초기화 벡터인 고속 세션 변경이 가능한 암호화 장치.
- 제 1항에 있어서,상기 초기화 벡터 관리부는 초기화 벡터 입력신호에 따라 상기 장치 외부로부터 입력되는 초기화 벡터를 저장하고, 세션 관리번호에 따라 상기 현재 세션에 대응하는 초기화 벡터를 상기 블록 암호 알고리즘 실행부에 제공하는 고속 세션 변경이 가능한 암호화 장치.
- 제 1항에 있어서, 상기 초기화 벡터 관리부는,초기화 벡터 입력신호에 따라 상기 장치 외부로부터 입력되는 초기화 벡터 또는 상기 블록 암호 알고리즘 실행부로부터 수신한 초기화 벡터를 선택하여 수신하는 초기화 벡터 입력부;세션 관리번호에 따라 상기 초기화 벡터 입력부가 수신한 초기화 벡터를 저장하는 초기화 벡터 저장부;상기 세션 관리번호에 따라 상기 초기화 벡터 저장부에서 상기 현재 세션에 대응하는 초기화 벡터를 선택하여 출력하는 초기화 벡터 출력부를 포함하는 고속 세션 변경이 가능한 암호화 장치.
- 제 4항에 있어서,상기 초기화 벡터 저장부는 하나 이상의 레지스터 또는 메모리를 포함하는 고속 세션 변경이 가능한 암호화 장치.
- 제 1항에 있어서,상기 세션 라운드키 생성부는 세션키 입력신호에 따라 상기 장치 외부로부터 입력되는 세션키를 저장하는 고속 세션 변경이 가능한 암호화 장치.
- 제 1항에 있어서, 상기 세션 라운드키 생성부는,세션키 입력신호 및 세션관리 번호에 따라 상기 장치 외부로부터 입력되는 세션키를 저장하는 세션키 저장부;상기 세션관리 번호에 따라 상기 세션키 저장부에서 상기 현재 세션에 대응하는 세션키를 선택하여 출력하는 세션키 출력부; 및상기 세션키 출력부가 출력하는 세션키를 이용하여 라운드키를 생성하는 라운드키 생성부를 포함하는 고속 세션 변경이 가능한 암호화 장치.
- 제 7항에 있어서,상기 세션키 저장부는 하나 이상의 레지스터 또는 메모리를 포함하는 고속 세션 변경이 가능한 암호화 장치.
- 제 7항에 있어서,상기 세션 라운드키 생성부는,상기 세션 관리번호에 따라 제어신호를 생성하는 제어부;상기 생성된 라운드키를 저장하는 라운드키 저장부; 및상기 제어신호에 따라 상기 라운드키 생성부가 생성하는 라운드키 또는 상기 라운드키 저장부에 저장된 라운드키를 선택하여 출력하는 라운드키 출력부를 더 포함하고,상기 라운드키 생성부는 상기 제어신호에 따라 상기 라운드키를 생성하는 고속 세션 변경이 가능한 암호화 장치.
- 제 9항에 있어서,상기 라운드키 생성부는 상기 제어신호에 따라 상기 현재 세션의 첫번째 데이터 블록에 대하여 블록 암호 알고리즘을 수행하는 복수의 라운드 동안 상기 라운드키를 생성하는 고속 세션 변경이 가능한 암호화 장치.
- 제 10항에 있어서,상기 라운드키 출력부는 상기 복수의 라운드 동안 상기 라운드키 생성부가 생성하는 라운드키를 출력하고, 상기 복수의 라운드가 수행된 이후에는 상기 라운드키 저장부에 저장된 라운드키를 출력하는 고속 세션 변경이 가능한 암호화 장치.
- 제 9항에 있어서,상기 제어부는 상기 세션 관리번호에 따라 세션의 변경 여부를 판단하는 고속 세션 변경이 가능한 암호화 장치.
- 제 9항에 있어서,상기 블록 암호 알고리즘 실행부는 블록 암호 알고리즘의 수행 시작을 나타내는 시작 신호를 생성하고,상기 제어부는 상기 세션 관리번호 및 상기 시작 신호에 따라 상기 제어신호를 생성하는 고속 세션 변경이 가능한 암호화 장치.
- 제 9항에 있어서, 상기 제어부는,상기 세션 관리번호의 각 비트를 입력받는 복수의 D-플립플롭;상기 세션 관리번호의 각 비트 및 상기 복수의 D-플립플롭의 각각의 출력을 입력받는 복수의 XOR 게이트;상기 복수의 XOR 게이트의 출력을 입력받는 OR 게이트;상기 OR 게이트의 출력에 의해 구동되는 라운드 카운터; 및상기 OR 게이트의 출력 및 상기 라운드 카운터의 출력을 입력받아 상기 제어신호를 출력하는 JK-플립플롭을 포함하는 고속 세션 변경이 가능한 암호화 장치.
- 제 14항에 있어서,상기 라운드 카운터는 상기 현재 세션의 첫번째 데이터 블록에 대하여 블록 암호 알고리즘을 수행하는 복수의 라운드에 대응하는 클럭을 카운트하는 고속 세션 변경이 가능한 암호화 장치.
- 제 15항에 있어서,상기 JK-플립플롭은 상기 OR 게이트의 출력을 J 입력으로 하고 상기 라운드 카운터의 출력을 K 입력으로 하는 고속 세션 변경이 가능한 암호화 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070127621A KR100930591B1 (ko) | 2007-12-10 | 2007-12-10 | 고속 세션 변경이 가능한 암호화 장치 |
US12/136,130 US8351599B2 (en) | 2007-12-10 | 2008-06-10 | Cryptographic device for fast session switching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070127621A KR100930591B1 (ko) | 2007-12-10 | 2007-12-10 | 고속 세션 변경이 가능한 암호화 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090060705A KR20090060705A (ko) | 2009-06-15 |
KR100930591B1 true KR100930591B1 (ko) | 2009-12-09 |
Family
ID=40721693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070127621A KR100930591B1 (ko) | 2007-12-10 | 2007-12-10 | 고속 세션 변경이 가능한 암호화 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8351599B2 (ko) |
KR (1) | KR100930591B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010070230A1 (fr) * | 2008-12-19 | 2010-06-24 | France Telecom | Procede de mise en oeuvre d'un algorithme de chiffrement par blocs |
US8687803B2 (en) * | 2011-09-14 | 2014-04-01 | Apple Inc. | Operational mode for block ciphers |
US9407437B1 (en) | 2014-03-25 | 2016-08-02 | Amazon Technologies, Inc. | Secure initialization vector generation |
US9948459B2 (en) * | 2014-07-25 | 2018-04-17 | Cheng-Han KO | Multiple encrypting method and system for encrypting a file and/or a protocol |
US9467279B2 (en) * | 2014-09-26 | 2016-10-11 | Intel Corporation | Instructions and logic to provide SIMD SM4 cryptographic block cipher functionality |
US20160105276A1 (en) * | 2014-10-10 | 2016-04-14 | Qualcomm Incorporated | Rotation-based cipher |
EP3454502B1 (en) * | 2017-09-07 | 2020-08-05 | Nxp B.V. | Transceiver system |
US11861041B2 (en) * | 2021-02-08 | 2024-01-02 | Capital One Services, Llc | Methods and systems for automatically preserving a user session on a public access shared computer |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420555B1 (ko) * | 2002-04-19 | 2004-03-02 | 한국전자통신연구원 | 고속 세션 변경이 가능한 블록 암호화 장치 및 그 구동 방법 |
KR100434558B1 (ko) * | 1997-12-09 | 2004-09-30 | 삼성전자주식회사 | 고속블록암호화방법및이를위한키스케쥴링방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844053B2 (en) * | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7542566B2 (en) * | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US20060023875A1 (en) * | 2004-07-30 | 2006-02-02 | Graunke Gary L | Enhanced stream cipher combining function |
KR20120115425A (ko) * | 2005-12-14 | 2012-10-17 | 엔디에스 리미티드 | 블록 사이퍼 암호화의 사용을 위한 방법 및 시스템 |
-
2007
- 2007-12-10 KR KR1020070127621A patent/KR100930591B1/ko not_active IP Right Cessation
-
2008
- 2008-06-10 US US12/136,130 patent/US8351599B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100434558B1 (ko) * | 1997-12-09 | 2004-09-30 | 삼성전자주식회사 | 고속블록암호화방법및이를위한키스케쥴링방법 |
KR100420555B1 (ko) * | 2002-04-19 | 2004-03-02 | 한국전자통신연구원 | 고속 세션 변경이 가능한 블록 암호화 장치 및 그 구동 방법 |
Also Published As
Publication number | Publication date |
---|---|
US8351599B2 (en) | 2013-01-08 |
US20090147950A1 (en) | 2009-06-11 |
KR20090060705A (ko) | 2009-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100930591B1 (ko) | 고속 세션 변경이 가능한 암호화 장치 | |
JP5822970B2 (ja) | 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス | |
US8634549B2 (en) | Ciphertext key chaining | |
CN101401105B (zh) | 用于提供加密文件系统的加密系统和方法 | |
US10320554B1 (en) | Differential power analysis resistant encryption and decryption functions | |
US9843440B2 (en) | Encryptor/decryptor, electronic device including encryptor/decryptor, and method of operating encryptor/decryptor | |
KR20110129932A (ko) | 암호 시스템을 위한 키 복구 메커니즘 | |
US9015218B2 (en) | Random number generator, encryption device, and authentication device | |
EP3770751B1 (en) | High speed encryption key generating engine | |
CN110830258A (zh) | 从服务器接收安全的软件更新信息的器件 | |
JP4595853B2 (ja) | 暗号システム、暗号回路及びそれらに用いる暗号制御方法 | |
WO2024164784A1 (zh) | 一种基于整数运算密码学置换的流密码加解密方法 | |
Paar et al. | Stream ciphers | |
US8041033B2 (en) | Cipher feedback with variable block chaining | |
US20120033806A1 (en) | Method of encrypting a data stream | |
US20120321079A1 (en) | System and method for generating round keys | |
JP6348273B2 (ja) | 情報処理システム | |
US12105985B2 (en) | Processing data in-memory with memory devices having a crossbar array structure | |
KR20060110383A (ko) | 네트워크 보안 프로세서의 다중모드 암호화 장치 | |
JP6167721B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム | |
EP1655883B1 (en) | Information-processing apparatus, information-processing method, and recording medium | |
JP2005309148A (ja) | データ変換装置およびデータ変換方法 | |
KR20160050919A (ko) | 폰 노이만 후처리시 난수 출력 신호의 연속성을 확보하기 위한 방법 및 장치 | |
US11061996B2 (en) | Intrinsic authentication of program code | |
CN110752923B (zh) | 提高网络报文加密存储安全性的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121130 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130930 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140916 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161118 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |