KR100494560B1 - Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 - Google Patents
Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 Download PDFInfo
- Publication number
- KR100494560B1 KR100494560B1 KR10-2002-0073321A KR20020073321A KR100494560B1 KR 100494560 B1 KR100494560 B1 KR 100494560B1 KR 20020073321 A KR20020073321 A KR 20020073321A KR 100494560 B1 KR100494560 B1 KR 100494560B1
- Authority
- KR
- South Korea
- Prior art keywords
- round
- encryption
- decryption
- key
- data
- Prior art date
Links
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
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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
- H04L2209/122—Hardware reduction or efficient architectures
-
- 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
Abstract
Description
모드 | 값 |
ECB 암호화 모드 | 0000 |
CBC 암호화 모드 | 0001 |
CFB 암호화 모드 | 0010 |
OFB 암호화 모드 | 0100 |
CTR 암호화 모드 | 0101 |
ECB 복호화 모드 | 1000 |
CBC 복호화 모드 | 1001 |
CFB 복호화 모드 | 1010 |
OFB 복호화 모드 | 1100 |
CTR 복호화 모드 | 1101 |
Claims (16)
- 블록 데이터와 입력 암호 키의 배타적 논리합 연산을 수행하는 입력키가산부;상기 배타적 논리합 연산의 결과 및 상기 입력 암호 키를 이용하여 암호복호화 연산을 수행하는 라운드연산부; 및라운드 수를 카운트하여 상기 라운드연산부가 소정의 라운드 수만큼 상기 암호복호화 연산을 반복하게 하는 라운드제어부를 포함하는 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 제 1 항에 있어서, 상기 라운드연산부는 암호화에 필요한 부분과 복호화에 필요한 부분 중 공통되는 부분을 다중화기를 사용하여 공유하는 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 제 1 항에서 있어서, 상기 라운드연산부는,상기 입력 암호 키로부터 각 라운드에 사용할 라운드 키를 생성하는 라운드키생성부;제1라운드에서는 상기 배타적 논리합 연산의 결과를 암호화 모드 또는 복호화 모드에 따른 소정의 양만큼 그 위치를 쉬프트하고 각 바이트를 치환 연산하며, 이후의 라운드에서는 상기 라운드연산부의 이전 라운드의 출력을 암호화 모드 또는 복호화 모드에 따른 소정의 양만큼 그 위치를 쉬프트하고 각 바이트를 치환 연산하는 바이트연산부; 및데이터를 암호화하는 경우, 상기 치환 연산된 바이트 각각에 소정의 상수와의 바이트별 곱셈 연산을 수행한 후 상기 라운드 키와의 배타적 논리합 연산을 수행하며, 데이터를 복호화하는 경우, 상기 치환 연산된 바이트 각각에 상기 라운드 키와의 배타적 논리합 연산을 수행한 후 상기 상수와의 바이트 별 곱셈 연산을 수행하는 믹스컬럼연산및라운드키가산부를 포함하는 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 제 3 항에 있어서, 상기 바이트연산부는 쉬프트 연산한 데이터를 저장하지 않고 바로 치환 연산하는 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 제 3 항에 있어서, 상기 믹스컬럼연산및라운드키가산부는 상기 바이트별 곱셈 연산을 배타적 논리합 게이트의 조합으로 구현한 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 제 1 항에 있어서,동작 모드가 ECB 암호화 모드, ECB 복호화 모드, 또는 CBC 복호화 모드인 경우, 상기 블록 데이터를 상기 입력키가산부에 그대로 전달하며,동작 모드가 CBC 암호화 모드인 경우, 상기 블록 데이터와 초기화 벡터 값의 배타적 논리합 연산을 수행하여 그 결과값을 상기 입력키가산부에 전달하며,동작 모드가 CFB 암호화 모드, CFB 복호화 모드, OFB 암호화 모드, OFB 복호화 모드, CTR 암호화 모드, 또는 CTR 복호화 모드인 경우, 초기화 벡터 값을 상기 입력키가산부에 전달하는 초기화부를 더 포함하는 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 삭제
- 삭제
- 제 1 항에 있어서, 상기 블록 데이터 및 상기 입력 암호 키는 각각 128 비트의 크기를 가지며, 상기 라운드 연산의 수는 10회인 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 제 1 항에 있어서, 암호화를 수행할 것인지 복호화를 수행할 것인지에 대한 정보, 모드에 대한 정보, 및 제어에 관한 정보를 저장하고 이를 상기 라운드연산부 및 상기 라운드제어부에 전달하는 상태레지스터를 더 포함하는 것을 특징으로 하는 블록 데이터 암호복호화 장치.
- 입력 암호 키로부터 각 라운드에 사용할 라운드 키를 생성하는 라운드키생성부;데이터의 각 바이트를 암호화 모드인지 복호화 모드인지에 따른 소정의 수만큼 그 위치를 쉬프트하고 각 바이트를 치환 연산하는 바이트연산부; 및데이터를 암호화하는 경우, 상기 치환 연산된 바이트 각각에 소정의 상수와의 바이트별 곱셈 연산을 수행한 후 상기 라운드 키와의 배타적 논리합 연산을 수행하며, 데이터를 복호화하는 경우, 상기 치환 연산된 바이트 각각에 상기 라운드 키와의 배타적 논리합 연산을 수행한 후 상기 상수와의 바이트 별 곱셈 연산을 수행하는 믹스컬럼연산및라운드키가산부를 포함하는 것을 특징으로 하는 블록 데이터 라운드 연산 장치.
- (a) 블록 데이터와 입력 암호 키의 배타적 논리합 연산을 수행하는 단계;(b) 상기 배타적 논리합 연산의 결과, 상기 입력 암호 키, 및 이전 라운드의 계산 값을 이용하여 하나의 라운드에 해당하는 암호복호화 연산을 수행하는 단계; 및(c) 소정의 라운드 수만큼 상기 (b) 단계를 반복하는 단계를 포함하는 것을 특징으로 하는 블록 데이터 암호복호화 방법.
- 제 12 항에 있어서, 상기 (b) 단계는,(b1) 상기 입력 암호 키로부터 라운드 키를 생성하는 단계;(b2) 라운드 수에 따른 소정의 데이터의 각 바이트를 암호화 모드인지 복호화 모드인지에 따른 소정의 수만큼 그 위치를 쉬프트하고 각 바이트를 치환 연산하는 단계;(b3) 상기 데이터의 각 바이트별로 소정의 상수를 곱하는 연산을 수행하는 단계; 및(b4) 상기 데이터와 상기 라운드 키와의 배타적 논리합 연산을 수행하는 단계를 포함하며,상기 (b2) 단계의 데이터는, 제 1 라운드에서는 상기 (a) 단계에서의 배타적 논리합 결과를 이용하며, 이후의 라운드에서는 이전 라운드의 (b4) 단계에서의 배타적 논리합 결과를 이용하는 것을 특징으로 하는 블록 데이터 암호복호화 방법.
- 제 13 항에 있어서, 상기 (b1) 단계는 상기 (b2) 및 (b3) 단계와 병행하여 수행되는 것을 특징으로 하는 블록 데이터 암호복호화 방법.
- 제 12 항에 있어서, 상기 블록 데이터 및 상기 입력 암호 키는 각각 128 비트의 크기를 가지며, 상기 라운드 연산의 수는 10회인 것을 특징으로 하는 블록 데이터 암호복호화 방법.
- (a) 블록 데이터와 입력 암호 키의 배타적 논리합 연산을 수행하는 단계;(b) 상기 배타적 논리합 연산의 결과, 상기 입력 암호 키, 및 이전 라운드의 계산 값을 이용하여 하나의 라운드에 해당하는 암호복호화 연산을 수행하는 단계; 및(c) 소정의 라운드 수만큼 상기 (b) 단계를 반복하는 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0073321A KR100494560B1 (ko) | 2002-11-23 | 2002-11-23 | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0073321A KR100494560B1 (ko) | 2002-11-23 | 2002-11-23 | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040045517A KR20040045517A (ko) | 2004-06-02 |
KR100494560B1 true KR100494560B1 (ko) | 2005-06-13 |
Family
ID=37341310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0073321A KR100494560B1 (ko) | 2002-11-23 | 2002-11-23 | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100494560B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100584604B1 (ko) * | 2004-08-14 | 2006-05-30 | 삼성전자주식회사 | 디바이스를 인증하기 위한 키 생성 방법/장치 및 디바이스인증 방법/장치 |
KR100754585B1 (ko) * | 2005-01-11 | 2007-09-05 | 삼성전자주식회사 | 통신 시스템에서 신호 암호화/해독 장치 및 방법 |
KR100668664B1 (ko) * | 2005-11-22 | 2007-01-12 | 한국전자통신연구원 | Aes 라인달 블록 알고리즘을 이용하는 암호화/복호화장치 및 방법 |
KR100788902B1 (ko) * | 2006-12-06 | 2007-12-27 | 한국전자통신연구원 | 믹스컬럼블록 장치 및 이를 이용한 곱셈연산방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863097A (ja) * | 1994-08-04 | 1996-03-08 | Northern Telecom Ltd | データを暗号化するための対称暗号化方法およびシステム |
KR19990027040A (ko) * | 1997-09-27 | 1999-04-15 | 서정일 | 암호화 방법 및 장치 |
KR20000021130A (ko) * | 1998-09-25 | 2000-04-15 | 김용만 | 대칭키 블록 암호 알고리즘 |
KR100296958B1 (ko) * | 1998-05-06 | 2001-09-22 | 이석우 | 블록 데이터 암호화 장치 |
KR20030000720A (ko) * | 2001-06-26 | 2003-01-06 | 박승배 | 키와 평문 사이에 연산이 이루어지지 않는 대칭키 블록암호 알고리즘 설계방법 |
-
2002
- 2002-11-23 KR KR10-2002-0073321A patent/KR100494560B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863097A (ja) * | 1994-08-04 | 1996-03-08 | Northern Telecom Ltd | データを暗号化するための対称暗号化方法およびシステム |
KR19990027040A (ko) * | 1997-09-27 | 1999-04-15 | 서정일 | 암호화 방법 및 장치 |
KR100296958B1 (ko) * | 1998-05-06 | 2001-09-22 | 이석우 | 블록 데이터 암호화 장치 |
KR20000021130A (ko) * | 1998-09-25 | 2000-04-15 | 김용만 | 대칭키 블록 암호 알고리즘 |
KR20030000720A (ko) * | 2001-06-26 | 2003-01-06 | 박승배 | 키와 평문 사이에 연산이 이루어지지 않는 대칭키 블록암호 알고리즘 설계방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20040045517A (ko) | 2004-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8416947B2 (en) | Block cipher using multiplication over a finite field of even characteristic | |
EP1440535B1 (en) | Memory encrytion system and method | |
US9209967B2 (en) | Precalculated encryption key | |
US6504930B2 (en) | Encryption and decryption method and apparatus using a work key which is generated by executing a decryption algorithm | |
US8290148B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
US8301905B2 (en) | System and method for encrypting data | |
Karthigaikumar et al. | Simulation of image encryption using AES algorithm | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
US7212633B2 (en) | Expansion key generating device, encryption device and encryption system | |
US7257229B1 (en) | Apparatus and method for key scheduling | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
CN114826558B (zh) | 一种海量数据快速加密方法及系统 | |
Bajaj et al. | AES algorithm for encryption | |
Mohan et al. | Revised aes and its modes of operation | |
JP4395527B2 (ja) | 情報処理装置 | |
EP1629626B1 (en) | Method and apparatus for a low memory hardware implementation of the key expansion function | |
RU2188513C2 (ru) | Способ криптографического преобразования l-битовых входных блоков цифровых данных в l-битовые выходные блоки | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
EP1043863B1 (en) | Method for the cryptographic conversion of L-bit input blocks of digital data info into L-bit output blocks | |
JP2001016197A (ja) | 自己同期型ストリーム暗号システム及びこれを用いたmac生成方法 | |
Sharma et al. | Comparative analysis of block key encryption algorithms | |
RU2186467C2 (ru) | Способ блочного итеративного шифрования | |
KR100546777B1 (ko) | Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기 | |
RU2204212C2 (ru) | Итеративный способ блочного шифрования |
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: 20130527 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20141128 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160503 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20170321 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20180822 Year of fee payment: 14 |