KR20020071328A - 파이프라인 구조를 이용한 시드의 하드웨어 구조 - Google Patents

파이프라인 구조를 이용한 시드의 하드웨어 구조 Download PDF

Info

Publication number
KR20020071328A
KR20020071328A KR1020010011437A KR20010011437A KR20020071328A KR 20020071328 A KR20020071328 A KR 20020071328A KR 1020010011437 A KR1020010011437 A KR 1020010011437A KR 20010011437 A KR20010011437 A KR 20010011437A KR 20020071328 A KR20020071328 A KR 20020071328A
Authority
KR
South Korea
Prior art keywords
encryption
mode
block
stage
round
Prior art date
Application number
KR1020010011437A
Other languages
English (en)
Inventor
정용진
전신우
김남영
이종철
김종헌
이병제
나극환
Original Assignee
미션텔레콤 주식회사
주식회사 필드콤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미션텔레콤 주식회사, 주식회사 필드콤 filed Critical 미션텔레콤 주식회사
Priority to KR1020010011437A priority Critical patent/KR20020071328A/ko
Publication of KR20020071328A publication Critical patent/KR20020071328A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Abstract

본 특허는 국내표준 128 비트 블록 암호 알고리즘인 SEED의 하드웨어 구조에 관한 것으로, 데이터를 고속으로 암호 처리할 수 있도록 ECB 모드의 암복호화와 CBC 모드의 복호화 시 파이프라인 구조를 사용하는 것이다.
본 특허의 SEED 하드웨어 구조는 [도 2]와 같이 key mixing 블록과 J3 함수 블록, J1 함수 블록, J2 함수 블록으로 1 라운드를 3 단계로 나누어, 파이프라인 구조를 사용하지 못하는 CBC 모드의 암호화를 제외한 ECB 모드의 암복호화와 CBC 모드의 복호화 시에는 이를 파이프라인 시킨다. 이 경우 파이프라인 구조를 사용하지 않았을 때 보다 약 3 배정도 성능이 향상된다.

Description

파이프라인 구조를 이용한 시드의 하드웨어 구조 {Hardware Architecture of the pipelined SEED }
본 발명은 SEED 암호 알고리즘을 지원하는 암호처리 하드웨어의 설계 및 구현에 관한 기술로, 종래 방식의 SEED 암호 알고리즘의 하드웨어 구현 방식은 1 라운드만을 구현하여 반복하도록 설계 시 1 라운드를 1 클럭으로 처리하며, 파이프라인 구조를 사용하지 않고, 모드에 따라 파이프라인 구조를 선택할 수 있게 하지 않아 암호 처리속도가 떨어지는 단점이 있다.
SEED 암호 알고리즘을 침입 탐지시스템, 전자상거래에서의 보안성 강화 등에 적용하기 위해서는 고속 암호처리가 가능해야 한다. 본 발명에서는 SEED 암호 알고리즘의 1 라운드를 3개의 서브 믈록으로 나누어 3 클럭으로 처리하여 ECB 모드의 암복호화와 CBC 모드의 복호화 시에는 라운드 처리 블록을 파이프라인 구조로 사용하고, CBC 모드의 암호화시에는 파이프라인 구조를 사용하지 않도록 모드에 따라 파이프라인 구조를 선택적으로 사용할 수 있게 하여 고속 암호처리가 가능한 SEED 암호 알고리즘의 하드웨어 구조를 제시한다.
도 1은 파이프라인 구조를 사용하기 위해 3 단계(stage 1 + stage 4, stage 2 , stage 3 or stage 1 + stage 2, stage 3 , stage 4)로 나눈 SEED의 1 라운드 구조.
도 2는 본 특허에 제안한 SEED engine의 전체 구조.
도 3은 파이프라인 구조를 사용한 경우(ECB 모드의 암복호화와 CBC 모드의 복호화)의 타이밍도.
도 4는 파이프라인 구조를 사용하지 않은 경우(CBC 모드의 암호화)의 타이밍도.
본 특허에서 고속으로 데이터를 암호 처리할 수 있도록 제안한 SEED의 하드웨어 구조는 [도 2]과 같다. 이 구조는 크게 암호화 처리 블록과 컨트롤 블록의 두 부분으로 나뉘어 진다. 암호화 처리 블록은 1 라운드를 key mixing 블록, J1 함수 블록, J2 함수 블록, J3 함수 블록의 네 부분으로 나누어 구현하였고, 이를 라운드 수만큼 반복 수행함으로써 데이터를 암호화한다. key mixing 블록은 [도 1]의 stage 1 부분으로 64 비트 라운드 키와 평문의 xor 연산으로 이루어져 있다. J1, J2, J3 함수 블록은 각각 [도 1]의 stage 2, stage 3, stage 4 부분으로 SS-box를 이용하여 구현한 G 함수 블록과 32 비트 모듈로 덧셈기로 이루어져 있고, J3 함수 블록은 여기에 xor연산이 추가된다. 컨트롤 블록은 암호화 처리 블록의 동작을 제어하기 위한 카운터와 간단한 state machine으로 이루어져 있다.
본 특허에서 제안한 SEED engine은 블록 암호의 운영 모드중 ECB 모드와 CBC 모드를 지원하도록 설계하였다. 모드에 따라 파이프라인 구조를 사용하는 경우와 파이프라인 구조를 사용하지 않는 경우의 두 가지로 나뉘어진다. ECB 모드로 암복호화 시에는 고속의 데이터 처리를 위해 암호화 블록을 J1 함수 블록, J2 함수 블록, key mixing 블록을 포함한 J3 함수 블록의 3 개의 단계로 나누고, 이를 파이프라인을 시켜 동시에 평문 3 개씩 암호 처리할 수 있도록 하였고, 3 클럭에 1 라운드가 수행되도록 하였다. 라운드를 3 단계로 나눌 때 위와 다르게 key mixing 블록을 포함한 J1 함수 블록, J2 함수 블록, J3 함수 블록의 3 개의 단계로 나눌 수도 있다. 1 라운드에 SS-box를 사용하는 G 함수가 3 번 수행되는데, 파이프라인 구조를 사용하면 G 함수 블록 1 개로 공유하여 사용할 수 없으므로 메모리의 사용이 3 배로 늘어나게 된다. CBC 모드로 암호화 시에는 평문에 이전의 암호문을 xor 연산을 한 데이터를 암호화 블록의 입력으로 사용하므로, ECB 모드처럼 파이프라인 구조를 사용할 수 없다. 이로 인해 성능이 1/3 정도로 감소한다. 그러나 CBC 모드로 복호화 시에는 암호문을 복호화한 결과와 이전의 암호문을 xor 연산을 하여 평문을 생성하므로, ECB 모드처럼 파이프라인 구조를 사용할 수 있다.
먼저 파이프라인 구조를 사용하는 ECB 모드로 암호화 시 전체 타이밍도는 [도 3]과 같다. 먼저 start 신호가 1 이 되면 로드된 레지스터0의 첫 번째 128 비트 평문은 멀티플랙서를 통과하고 key mixing 블록을 수행한 후 레지스터1에 저장된다. 다음 클럭에서 첫 번째 평문은 J1 함수 블록을 수행한 후 레지스터2에 저장되고, 두 번째 평문은 전 클럭에서의 첫 번째 평문처럼 멀티플랙서를 통과하고 key mixing블록을 수행한 후 레지스터1에 저장된다. 그리고 다음 클럭에서는 첫 번째 평문은 J2 함수 블록을 수행한 후 레지스터3에 저장되고, 두 번째 평문은 J1 함수 블록을 수행한 후 레지스터2에 저장되고, 마지막 세 번째 평문은 다른 평문들과 마찬가지로 멀티플랙서를 통과하고 key mixing 블록을 수행한 후 레지스터1에 저장된다. 다음 클럭부터 멀티플랙서는 로드되어 입력되는 레지스터0의 평문이 아닌 J3 함수 블록을 수행하고 귀환되어 오는 데이터를 통과시키며, 3 개의 평문은 각각 다음 함수 블록들을 수행한다. 이렇게 3 개의 평문이 1 라운드만을 구현한 암호화 처리 블록을 각각 16 번씩 반복 수행하여 암호문을 생성한다. 16 라운드를 수행하고 나면 ready 신호를 1 로 하여 암호화 과정을 마쳤음을 알려주고, 이때 생성된 암호문을 레지스터4에 저장한다.. 그러므로 파이프라인 구조를 사용하면 3 개의 평문이 동시에 암호화 과정을 수행하게 된다. 그리고 3 개의 평문이 암호화 과정을 거쳐 암호문이 생성된 후 다음 3 개의 평문이 위의 과정처럼 암호화 과정을 수행하게 된다.
파이프라인 구조를 사용하지 않는 CBC 모드의 암호화 시에는 [도 4]와 같이 하나의 평문을 로드해서 이를 16 번 반복 수행하여 암호문을 생성한 후, 다음 평문을 암호화하게 된다.
본 특허는 ECB 모드의 암복호화와 CBC 모드의 복호화시 1 라운드를 3 단계로 나누어 파이프라인 시킴으로써 파이프라인 구조를 이용하지 않았을 때 보다 약 3 배정도 성능이 향상되므로, 고속으로 데이터를 암호 처리해야 할 경우에 유리하다.

Claims (3)

  1. G 함수의 SS-box(또는 S-box)를 동기식 메모리(ROM)로 사용할 수 있도록 1 라운드를 [도 1]의 stage 1 + stage 4, stage 2, stage 3의 3 개의 서브 블록으로 나누어 3 클럭으로 처리한 라운드 처리 블록의 구조. SEED에 대한 특허인 [1]에서는 본 특허와 달리 1 라운드를 [도 1]의 stage 1 + stage 2, stage 3, stage 4의 3 개의 부분 라운드로 나누어 구현하였다.
  2. ECB 모드의 암복호화와 CBC 모드의 복호화 시 3 개의 서브 블록으로 나눈 라운드 처리 블록을 파이프라인 시킨 구조. [1]에서는 라운드 키 생성 시 파이프라인 구조를 사용하였지만 키는 매 블록마다 바뀌는 것이 아니므로 데이터의 암호 처리 속도를 높이는데 큰 영향을 끼치지 못한다. 그러나 본 특허는 라운드 처리 블록에서 파이프라인 구조를 사용하므로 파이프라인 구조를 사용하지 않았을 때 보다 데이터의 암호 처리 속도가 약 3 배정도 향상된다.
  3. ECB 모드의 암복호화와 CBC 모드의 복호화 시에는 파이프라인 구조로 사용할 수 있고, CBC 모드의 암호화 시에는 파이프라인 구조를 사용할 수 없으므로 모드와 암복호화에 따라 파이프라인 구조를 선택하여 사용할 수 있도록 한 구조.
KR1020010011437A 2001-03-06 2001-03-06 파이프라인 구조를 이용한 시드의 하드웨어 구조 KR20020071328A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010011437A KR20020071328A (ko) 2001-03-06 2001-03-06 파이프라인 구조를 이용한 시드의 하드웨어 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010011437A KR20020071328A (ko) 2001-03-06 2001-03-06 파이프라인 구조를 이용한 시드의 하드웨어 구조

Publications (1)

Publication Number Publication Date
KR20020071328A true KR20020071328A (ko) 2002-09-12

Family

ID=27696496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010011437A KR20020071328A (ko) 2001-03-06 2001-03-06 파이프라인 구조를 이용한 시드의 하드웨어 구조

Country Status (1)

Country Link
KR (1) KR20020071328A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020087331A (ko) * 2001-05-14 2002-11-22 최병윤 부분 라운드간 파이프라인 기법을 이용한 AES Rijndael암호 및 복호 회로
KR100425956B1 (ko) * 2000-07-15 2004-04-03 (주)시큐어피아 동작 진행 중 라운드 키 계산 방식을 이용한 seed 암호 및 복호 회로
KR100528890B1 (ko) * 2002-06-26 2005-11-22 한국전자통신연구원 다양한 인터페이스를 갖는 고속 블럭 암호 장치 및 그구동 방법
KR100960113B1 (ko) * 2008-09-19 2010-05-27 한국전자통신연구원 고속처리 가능한 아리아 암복호화 장치
US8229111B2 (en) 2005-02-22 2012-07-24 Samsung Electronics Co., Ltd. Security circuit using at least two finite state machine units and methods using the same
WO2016142330A1 (en) 2015-03-06 2016-09-15 Danmarks Tekniske Universitet A method for accelerating pipelined cryptographic implementations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
JPH1063183A (ja) * 1996-05-14 1998-03-06 Korea Electron Telecommun ディジタル放送のための加入者制限受信用デ−タ暗号化方法
EP1001582A2 (en) * 1998-11-13 2000-05-17 Tektronix, Inc. System for network transcoding of multimedia data flow
US6185679B1 (en) * 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks
KR20020007113A (ko) * 2000-07-15 2002-01-26 최병윤 라운드 키의 온라인 사전 계산 방식을 사용한 seed암호 및 복호 회로

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
JPH1063183A (ja) * 1996-05-14 1998-03-06 Korea Electron Telecommun ディジタル放送のための加入者制限受信用デ−タ暗号化方法
US6185679B1 (en) * 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks
EP1001582A2 (en) * 1998-11-13 2000-05-17 Tektronix, Inc. System for network transcoding of multimedia data flow
KR20020007113A (ko) * 2000-07-15 2002-01-26 최병윤 라운드 키의 온라인 사전 계산 방식을 사용한 seed암호 및 복호 회로

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100425956B1 (ko) * 2000-07-15 2004-04-03 (주)시큐어피아 동작 진행 중 라운드 키 계산 방식을 이용한 seed 암호 및 복호 회로
KR20020087331A (ko) * 2001-05-14 2002-11-22 최병윤 부분 라운드간 파이프라인 기법을 이용한 AES Rijndael암호 및 복호 회로
KR100528890B1 (ko) * 2002-06-26 2005-11-22 한국전자통신연구원 다양한 인터페이스를 갖는 고속 블럭 암호 장치 및 그구동 방법
US8229111B2 (en) 2005-02-22 2012-07-24 Samsung Electronics Co., Ltd. Security circuit using at least two finite state machine units and methods using the same
KR100960113B1 (ko) * 2008-09-19 2010-05-27 한국전자통신연구원 고속처리 가능한 아리아 암복호화 장치
US8509428B2 (en) 2008-09-19 2013-08-13 Electronics And Telecommunications Research Institute High-speed pipelined ARIA encryption apparatus
WO2016142330A1 (en) 2015-03-06 2016-09-15 Danmarks Tekniske Universitet A method for accelerating pipelined cryptographic implementations

Similar Documents

Publication Publication Date Title
Gueron Intel’s new AES instructions for enhanced performance and security
US7697681B2 (en) Parallelizable integrity-aware encryption technique
JP3566311B2 (ja) 疑似ランダム非線形シーケンス発生装置に基づいたブロック暗号装置
US7295671B2 (en) Advanced encryption standard (AES) hardware cryptographic engine
EP3145113B1 (en) Flexible architecture and instruction for advanced encryption standard (aes)
US8094816B2 (en) System and method for stream/block cipher with internal random states
EP1955473A1 (en) Mutli-lane high-speed encryption and decryption
US20030068036A1 (en) Method and circuit for data encryption/decryption
JP3824121B2 (ja) 暗号データの復号化処理方法および装置
Gilbert et al. Decorrelated Fast Cipher: an AES Candidate
Lee et al. Processor accelerator for AES
WO2012053882A1 (en) A method for encrypting and decrypting data and a system therefor
KR20020071328A (ko) 파이프라인 구조를 이용한 시드의 하드웨어 구조
TW200524360A (en) Method for implementing advanced encryption standards by a very long instruction word architecture processor
US20240097880A1 (en) High-speed circuit combining aes and sm4 encryption and decryption
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
KR100316025B1 (ko) 데이터 암호 표준 알고리즘을 이용한 암호 및 복호 장치
Mitsuyama et al. VLSI implementation of high performance burst mode for 128-bit block ciphers
KR20180021473A (ko) 암호화 장치
KR20030087893A (ko) 라운드 키의 온라인 계산 기능을 갖는 모듈화 구조의 AESRijndael 라운드 키 생성 회로
CN118157843A (zh) 就地执行认证解密优化的aes-gcm引擎
JP2004038103A (ja) 暗号回路
Mitsuyama et al. Burst mode: a new acceleration mode for 128-bit block ciphers
JP2003216024A (ja) 暗号回路
Mitsuyama et al. VLSI architecture of burst mode acceleration for 128-bit block ciphers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application