KR100583635B1 - 다수의 동작 모드들을 지원하는 암호화 장치 - Google Patents
다수의 동작 모드들을 지원하는 암호화 장치 Download PDFInfo
- Publication number
- KR100583635B1 KR100583635B1 KR1020030004806A KR20030004806A KR100583635B1 KR 100583635 B1 KR100583635 B1 KR 100583635B1 KR 1020030004806 A KR1020030004806 A KR 1020030004806A KR 20030004806 A KR20030004806 A KR 20030004806A KR 100583635 B1 KR100583635 B1 KR 100583635B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- register
- input
- initial vector
- response
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- 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
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (21)
- 삭제
- 삭제
- 초기 벡터를 저장하는 초기 벡터 레지스터와;입력 데이터를 저장하는 데이터 입력 레지스터와;상기 입력 데이터를 암호화하는 암호화기와;출력 데이터를 저장하는 데이터 출력 레지스터와;가산기와;동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 상기 입력 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 상기 입력 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 상기 입력 데이터 및 상기 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하고;상기 동작 모드는, ECB(Electronic Codebook) 모드, CBC(Cipher Block Chaining) 모드, CBC-MAC(CBC-Message Anthetication Code) 모드 또는 CNT(Counter) 모드 중 어느 하나인 것을 특징으로 하는 암호화 장치.
- 제 3 항에 있어서,상기 ECB 모드로 동작할 때,상기 암호화 유닛 내 상기 데이터 입력 레지스터, 상기 암호화기, 그리고 상기 데이터 출력 레지스터가 동작하는 것을 특징으로 하는 암호화 장치.
- 삭제
- 제 3 항에 있어서,상기 암호화 유닛은,상기 CBC 또는 CBC-MAC 모드 중 어느 하나로 동작할 때 상기 초기 벡터 레지스터에 저장된 상기 초기 벡터와 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산하는 제 1 논리 연산기를 더 포함하는 것을 특징으로 하는 암호화 장치.
- 삭제
- 제 6 항에 있어서,상기 암호화 유닛이 상기 CBC-MAC 모드로 동작할 때,상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 암호화된 데이터를 상기 메모리에 기입하지 않는 것을 특징으로 하는 암호화 장치.
- 삭제
- 삭제
- 삭제
- 제 3 항에 있어서,상기 제 1 선택 회로는,제 1 멀티플렉서와;제 1 논리 연산기와;상기 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기와 상기 제 1 멀티플렉서로 또는 상기 제 1 논리 연산기로 전달하는 제 2 멀티플렉서; 그리고상기 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터를 상기 제 1 논리 연산기 또는 상기 제 1 멀티플렉서로 전달하는 제 3 멀티플렉서를 포함하되;상기 제 1 논리 연산기는 상기 제 2 및 제 3 멀티플렉서들로부터의 출력들을 받아들여 논리 연산하고;상기 제 1 멀티플렉서는 상기 모드 신호에 응답해서, 상기 제 2 멀티플렉서, 상기 제 1 논리 연산기 또는 상기 제 3 멀티플렉서의 출력을 상기 블록 암호화기로 전달하는 것을 특징으로 하는 암호화 장치.
- 제 12 항에 있어서,상기 제 2 선택 회로는,제 4 멀티플렉서와;제 2 논리 연산기; 그리고상기 모드 신호에 응답해서, 상기 암호화기의 출력을 상기 제 2 논리 연산기 또는 상기 제 4 멀티플렉서 또는/그리고 상기 초기 벡터 레지스터로 전달하는 제 5 멀티플렉서를 포함하되;싱기 제 2 논리 연산기는 상기 제 3 및 제 5 멀티플렉서들의 출력들을 받아들여서 논리 연산하고;상기 제 4 멀티플렉서는 상기 제 2 논리 연산기 또는 상기 제 5 멀티플렉서의 출력을 상기 데이터 출력 데이터로 전달하는 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하며;상기 제어 유닛은, 상기 입력 버퍼에 저장된 데이터가 블록 단위로 상기 암호화 유닛으로 제공되도록 제어하는 것을 특징으로 하는 암호화 장치.
- 제 14 항에 있어서,상기 제어 유닛은,상기 입력 버퍼 저장된 마지막 데이터가 미리 설정된 블록 크기보다 작을 때 제로-패딩(zero-padding)을 수행하는 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하고;상기 입력 버퍼는 FIFO(First-In Fisrt-Out) 버퍼인 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하며;상기 입력 버퍼는 적어도 2 개의 데이터 블록들을 저장하는 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하고;상기 출력 버퍼는 FIFO(First-In Fisrt-Out) 버퍼인 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하고;상기 출력 버퍼는 적어도 2 개의 암호화된 데이터 블록들을 저장하는 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하고;상기 메모리 컨트롤러는, DMA(Direct Memory Access) 컨트롤러인 것을 특징으로 하는 암호화 장치.
- 메모리에 저장된 데이터를 암호화하기 위한 암호화 장치에 있어서:외부로부터 제공되는 암호화 정보에 응답해서 초기 벡터 및 동작 모드를 나타내는 동작 모드 신호와 제어 신호들을 생성하는 제어 유닛과;상기 메모리로부터 상기 데이터를 독출하는 메모리 컨트롤러와;상기 메모리 컨트롤러에 의해서 독출된 데이터를 저장하기 위한 입력 버퍼와;상기 입력 버퍼에 저장된 데이터 블록을 암호화하기 위한 암호화 유닛; 그리고상기 암호화 유닛에 의해 암호화된 데이터를 저장하기 위한 출력 버퍼를 포함하되;상기 메모리 컨트롤러는 상기 출력 버퍼에 저장된 상기 암호화된 데이터를 상기 메모리에 기입하고;상기 메모리 컨트롤러, 상기 입력 버퍼, 상기 암호화 유닛 및 상기 출력 버퍼는 상기 제어 신호들에 응답해서 동작하며;상기 암호화 유닛은,상기 제어 유닛으로부터의 초기 벡터를 저장하는 초기 벡터 레지스터와;상기 입력 버퍼로부터의 상기 데이터를 저장하는 데이터 입력 레지스터와;입력 데이터를 암호화하는 암호화기와;상기 출력 버퍼로 제공될 데이터를 저장하는 데이터 출력 레지스터와;가산기와;상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터 및 상기 데이터 입력 레지스터에 저장된 데이터를 논리 연산한 결과 데이터, 또는 상기 데이터 입력 레지스터에 저장된 데이터 가운데 하나를 상기 암호화기의 입력 데이터로서 제공하고, 상기 동작 모드 신호에 응답해서, 상기 초기 벡터 레지스터에 저장된 데이터를 상기 가산기로 전달하는 제 1 선택 회로; 그리고상기 동작 모드 신호에 응답해서, 상기 데이터 입력 레지스터에 저장된 데이터 및 상기 블록 암호화기에 의해서 암호화된 데이터를 논리 연산한 결과 데이터 또는 상기 블록 암호화기에 의해서 암호화된 데이터를 상기 데이터 출력 레지스터로 전달하고, 상기 동작 모드 신호에 응답해서, 상기 암호화기에 의해서 암호화된 데이터를 상기 초기 벡터 레지스터로 전달하는 제 2 선택 회로를 포함하되;상기 가산기는 상기 제 1 선택 회로로부터 제공된 데이터에 미리 설정된 값을 더해서 상기 초기 벡터 레지스터에 저장하는 것을 특징으로 하는 암호화 장치.
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030004806A KR100583635B1 (ko) | 2003-01-24 | 2003-01-24 | 다수의 동작 모드들을 지원하는 암호화 장치 |
US10/721,398 US7336783B2 (en) | 2003-01-24 | 2003-11-25 | Cryptographic systems and methods supporting multiple modes |
US10/744,125 US7509501B2 (en) | 2003-01-24 | 2003-12-23 | Cryptographic apparatus for supporting multiple modes |
JP2003426676A JP4684550B2 (ja) | 2003-01-24 | 2003-12-24 | 多数の動作モードを支援する暗号化装置 |
TW093100636A TW200417219A (en) | 2003-01-24 | 2004-01-12 | Cryptographic systems and methods supporting multiple modes |
TW093101126A TWI286689B (en) | 2003-01-24 | 2004-01-16 | Cryptographic apparatus for supporting multiple modes |
JP2004008782A JP2004226969A (ja) | 2003-01-24 | 2004-01-16 | 暗号システム及び多様なモードを支援する方法 |
CN2004100029716A CN1531240B (zh) | 2003-01-24 | 2004-01-21 | 支持多个模式的加密装置 |
US11/972,387 US7885404B2 (en) | 2003-01-24 | 2008-01-10 | Cryptographic systems and methods supporting multiple modes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030004806A KR100583635B1 (ko) | 2003-01-24 | 2003-01-24 | 다수의 동작 모드들을 지원하는 암호화 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040067601A KR20040067601A (ko) | 2004-07-30 |
KR100583635B1 true KR100583635B1 (ko) | 2006-05-26 |
Family
ID=32733106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030004806A KR100583635B1 (ko) | 2003-01-24 | 2003-01-24 | 다수의 동작 모드들을 지원하는 암호화 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7509501B2 (ko) |
JP (1) | JP4684550B2 (ko) |
KR (1) | KR100583635B1 (ko) |
CN (1) | CN1531240B (ko) |
TW (1) | TWI286689B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101922955B1 (ko) * | 2018-02-14 | 2018-11-28 | (주)케이사인 | 데이터 블록 기반의 근 실시간 데이터 암호화 시스템 및 방법 |
US11838402B2 (en) | 2019-03-13 | 2023-12-05 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7336783B2 (en) * | 2003-01-24 | 2008-02-26 | Samsung Electronics, C., Ltd. | Cryptographic systems and methods supporting multiple modes |
KR100754585B1 (ko) * | 2005-01-11 | 2007-09-05 | 삼성전자주식회사 | 통신 시스템에서 신호 암호화/해독 장치 및 방법 |
JP2006220748A (ja) * | 2005-02-08 | 2006-08-24 | Toshiba Corp | データ処理装置、データ記録装置、データ再生装置およびデータ格納方法 |
US20060198515A1 (en) * | 2005-03-03 | 2006-09-07 | Seagate Technology Llc | Secure disc drive electronics implementation |
US8094814B2 (en) * | 2005-04-05 | 2012-01-10 | Broadcom Corporation | Method and apparatus for using counter-mode encryption to protect image data in frame buffer of a video compression system |
JP4887668B2 (ja) * | 2005-06-09 | 2012-02-29 | ソニー株式会社 | 暗号化復号処理回路および暗号化復号システム |
US8218770B2 (en) * | 2005-09-13 | 2012-07-10 | Agere Systems Inc. | Method and apparatus for secure key management and protection |
KR101234114B1 (ko) * | 2005-12-22 | 2013-02-20 | 인터디지탈 테크날러지 코포레이션 | 무선 통신 시스템에서 데이터 보안 및 자동 반복 요청실시를 위한 방법 및 장치 |
KR100837270B1 (ko) * | 2006-06-07 | 2008-06-11 | 삼성전자주식회사 | 스마트 카드 및 그것의 데이터 보안 방법 |
US7769166B2 (en) * | 2006-08-24 | 2010-08-03 | Lsi Corporation | Dual mode AES implementation to support single and multiple AES operations |
WO2008035616A1 (fr) * | 2006-09-20 | 2008-03-27 | Panasonic Corporation | Dispositif de transfert de données et téléphone mobile |
FR2906380B1 (fr) * | 2006-09-27 | 2008-12-19 | Trusted Logic Sa | Systeme et procede de securisation de donnees. |
KR100866959B1 (ko) * | 2007-02-13 | 2008-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치의 부분 페이지 데이터 기입 방법 |
US8538012B2 (en) * | 2007-03-14 | 2013-09-17 | Intel Corporation | Performing AES encryption or decryption in multiple modes with a single instruction |
JP4304215B2 (ja) * | 2007-03-23 | 2009-07-29 | 株式会社東芝 | 秘密分散装置、方法及びプログラム |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
JP4334582B2 (ja) * | 2007-06-26 | 2009-09-30 | 株式会社東芝 | 秘密分散装置、方法及びプログラム |
TWI386814B (zh) | 2007-12-31 | 2013-02-21 | Ind Tech Res Inst | 具動態工作管理能力之多處理器界面及其程式載卸方法 |
CN101499020B (zh) * | 2008-01-28 | 2011-08-31 | 财团法人工业技术研究院 | 具有动态工作管理能力的多处理器界面及其程序加载或卸载方法 |
JP5228803B2 (ja) * | 2008-10-30 | 2013-07-03 | 富士通セミコンダクター株式会社 | 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路 |
CN102035641A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种实现aes加解密的装置和方法 |
JP5017439B2 (ja) * | 2010-09-22 | 2012-09-05 | 株式会社東芝 | 暗号演算装置及びメモリシステム |
US8498410B2 (en) * | 2011-03-14 | 2013-07-30 | Motorola Solutions, Inc. | Methods for customizing a Rijndael block cipher |
CN103517269B (zh) * | 2012-06-19 | 2017-12-29 | 深圳市中兴微电子技术有限公司 | 数据加解密方法及系统 |
CN103874060B (zh) * | 2012-12-13 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 数据的加/解密方法和装置 |
US20150363333A1 (en) * | 2014-06-16 | 2015-12-17 | Texas Instruments Incorporated | High performance autonomous hardware engine for inline cryptographic processing |
US9003200B1 (en) * | 2014-09-22 | 2015-04-07 | Storagecraft Technology Corporation | Avoiding encryption of certain blocks in a deduplication vault |
WO2018106570A1 (en) | 2016-12-09 | 2018-06-14 | Cryptography Research, Inc. | Programmable block cipher with masked inputs |
GB201808834D0 (en) | 2018-05-30 | 2018-07-11 | Nordic Semiconductor Asa | Memory-efficient hardware cryptographic engine |
GB2574642A (en) | 2018-06-13 | 2019-12-18 | Nordic Semiconductor Asa | Hardware accelerator |
CN115348004A (zh) * | 2022-08-11 | 2022-11-15 | 北京特纳飞电子技术有限公司 | 用于数据加密的方法、系统和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261662A (ja) * | 1994-03-22 | 1995-10-13 | Fujitsu Ltd | 暗号演算回路 |
US5623549A (en) * | 1995-01-30 | 1997-04-22 | Ritter; Terry F. | Cipher mechanisms with fencing and balanced block mixing |
JPH11212451A (ja) * | 1998-01-22 | 1999-08-06 | Dainippon Printing Co Ltd | 暗号処理装置 |
US6298136B1 (en) * | 1996-05-20 | 2001-10-02 | U.S. Philips Corporation | Cryptographic method and apparatus for non-linearly merging a data block and a key |
JP2002297030A (ja) * | 2001-03-29 | 2002-10-09 | Toshiba Corp | 暗号処理装置及び暗号処理方法並びにプログラム |
JP2002358008A (ja) * | 2001-06-04 | 2002-12-13 | Mitsubishi Electric Corp | データ暗号化回路 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0276349B1 (en) * | 1987-01-28 | 1992-03-25 | International Business Machines Corporation | Apparatus for switching information between channels for synchronous information traffic and asynchronous data packets |
JPH0646344B2 (ja) * | 1988-05-23 | 1994-06-15 | 日本電信電話株式会社 | 暗号回路 |
JP3148790B2 (ja) * | 1994-03-15 | 2001-03-26 | 富士通株式会社 | 暗号装置 |
JPH08249238A (ja) * | 1995-03-08 | 1996-09-27 | Sanyo Electric Co Ltd | 着脱可能な記憶メディアの機密保持方法 |
US6061449A (en) | 1997-10-10 | 2000-05-09 | General Instrument Corporation | Secure processor with external memory using block chaining and block re-ordering |
US6295604B1 (en) * | 1998-05-26 | 2001-09-25 | Intel Corporation | Cryptographic packet processing unit |
TW375721B (en) * | 1998-06-17 | 1999-12-01 | Ind Tech Res Inst | DES chip processor capable of executing data encryption standard (DES) operation |
JP2000075785A (ja) * | 1998-08-26 | 2000-03-14 | Fujitsu Ltd | 高速暗号処理回路および処理方法 |
JP3581601B2 (ja) | 1998-12-18 | 2004-10-27 | 松下電器産業株式会社 | データ転送装置、データ転送システムおよび記録媒体 |
JP2001177518A (ja) * | 1999-12-17 | 2001-06-29 | Nec Corp | 暗号化方法、復号化方法及び装置 |
US7191341B2 (en) * | 2002-12-18 | 2007-03-13 | Broadcom Corporation | Methods and apparatus for ordering data in a cryptography accelerator |
US7657757B2 (en) * | 2003-04-30 | 2010-02-02 | Freescale Semiconductor, Inc. | Semiconductor device and method utilizing variable mode control with block ciphers |
-
2003
- 2003-01-24 KR KR1020030004806A patent/KR100583635B1/ko active IP Right Grant
- 2003-12-23 US US10/744,125 patent/US7509501B2/en active Active
- 2003-12-24 JP JP2003426676A patent/JP4684550B2/ja not_active Expired - Fee Related
-
2004
- 2004-01-16 TW TW093101126A patent/TWI286689B/zh not_active IP Right Cessation
- 2004-01-21 CN CN2004100029716A patent/CN1531240B/zh not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07261662A (ja) * | 1994-03-22 | 1995-10-13 | Fujitsu Ltd | 暗号演算回路 |
US5623549A (en) * | 1995-01-30 | 1997-04-22 | Ritter; Terry F. | Cipher mechanisms with fencing and balanced block mixing |
US6298136B1 (en) * | 1996-05-20 | 2001-10-02 | U.S. Philips Corporation | Cryptographic method and apparatus for non-linearly merging a data block and a key |
JPH11212451A (ja) * | 1998-01-22 | 1999-08-06 | Dainippon Printing Co Ltd | 暗号処理装置 |
JP2002297030A (ja) * | 2001-03-29 | 2002-10-09 | Toshiba Corp | 暗号処理装置及び暗号処理方法並びにプログラム |
JP2002358008A (ja) * | 2001-06-04 | 2002-12-13 | Mitsubishi Electric Corp | データ暗号化回路 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101922955B1 (ko) * | 2018-02-14 | 2018-11-28 | (주)케이사인 | 데이터 블록 기반의 근 실시간 데이터 암호화 시스템 및 방법 |
US11838402B2 (en) | 2019-03-13 | 2023-12-05 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
Also Published As
Publication number | Publication date |
---|---|
TW200421098A (en) | 2004-10-16 |
KR20040067601A (ko) | 2004-07-30 |
US20040148512A1 (en) | 2004-07-29 |
JP4684550B2 (ja) | 2011-05-18 |
CN1531240B (zh) | 2010-11-03 |
TWI286689B (en) | 2007-09-11 |
CN1531240A (zh) | 2004-09-22 |
JP2004226966A (ja) | 2004-08-12 |
US7509501B2 (en) | 2009-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100583635B1 (ko) | 다수의 동작 모드들을 지원하는 암호화 장치 | |
US7336783B2 (en) | Cryptographic systems and methods supporting multiple modes | |
US7043017B2 (en) | Key stream cipher device | |
US5671284A (en) | Data encryptor having a scalable clock | |
US11387980B2 (en) | Hardware multiple cipher engine | |
EP3803672B1 (en) | Memory-efficient hardware cryptographic engine | |
KR20080084752A (ko) | 단일 명령어를 이용한 다수 모드에서의 aes 암호화 또는암호 해독 수행 | |
EP1297652B1 (en) | Improving des hardware throughput for short operations | |
US20010050989A1 (en) | Systems and methods for implementing encryption algorithms | |
US7447311B2 (en) | Method of designing optimum encryption function and optimized encryption apparatus in a mobile communication system | |
US7657034B2 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
KR20090085685A (ko) | 암호화 동작을 지원하기 위한 복수의 레지스터를 갖는 데이터-이동 제어기 | |
US20030223581A1 (en) | Cipher block chaining unit for use with multiple encryption cores | |
CN108763982B (zh) | 一种适用于rfid阅读器的des加密解密装置 | |
KR100546777B1 (ko) | Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기 | |
EP1629626A1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
KR100342526B1 (ko) | 암호화 및 복호화 장치 | |
CN116502288A (zh) | 快速数据超过慢速数据的处理管线 | |
KR100528890B1 (ko) | 다양한 인터페이스를 갖는 고속 블럭 암호 장치 및 그구동 방법 | |
KR20040045517A (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
JP2015061182A (ja) | 記憶装置及び情報処理システム | |
Karri et al. | Field programmable gate array implementation of Advanced Encryption Standard Rijndael |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130430 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150430 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160429 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170427 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180430 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190429 Year of fee payment: 14 |