JP2002040932A - データ暗号化標準アルゴリズムを利用する暗号化装置 - Google Patents

データ暗号化標準アルゴリズムを利用する暗号化装置

Info

Publication number
JP2002040932A
JP2002040932A JP2001165684A JP2001165684A JP2002040932A JP 2002040932 A JP2002040932 A JP 2002040932A JP 2001165684 A JP2001165684 A JP 2001165684A JP 2001165684 A JP2001165684 A JP 2001165684A JP 2002040932 A JP2002040932 A JP 2002040932A
Authority
JP
Japan
Prior art keywords
data
clock
multiplexer
bit
bit data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2001165684A
Other languages
English (en)
Inventor
Eigen Rin
永 原 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of JP2002040932A publication Critical patent/JP2002040932A/ja
Pending legal-status Critical Current

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
    • 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
    • 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/122Hardware reduction or efficient architectures
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

(57)【要約】 【課題】 データアクセスの競合を排除し、チップ面積
の最小化が可能な暗号化装置を提供すること。 【解決手段】 データ初期置換部、2つのクロックを利
用するn段(nは4以上の偶数)パイプライン構造のデータ
変換部及びデータ逆初期置換部を備えたデータ暗号化標
準アルゴリズムを使用した暗号化装置であって、n/2個
の48ビットデータの中から1つを選択するマルチプレク
サと、該マルチプレクサから出力された48ビットデータ
を構成する6ビットのアドレス8個を各々入力されて4ビ
ットデータ8個を出力する8個のS-Boxと、前記S-Boxから
出力される4ビットデータ8個をn/2個の32ビットデータ
として分配出力するデマルチプレクサと、第3クロック
及び第4クロックに応じて前記マルチプレクサ及び前記
デマルチプレクサを制御する制御機とを備え、前記第3
及び第4クロックの周波数は、前記第1及び第2クロック
の周波数のn/2倍である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号化装置に関
し、特に、データ暗号化標準アルゴリズムを利用する暗
号化装置に関する。
【0002】
【従来の技術】一般に、データ暗号化標準(以下、DES
(Data Encryption Standard)と記す)アルゴリズム
は、最も広く用いられている暗号化方式であって、ネッ
トワーク使用の増加に伴って、ますます重要になってい
る。特に、保安インターネット応用、遠隔接近サーバ、
ケーブルモデム、衛星用モデムなどの分野において多く
利用されている。
【0003】DESは、基本的に64ビットブロックの入力
及び出力を有する64ビットブロック暗号であり、64ビッ
トのキーブロックの中、56ビットが暗号化及び復号化に
用いられ、残りの8ビットは、パリティ検査用に用いら
れる。また、64ビットの暗号化される前の情報(以下、
平文と記す)ブロックと56ビットのキーを入力として、
64ビットの暗号文ブロックを出力する暗号化装置であ
る。
【0004】DESを実現する手段には、P-Box置換、S-Bo
x置換、及び補助キーを発生させるキースケジュールな
どが必要である。
【0005】データ暗号化部の内部は、16ラウンドの繰
り返し演算を行う形態になっており、入力部の初期置換
部と出力部の逆初期置換部とから構成されている。
【0006】図1は、一般的なDES構造の暗号関数とS-Bo
x置換部の構成を示すブロック図である。
【0007】図1に示すように、暗号関数部fは、32ビッ
トのテキストブロックを格納している右側レジスタから
32ビットのデータR(i-1)を入力されて48ビットのデータ
に拡張置換する拡張置換部110、該拡張置換部110から48
ビットのデータを受信し、キースケジューラから補助キ
ーKiを受信して排他的論理和演算を行う排他的論理和演
算部120、前記排他的論理和演算部120からの48ビットの
データを32ビットのデータに置換するS-Box置換部130、
該S-Box置換部130の32ビットのデータを置換するP-Box
置換部140、及び該P-Box置換部の32ビットのデータと左
側レジスタに格納されている32ビットのデータL(i-1)を
入力されて排他的論理和する排他的論理和演算部150を
備えている。
【0008】キースケジューラは、56ビットのキーを受
信して、28ビットの2つのブロックに分けて各々左に1
または2桁ずつシフトするシフト部160、170と、該シフ
ト部から2つのブロックを入力されて1つの補助キーに
圧縮して置換する圧縮置換部180とを備えている。
【0009】具体的には、前記S-Box置換部130は、48ビ
ットのデータの入力を受けて32ビットの出力データを生
成する8個のS-Boxから構成されている。すなわち、48ビ
ットのデータは、8個の6ビットデータに分割されて、8
個のS-Boxに入力される。この8個のS-Boxは、8個の4ビ
ットデータを出力することによって、48ビットを32ビッ
トに減らす。S-Box置換部130は、ルックアップテーブル
方式に置き換えることによって、プログラマブル論理ア
レイPLA(programmable logic array)やROMのような記
憶装置を必要とする。6ビットのデータの入力に対して4
ビットのデータを出力するために、各S-Boxは、64 × 4
ビットの記憶容量が必要であって、全体が8個のS-Boxか
ら構成されているので、8 × 64 × 4ビットの記憶容量
が必要となる。したがって、これらの記憶容量がチップ
において占める面積は相対的に大きくなる。
【0010】図2は、処理性能比を増加させる4段のパイ
プライン構造を有するDES構造である。
【0011】図2に示すDES構造は、まず初期置換部を経
た64ビットの平文ブロックを2つに分けた各々32ビッ
トのブロックa0及びb0を、第1クロック及び第2クロック
を使用して、各々第1左側レジスタ(A0)260と第1右側レ
ジスタ(B0)200に格納した後、キースケジューラから生
成された補助キーKiを入力されて、前記第1右側レジス
タ(B0)200からの32ビットのデータを暗号関数部fB(210)
によって暗号化変換し、該暗号関数部により変換された
32ビットのデータと前記第1左側レジスタ(A0)260のデー
タとに関して排他的論理和演算部220によって排他的論
理和演算を行う。
【0012】前記排他的論理和演算部220の32ビットデ
ータを第1クロック(CLK1)を使用して第2左側レジスタ(A
1)230に格納し、補助キーKi+1を入力されて、前記第2左
側レジスタ(A1)230に格納されている32ビットのデータ
を暗号関数部fC(240)を介して変換し、該変換された32
ビットのデータと前記右側レジスタ(B0)200の32ビット
データとに関して排他的論理和演算部250によって排他
的論理和演算を行う。
【0013】前記排他的論理和演算部250の32ビットデ
ータを第2クロック(CLK2)を使用して第2右側レジスタ(B
1)260に格納し、補助キーKi+1を入力されて前記第2右側
レジスタ(B1)260に格納されている32ビットのデータを
暗号関数部fD(270)を介して変換し、該変換された32ビ
ットのデータと前記左側レジスタ(A1)230の32ビットデ
ータとに関して排他的論理和演算部280によって排他的
論理和演算を行う。
【0014】前記排他的論理和演算部280の32ビットデ
ータを第1クロック(CLK1)を使用して第1左側レジスタ(A
0)290に格納し、補助キーKi+1を入力されて前記第1左側
レジスタ(A0)290に格納されている32ビットのデータを
暗号関数部fA(300)を介して変換し、該変換された32ビ
ットのデータと前記右側レジスタ(B1)260の32ビットデ
ータとに関して排他的論理和演算部310によって排他的
論理和演算を行う。
【0015】このように、4回のラウンドが繰り返され
て最後のラウンドの第1左側レジスタ(A0)260の32ビット
データが前記32ビットのブロックb15となり、最後のラ
ウンドの排他的論理和演算部310から出力された32ビッ
トデータが前記32ビットのブロックb16となる。
【0016】前記第2クロック(CLK2)は、前記第1クロッ
ク(CLK1)を反転させたものであり、前記第1クロック(CL
K1)を半周期遅延させたものでもある。前記第1クロック
(CLK1)の立上りにおいて、前記左側レジスタA0及びA1に
新しい値が格納され、前記第1クロック(CLK1)の立下り
において、前記右側レジスタB0及びB1に新しい値が格納
される。
【0017】図3は、図2に示した4段パイプライン構造
のDES構造の動作順序を示すタイミング図である。
【0018】図3に示すように、32ビットのブロックa0
とb0は、初期置換を経た64ビットの平文ブロックが32ビ
ットの2つのブロックに分けられて生成され、t0とt1
おいてa0とb0値がレジスタA0とB0に第1クロック(CLK1)
と第2クロック(CLK2)に応じて各々格納される。t1からb
1
【数1】 を計算し始めて、t2で計算された値をレジスタA1に格納
する。この場合、レジスタA0に入力された値a0は、t2
で維持されれば、t1〜t2区間におけるb1値の計算に使用
することができる。このことは反転された第1クロック
(CLK1)と第2クロック(CLK2)によってレジスタA1とB0が
新しい値を格納することによって解決できる。すなわ
ち、レジスタA1が新しいデータを格納し得る時間は、
t0、t2、t4....であって、レジスタB0に新しいデータが
入力される時間は、t1、t3、t5....である。同様に、t1
でレジスタB0に格納された値b0とt2でレジスタA1に格納
された値b1がt2〜t3区間で維持されるために、t3でレジ
スタB1に前記第2クロック(CLK2)を使用して計算されたb
2
【数2】 を格納することができる。このような方式で前記第1ク
ロック(CLK1)の立上りにおいて、t4、t8、t12、t16で計
算されたb3、b7、b11、b15値がレジスタA0に格納され、
t6、t10、t14で新しいb5、b9、b13の値がレジスタA1に
格納される。また前記第2クロック(CLK2)の立ち上りに
おいて、レジスタB0にはb4、b8、b12、b16値がt5、t9
t13、t17で格納され、レジスタB1にはb6、b10、b14の値
がt7、t11、t15で格納される。
【0019】図4は、図2に示した4段パイプライン構造
によるDES構造のパイプライン動作順序を示すタイミン
グ図である。
【0020】図4には、パイプライン構造を利用したパ
イプライン動作によって、2つの平文ブロックを8.5ク
ロックサイクルの間同時に処理できることが示されてい
る。また、図3において空いている部分に新しい平文ブ
ロックc0とd0をt2とt3でレジスタA0とB0に入力すること
によって、平文ブロックbi値を計算する間、平文ブロッ
クdi値を計算できることも示されている。この場合、t0
〜t1、t1〜t2、t2〜t3....の区間ごとに、新しい平文ブ
ロックbiとdi値を暗号化するために、暗号関数部fによ
る処理が2つずつ同時に行われる。したがって、暗号関
数を構成するS-Boxを1個ずつ追加する必要がある。
【0021】同様に、2個の平文ブロックを8.5クロック
サイクルの間同時に処理するために、従来の技術の8段
のパイプラインDES構造では、各時間区間ごとに暗号関
数部fによる処理が2つずつ同時に行われる。したがっ
て暗号関数部を構成するS-Boxが2つ必要である。
【0022】図5は、4段のパイプライン構造のDES構造
における従来の技術の単一ポートS-Box置換部を示すブ
ロック図である。
【0023】図5に示すように、従来の技術では、S-Box
置換部を2つ使用してパイプライン動作を行うようにな
っており、1つのS-Box置換部は、48ビットの入力デー
タを受け取って32ビットの出力データを出力する8個のS
-Boxから構成されている。各々のS-Boxは、64×4ビット
のROMやプログラム可能論理アレイ(PLA)から構成されて
おり、6ビットのアドレスを入力されて4ビットのデータ
を出力する第1経路(Path1)を備えている。2つのS-Box
置換部には、互いに異なる第1経路(Path1)と第2経路(Pa
th2)とが物理的に存在する。
【0024】従来の技術では、上記のように互いに異な
る経路を設けることによって、S-Box置換部を実現する
ために必要な記憶装置を同時にアクセスするデータの競
合(以下、データコンテンション(Data contention)と
記す)問題を解決する。また、同じS-Box置換部を2つ
使用することによって面積が増加する短所がある。
【0025】図6は、処理性能比を増加させる8段のパイ
プライン構造のDES構造を示すブロック図である。
【0026】図6に示すように、DESアルゴリズムは、初
期置換部を経た64ビットの平文ブロックを32ビットの2
つのブロックに分けたブロックであるa0とb0を第1クロ
ックと第2クロックを使用して第1左側レジスタ(A0)660
と第1右側レジスタ(B0)600とに格納した後、キースケジ
ューラによって生成された補助キーKiを使用して前記第
1右側レジスタ(B0)600からの32ビットのデータを暗号関
数部fB(610)によって暗号化変換し、前記暗号関数部fB
により変換された32ビットのデータと前記第1左側レジ
スタ(A0)660の32ビットデータとに関して排他的論理和
演算部620によって排他的論理和演算を行う。また、前
記排他的論理和演算部620の32ビットデータを第1クロッ
ク(CLK1)を使用して第2左側レジスタ(A1)630に格納し、
入力される補助キーKi+1を使用して前記第2左側レジス
タに格納されている32ビットのデータを暗号関数部fC(6
40)を介して変換し、該変換された32ビットのデータと
前記第1右側レジスタ(B0)600の32ビットデータとに関し
て排他的論理和演算部650によって排他的論理和演算を
行う。このような2回のラウンドが繰り返されて16ラウ
ンドが行われた結果、最後のラウンドの第1左側レジス
タ(A0)660の32ビットデータがb15となり、最後のラウン
ドの排他的論理和演算部670から出力された32ビットデ
ータがb16となる。
【0027】左側レジスタは、A1、A2、A3、A0、右側レ
ジスタは、B0、B1、B2、B3と表示した。図1のように、
レジスタA0、A1、A2、A3は、第1クロック(CLK1)を使用
してデータを格納し、レジスタB0、B1、B2、B3は、第2
クロック(CLK2)を使用してデータを格納する。第2クロ
ック(CLK2)は第1クロック(CLK1)を反転させたものであ
って、第1クロック(CLK1)の半周期遅延させたものでも
ある。
【0028】図7は、図6の8段パイプライン構造のDES構
造の動作順序を示すタイミング図である。
【0029】図7に示すように、32ビットのブロックa0
とb0は、初期置換を経た64ビットの平文ブロックが32ビ
ットの2つのブロックに分けられたものであって、t0
t1でa0とb0値がレジスタA0とB0に第1クロック(CLK1)と
第2クロック(CLK2)に応じて各々格納される。t1からb1
【数3】 を計算し始めて、t2で計算された値をレジスタA1に格納
する。この場合、レジスタA0に入力された値a0は、t2
で維持されれば、t1〜t2区間でのb1値の計算に使用する
ことができる。これは反転された第1クロック(CLK1)と
第2クロック(CLK2)によってレジスタA1とB0が新しい値
を格納することによって解決できる。すなわちレジスタ
A1が新しいデータを格納し得る時間は、t0、t2、t4....
であって、レジスタB0に新しいデータが入力される時間
は、t1、t3、t5....である。同様に、t1でレジスタB0に
格納された値b0とt2でレジスタA1に格納された値b1がt2
〜t3区間で維持されるために、t3でレジスタB1に前記第
2クロック(CLK2)を使用して計算されたb2
【数4】 を格納することができる。このような方式で、前記第1
クロック(CLK1)の立上りにおいて、t0、t8、t16でa0、b
7、b15値がレジスタA0に、t2、t10でb1、b9値がレジス
タA1に、t4、t12でb3、b11値がレジスタA2に、t6、t14
でb5、b13値がレジスタA3に各々格納される。また前記
第2クロック(CLK2)の立上りにおいて、t1、t 9、t17
b0、b8、b16値がレジスタB0に、t3、t11でb2、b10値が
レジスタB1に、t 5、t13でb4、b12値がレジスタB2に、
t7、t15でb6、b14値がレジスタB3に各々格納される。一
般的なDES構造においては、16ラウンドを行うために、1
6クロックサイクルかかるが、上記の8段パイプライン構
造のDES構造においてはt0でa0が格納され始めてb16が計
算されて出力するまで8.5クロックサイクルかかる。
【0030】一般的に、与えられたキーに対して暗号化
または復号化すべき複数の64ビット平文ブロックが連続
的に入力される場合が多い。
【0031】図8は、図6に示された8段パイプライン構
造のDES構造のパイプライン動作順序を示すタイミング
図である。
【0032】図8は、4つの平文ブロックを8.5クロック
サイクルの間に同時に処理できることを示す。図8は、
図3における空いている部分に新しい平文ブロックc0とd
0をt2とt3で、e0とf0をt4とt5で、g0とh0をt6とt7で各
々レジスタA0とB0に入力することによって、bi値を計算
する間、di、fi、hi値を計算できることも示す。この場
合、t0〜t1、t1〜t2、t2〜t3、...の区間ごとに、新し
いbi、di、fi、hi値を得るために、暗号関数部fによる
処理が4つずつ同時に行われる。したがって与えられた
クロックサイクルの間に処理できる平文ブロックの数
は、4倍に増加させることができるが、S-Box置換部を3
個ずつ追加する必要があるという短所がある。
【0033】図9は、従来の技術における8段のパイプラ
イン構造のDES構造において、パイプラインを使用する
場合と使用しない場合の暗号関数部の処理順序を示した
タイミング図である。
【0034】図9の中段に示すように、パイプラインを
使用せずに1個の64ビット平文ブロックを暗号化する場
合は、図2の8個の暗号関数部fA、fB、fC、fD、fE、fF
fG、fHは、2つの位相を有するクロックによって、時分
割されて計算されるために、1個のS-Box置換部のみによ
って具現可能である。しかし、図9の下段に示すよう
に、パイプラインを使用して4個の64ビットの平文ブロ
ックを同時に暗号化する場合に、(fA、fC、fE、fG)の組
と(fB、fD、fF、fH)の組とは、互いに時分割で計算され
るが、fA、fC、fE、fGは、時分割されず同時に計算され
る必要がある。同様に、fB、fD、fF、fHも、時分割され
ず同時に計算される必要がある。このために、4個のS-B
oxが必要である。
【0035】図10は、8段のパイプライン構造のDES構造
において従来の技術の単一ポートS-Box置換部の具現方
式を示す詳細ブロック図である。
【0036】図10に示すように、従来の技術のS-Box置
換部は4個を使用してパイプライン動作を行うようにな
っており、1つのS-Box置換部は、48ビットの入力デー
タを受け取って32ビットの出力データを出力する8個のS
-Boxから構成されている。各々のS-Boxは、64 × 4ビッ
トのROMやプログラム可能論理アレイ(PLA)から構成さ
れ、6ビットのアドレスを入力されて4ビットのデータを
出力する第1経路(path1、図示せず)を備えている。4個
のS-Box置換部には、互いに異なる第1経路(path1、図示
せず)と第2経路(path2、図示せず)と第3経路(path3、図
示せず)と第4経路(path4、図示せず)が物理的に存在す
る。
【0037】従来の技術は、上記のように互いに異なる
経路を設けることによって、S-Box置換部を具現するた
めに必要な記憶装置を同時にアクセスするデータコンテ
ンション問題を解決する。また同じS-Box置換部を4個使
用することによって、面積が増加する短所がある。
【0038】
【発明が解決しようとする課題】本発明は、上記した従
来の技術の問題点に鑑みてなされたものであって、与え
られた時間にデータを複数回アクセスすることによっ
て、データコンテンションを除去し、チップ面積を最小
化することが可能な暗号化装置を提供することを目的と
するものである。
【0039】また、本発明の目的は、面積を減少させな
がらも、性能を増大させることができる暗号化装置を提
供することでもある。
【0040】
【課題を解決するための手段】上記した目的を達成する
ために、本発明にかかる暗号化装置は、データ初期置換
部、第1クロック及び第2クロックを利用するn段(n
は4以上の偶数)パイプライン構造のデータ変換部及び
データ逆初期置換部を備え、データ暗号化標準アルゴリ
ズムを使用して平文テキストブロックの暗号化を行う暗
号化装置において、n/2個の48ビットデータの中か
ら1つを選択するマルチプレクサと、該マルチプレクサ
から出力された48ビットデータを構成する6ビットの
アドレス8個を各々入力されて4ビットデータ8個を各
々出力する8個のS−Boxと、前記S−Boxから出
力される4ビットデータ8個をn/2個の32ビットデ
ータとして分配出力するデマルチプレクサと、第3クロ
ック及び第4クロックに応じて前記マルチプレクサ及び
前記デマルチプレクサを制御する制御機とを備え、前記
第3クロック及び前記第4クロックの周波数は、前記第
1クロック及び前記第2クロックの周波数のn/2倍で
あることを特徴とする。
【0041】また、本発明にかかる暗号化装置は、デー
タ初期置換部、第1クロック及び第2クロックを利用す
る8段パイプライン構造のデータ変換部及びデータ逆初
期置換部を備え、データ暗号化標準アルゴリズムを使用
して平文テキストブロックの暗号化を行う暗号化装置に
おいて、第1及び第2の48ビットデータの中から1つ
を選択する第1マルチプレクサと、該第1マルチプレク
サから出力された48ビットデータを構成する6ビット
のアドレス8個を各々入力されて4ビットデータ8個を
各々出力する8個のS−Boxを備えている第1S−B
ox置換部と、該第1S−Box置換部から出力される
4ビットデータ8個を2個の32ビットデータとして分
配出力する第1デマルチプレクサと、第3クロック及び
第4クロックに応じて前記第1マルチプレクサ及び第1
デマルチプレクサを制御する第1制御機と、第3及び第
4の48ビットデータの中から1つを選択する第2マル
チプレクサと、該第2マルチプレクサから出力された4
8ビットデータを構成する6ビットのアドレス8個を各
々入力されて4ビットデータ8個を各々出力する8個の
S−Boxを備えている第2S−Box置換部と、該第
1S−Box置換部から出力される4ビットのデータ8
個を2個の32ビットのデータとして分配出力する第2
デマルチプレクサと、前記第3クロック及び第4クロッ
クに応じて前記第2マルチプレクサ及び第2デマルチプ
レクサを制御する第2制御機とを備え、前記第3クロッ
ク及び前記第4クロックの周波数は、前記第1クロック
及び前記第2クロックの周波数のn/2倍であることを
特徴とするものであってもよい。
【0042】
【発明の実施の形態】以下、本発明の属する技術分野に
おける通常の知識を有するものが本発明の技術的思想を
容易に実施できる程度に詳細に説明するために、本発明
の最も好ましい実施の形態を添付した図面を参照しなが
ら説明する。本発明にかかる暗号化装置は、従来技術の
説明における図2又は図6と同様の構成であり、左側レ
ジスタ、右側レジスタ、排他的論理和演算部及び暗号関
数部fを備えており、暗号関数部f内のS-box置換部に特
徴を有するものである。
【0043】(実施の形態1)図11は、本発明の一実施の
形態にかかる4段のパイプラインDES構造における2ポー
トS-Box置換部構成を示すブロック図である。
【0044】図11に示すように、本発明にかかるS-Box
ブロックは、制御機の制御を受けて入力される2つの48
ビットのデータの中から1つを選択するマルチプレクサ
1110と、該マルチプレクサ1110から出力された48ビット
データを構成する6ビットのアドレス8個を入力されて4
ビットのデータ8個を出力する8個のS-Box1120と、制御
機の制御を受けて前記4ビットのデータを2つに分配す
るデマルチプレクサ1130と、第1クロック(CLK_A)と第2
クロック(CLK_B)を入力されて前記マルチプレクサ1110
とデマルチプレクサ1130とを制御する制御機1140とを有
する。
【0045】図12は、従来の単一ポートS-Boxと本発明
にかかる2ポートS-Boxとの動作を比較して示すタイミン
グ図である。
【0046】図12に示すように、本発明では、制御機に
入力される左側及び右側レジスタのクロックよりも2倍
速い、即ち2倍の周波数の第1クロック(CLK_A)と第2ク
ロック(CLK_B)とを利用して、ROMのアクセスに必要な
信号を発生させる。各時間区間t i〜ti+1において第1経
路(Path1)と第2経路(Path2)のいずれか1つの経路を選
択するマルチプレクサによって、時分割された第1経路
(Path1)、第2経路(Path2)、第3経路(Path3)及び第4経路
(Path4)が存在するのと同等の機能をすることによっ
て、データコンテンション問題を解決する。すなわち、
第1クロック(CLK_A)が論理ハイ(high)である時、第1経
路(Path1)を選択してbi値が計算され、第2クロック(CLK
_B)が論理ハイ(high)である時、第1経路(Path1)を選択
してdi値が計算される。
【0047】(実施形態2)図13は、本発明の第2の実施の
形態にかかる8段のパイプラインDES構造における4ポー
トS-Boxの構成を示すブロック図である。
【0048】図13に示すように、本発明にかかるS-Box
ブロックは、制御機の制御を受けて入力される4個の48
ビットのデータの中から1つを選択するマルチプレクサ
1310と、前記マルチプレクサ1310から出力された48ビッ
トデータを構成する6ビットのアドレス8個を入力されて
4ビットのデータ8個を出力する8個のS-Box1320と、制御
機の制御を受けて前記4ビットのデータを4つに分配す
るデマルチプレクサ1330と、第1クロック(CLK_A)と第2
クロック(CLK_B)とを入力されて前記マルチプレクサ13
10とデマルチプレクサ1330とを制御する制御機1340とを
有する。
【0049】図14は、従来の単一ポートS-Boxと本発明
にかかる4ポートS-Boxとの動作を比較して示すタイミン
グ図である。
【0050】図14に示すように、本発明では、制御機に
入力される左側及び右側レジスタのクロックよりも4倍
速い第1クロック(CLK_A)と第2クロック(CLK_B)とを利
用してROMのアクセスに必要な信号を発生させる。各時
間区間ti〜ti+1において第1経路(Path1)と第2経路(Path
2)と第3経路(Path3)と第4経路(Path4)のいずれか1つの
経路を選択するマルチプレクサによって、時分割された
第1経路(Path1)、第2経路(Path2)、第3経路(Path3)及び
第4経路(Path4)が存在するのと同等の機能をすることに
よって、データコンテンション問題を解決する。
【0051】図14に示すように、t7〜t8区間でb7、d5
f3、h1を計算するために、4回S-Boxを時分割してアクセ
スする。各時間区間ti〜ti+1において4個の経路の中の
どの経路を選択するかはマルチプレクサとデマルチプレ
クサとを制御する制御機の構成に依存する。制御機に入
力される左側及び右側レジスタのクロックよりも4倍速
い第1クロック(CLK_A)と第2クロック(CLK_B)は、ROM
のアクセスに必要な信号を発生させる基準となる。
【0052】本実施の形態で提供する4ポートS-Box置換
部は、図10に示したS-Box置換部よりも面積を1/4に減少
させることができる長所があるが、性能は1/4に減少す
る。また、4ポートS-Box置換部を具現するためには、従
来の単一ポートS-Box置換部の具現のために用いられる
記憶装置より4倍速い記憶装置を使用すべきである。
【0053】(実施形態3)第3の実施の形態では、S-Box
置換部において4倍速い記憶装置を具現することが難し
い場合に、2倍速い記憶装置2つを使用して2ポートS-Bo
x置換部を具現することによって、面積は図10に示したS
-Box置換部より1/2に縮小され、性能は、図13に示したS
-Box置換部より2倍増加したS-Box置換部を提供する。
【0054】図15は、本発明の2つの2ポートS-Box置換
部を示すブロック図である。
【0055】図15に示すように、本発明にかかる2つの
2ポートS-Box置換部は、第1制御機1540の制御を受け
て、入力される48ビットデータの第1入力と第2入力の中
からいずれか1つを選択する第1マルチプレクサ1510
と、該第1マルチプレクサ1510から出力された48ビット
データを構成する6ビットのアドレス8個を入力されて4
ビットのデータ8個を出力する8個の第1S-Box1520と、第
1制御機1540の制御を受けて前記4ビットのデータを2つ
に分配する第1デマルチプレクサ1530と、第1クロック(C
LK_A)と第2クロック(CLK_B)とを入力されて前記第1マ
ルチプレクサ1510と第1デマルチプレクサ1530を制御す
る第1制御機1540と、第2制御機1580の制御を受けて、入
力される48ビットデータの第3入力と第4入力の中からい
ずれか1つを選択する第2マルチプレクサ1550と、前記
第2マルチプレクサ1550から出力された48ビットデータ
を構成する6ビットのアドレス8個を入力されて4ビット
のデータ8個を出力する8個の第2S-Box1560と、第2制御
機1580の制御を受けて前記4ビットのデータを2つに分
配する第2デマルチプレクサ1570と、第1クロック(CLK_
A)と第2クロック(CLK_B)とを入力されて前記第2マルチ
プレクサ1550と第2デマルチプレクサ1570とを制御する
第2制御機1580とを有する。
【0056】図16は、従来の単一ポートS-Box置換部、4
ポートS-Box置換部、及び本発明にかかる2ポートS-Box
の動作を示すタイミング図である。
【0057】図16に示すように、本発明では、制御機に
入力されるレジスタのクロックよりも2倍速い第1クロッ
ク(CLK_A)と第2クロック(CLK_B)とを利用してROMのア
クセスに必要な信号を発生させる。各時間区間ti〜ti+1
において第1経路(Path1)と第2経路(Path2)、または第3
経路(Path3)と第4経路(Path4)のいずれか1つの経路を
選択するマルチプレクサによって、時分割された第1経
路(Path1)と第2経路(Path2)、または第3経路(path3)と
第4経路(path4)が存在するのと同等の機能をすうること
によって、データコンテンション問題を解決する。すな
わち、第1クロック(CLK_A)が論理ハイ(high)である場
合に、第1経路(Path1)が選択されて、bi値が計算され、
第2クロック(CLK_B)が論理ハイ(high)である場合に、
第2経路(Path2)が選択されて、di値が計算される。ま
た、第1クロック(CLK_A)が論理ハイである場合に、第3
経路(Path1)を選択してfi値が計算され、第2クロック(C
LK_B)が論理ハイである場合に、第4経路(path2)を選択
してhi値が計算される。
【0058】本発明の技術思想は、上記した好ましい実
施形態によって具体的に記述されたが、上記した実施の
形態は説明のためのものであって、制限のためのもので
ないことに留意されるべきである。また、本発明の技術
分野の通常の専門家であるならば、本発明の技術思想の
範囲内において種々の変更が可能であることを理解され
るべきである。
【0059】
【発明の効果】上記したように、本発明の第1及び第2の
実施の形態においては、S-Boxを1個のみ使用することに
よって、S-Boxが占める面積を従来の技術に比べて1/2ま
たは1/4に減少させることができる効果を奏する。
【0060】本発明の第3の実施の形態においては、8段
パイプラインDES構造におけるS-Box置換部を2つの2ポ
ートS-Box置換部により具現することによって、S-Box置
換部が占める面積を従来の技術に比べて1/2に縮小し、
性能を2倍に増加させることができる効果を奏する。
【0061】また、種々の形態のDES構造を具現して性
能と面積を最適化し得るように選択の範囲を増大させる
効果をも奏する。
【図面の簡単な説明】
【図1】 従来技術のDES構造の暗号関数部とS-Box置換
部の構成を示すブロック図である。
【図2】 処理性能を増加させる4段のパイプライン構
造を備えているDES構造のブロック図である。
【図3】 図2に示した4段パイプライン構造を有するDE
S構造の動作順序を示すタイミング図である。
【図4】 図2に示した4段パイプライン構造を有するDE
S構造のパイプライン動作順序を示すタイミング図であ
る。
【図5】 4段パイプライン構造のDES構造における従来
の単一ポートS-Box置換部の構成を示すブロック図であ
る。
【図6】 処理性能を増加させる8段のパイプライン構
造を備えているDES構造のブロック図である。
【図7】 図6に示した8段パイプライン構造を有するDE
S構造の動作順を示すタイミング図である。
【図8】 図6に示した8段パイプライン構造を有するDE
S構造のパイプライン動作順序を示すタイミング図であ
る。
【図9】 図6に示した8段パイプライン構造のDES構造
におけるパイプラインを使用する場合と使用しない場合
に暗号関数が演算される順序を示すフローチャートであ
る。
【図10】 8段パイプライン構造のDES構造における従
来の単一ポートS-Box置換部の構成を示すブロック図で
ある。
【図11】 本発明の一実施の形態にかかる2ポートS-B
ox置換部のブロック図である。
【図12】 従来の単一ポートS-Box置換部と本発明の2
ポートS-Box置換部の動作を示すタイミング図である。
【図13】 本発明の他の実施形態にかかる4ポートS-B
ox置換部の構成を示すブロック図である。
【図14】 従来の単一ポートS-Box置換部と本発明に
かかる4ポートS-Box置換部の動作を示すタイミング図で
ある。
【図15】 本発明のもう1つの実施形態にかかる2つ
の2ポートS-Box置換部を示すブロック図である。
【図16】 従来方式の単一ポートS-Box置換部、4ポー
トS-Box置換部及び2つの2ポートS-Box置換部の動作を
示すタイミング図である。
【符号の説明】
1110 マルチプレクサ 1120 S-Box 1130 デマルチプレクサ 1140 制御機

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 データ初期置換部、第1クロック及び第
    2クロックを利用するn段(nは4以上の偶数)パイプ
    ライン構造のデータ変換部及びデータ逆初期置換部を備
    え、データ暗号化標準アルゴリズムを使用して平文テキ
    ストブロックの暗号化を行う暗号化装置であって、 n/2個の48ビットデータの中から1つを選択するマ
    ルチプレクサと、 該マルチプレクサから出力された48ビットデータを構
    成する6ビットのアドレス8個を各々入力されて4ビッ
    トデータ8個を各々出力する8個のS−Boxと、 前記S−Boxから出力される4ビットデータ8個をn
    /2個の32ビットデータとして分配出力するデマルチ
    プレクサと、 第3クロック及び第4クロックに応じて前記マルチプレ
    クサ及び前記デマルチプレクサを制御する制御機とを備
    え、 前記第3クロック及び前記第4クロックの周波数は、前
    記第1クロック及び前記第2クロックの周波数のn/2
    倍であることを特徴とするデータ暗号化標準アルゴリズ
    ムを利用する暗号化装置。
  2. 【請求項2】 前記第3クロック及び第4クロックは、
    互いに反転された信号であることを特徴とする請求項1
    に記載のデータ暗号化標準アルゴリズムを利用する暗号
    化装置。
  3. 【請求項3】 前記マルチプレクサは、n/2個の入力
    経路を時分割して入力データを出力し、前記デマルチプ
    レクサは、入力データを時分割してn/2個の出力経路
    に出力することによって、データアクセスの競合を防止
    することを特徴とする請求項2に記載のデータ暗号化標
    準アルゴリズムを利用する暗号化装置。
  4. 【請求項4】 データ初期置換部、第1クロック及び第
    2クロックを利用する8段パイプライン構造のデータ変
    換部及びデータ逆初期置換部を備え、データ暗号化標準
    アルゴリズムを使用して平文テキストブロックの暗号化
    を行う暗号化装置であって、 第1及び第2の48ビットデータの中から1つを選択す
    る第1マルチプレクサと、 該第1マルチプレクサから出力された48ビットデータ
    を構成する6ビットのアドレス8個を各々入力されて4
    ビットデータ8個を各々出力する8個のS−Boxを備
    えている第1S−Box置換部と、 該第1S−Box置換部から出力される4ビットデータ
    8個を2個の32ビットデータとして分配出力する第1
    デマルチプレクサと、 第3クロック及び第4クロックに応じて前記第1マルチ
    プレクサ及び第1デマルチプレクサを制御する第1制御
    機と、 第3及び第4の48ビットデータの中から1つを選択す
    る第2マルチプレクサと、 該第2マルチプレクサから出力された48ビットデータ
    を構成する6ビットのアドレス8個を各々入力されて4
    ビットデータ8個を各々出力する8個のS−Boxを備
    えている第2S−Box置換部と、 該第1S−Box置換部から出力される4ビットのデー
    タ8個を2個の32ビットのデータとして分配出力する
    第2デマルチプレクサと、 前記第3クロック及び第4クロックに応じて前記第2マ
    ルチプレクサ及び第2デマルチプレクサを制御する第2
    制御機とを備え、 前記第3クロック及び前記第4クロックの周波数は、前
    記第1クロック及び前記第2クロックの周波数のn/2
    倍であることを特徴とするデータ暗号化標準アルゴリズ
    ムを利用する暗号化装置。
  5. 【請求項5】 前記第3クロック及び前記第4クロック
    は、互いに反転された信号であることを特徴とする請求
    項4に記載のデータ暗号化標準アルゴリズムを利用する
    暗号化装置。
  6. 【請求項6】 前記第1マルチプレクサは、2つの入力
    経路を時分割して入力データを出力し、前記第1デマル
    チプレクサは、入力データを時分割して2つの出力経路
    に出力することによって、データアクセスの競合を防止
    することを特徴とする請求項5に記載のデータ暗号化標
    準アルゴリズムを利用する暗号化装置。
  7. 【請求項7】 前記第2マルチプレクサは、2つの入力
    経路を時分割して入力データを出力し、前記第2デマル
    チプレクサは、入力データを時分割して2つの出力経路
    に出力することによって、データアクセスの競合を防止
    することを特徴とする請求項6に記載のデータ暗号化標
    準アルゴリズムを利用する暗号化装置。
JP2001165684A 2000-05-31 2001-05-31 データ暗号化標準アルゴリズムを利用する暗号化装置 Pending JP2002040932A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20000029631 2000-05-31
KR20000031574 2000-06-09
KR2000-29631 2000-06-09
KR2000-31574 2000-06-09

Publications (1)

Publication Number Publication Date
JP2002040932A true JP2002040932A (ja) 2002-02-08

Family

ID=26638049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001165684A Pending JP2002040932A (ja) 2000-05-31 2001-05-31 データ暗号化標準アルゴリズムを利用する暗号化装置

Country Status (3)

Country Link
US (1) US6931127B2 (ja)
JP (1) JP2002040932A (ja)
KR (1) KR100390821B1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030068038A1 (en) * 2001-09-28 2003-04-10 Bedros Hanounik Method and apparatus for encrypting data
TW527783B (en) * 2001-10-04 2003-04-11 Ind Tech Res Inst Encryption/deciphering device capable of supporting advanced encryption standard
US20040202318A1 (en) * 2001-10-04 2004-10-14 Chih-Chung Lu Apparatus for supporting advanced encryption standard encryption and decryption
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
US7076059B1 (en) * 2002-01-17 2006-07-11 Cavium Networks Method and apparatus to implement the data encryption standard algorithm
US7257229B1 (en) * 2002-06-07 2007-08-14 Winbond Electronics Corporation Apparatus and method for key scheduling
JP2004088386A (ja) * 2002-08-27 2004-03-18 Rohm Co Ltd シリアルデータの再生回路及び再生方法
KR100442354B1 (ko) * 2002-10-07 2004-07-30 엘지전자 주식회사 Rc4방식의 암호화 장치 및 방법
BR0318492A (pt) * 2003-09-05 2006-09-12 Telecom Italia Spa rede dependente de chave combinatória para criptografia/decifração de dados digitais de entrada, bloco para ser usado para funções criptográficas controladas por chave secreta, método para criptografia/decifração de dados digitais de entrada, dispositivo de processamento de dados, e, dispositivo de multimìdia para armazenar e reproduzir dados digitais
US7962766B2 (en) * 2005-07-14 2011-06-14 Atmel Corporation Method and system for encryption-based design obfuscation for an integrated circuit
US20090245510A1 (en) * 2008-03-25 2009-10-01 Mathieu Ciet Block cipher with security intrinsic aspects
JP4687775B2 (ja) * 2008-11-20 2011-05-25 ソニー株式会社 暗号処理装置
KR101508495B1 (ko) * 2013-11-11 2015-04-07 고려대학교 산학협력단 아리아 암호화 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0143680B1 (ko) * 1995-08-21 1998-08-01 배순훈 데스 알고리즘을 이용한 암호화장치
US5835599A (en) * 1996-04-15 1998-11-10 Vlsi Technology, Inc. Muti-cycle non-parallel data encryption engine
JP2000075785A (ja) * 1998-08-26 2000-03-14 Fujitsu Ltd 高速暗号処理回路および処理方法
US6347143B1 (en) * 1998-12-15 2002-02-12 Philips Electronics No. America Corp. Cryptographic device with encryption blocks connected parallel
KR100380638B1 (ko) * 2000-05-18 2003-04-16 강정용 병렬 Feistel 구조를 가진 데이터 암호 표준화시스템

Also Published As

Publication number Publication date
KR20010110162A (ko) 2001-12-12
US20020009196A1 (en) 2002-01-24
US6931127B2 (en) 2005-08-16
KR100390821B1 (ko) 2003-07-12

Similar Documents

Publication Publication Date Title
KR100377175B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100377176B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
JP4890976B2 (ja) 暗号処理装置
KR100377172B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
US8300805B1 (en) AES core with independent inputs and outputs
JP4460772B2 (ja) 同期ストリーム暗号
JP4025722B2 (ja) データ暗号化のための方法および装置
US9172537B1 (en) Array encryption core
JP2002040932A (ja) データ暗号化標準アルゴリズムを利用する暗号化装置
Fischer Realization of the round 2 AES candidates using Altera FPGA
US7447311B2 (en) Method of designing optimum encryption function and optimized encryption apparatus in a mobile communication system
US10237066B1 (en) Multi-channel encryption and authentication
JPH10240500A (ja) 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム
US6873707B1 (en) Hardware-based encryption/decryption employing cycle stealing
KR20050087271A (ko) 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
US20090161864A1 (en) Block cipher aria substitution apparatus and method
KR20030051111A (ko) AES Rijndael(라인달) 암호 알고리듬의 하드웨어 구현을위한 라운드 처리부 회로 및 온라인 라운드 키 생성 회로
KR20020087331A (ko) 부분 라운드간 파이프라인 기법을 이용한 AES Rijndael암호 및 복호 회로
KR100377173B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100384873B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR20030087893A (ko) 라운드 키의 온라인 계산 기능을 갖는 모듈화 구조의 AESRijndael 라운드 키 생성 회로
KR20030037890A (ko) 디이에스 암호화 장치
Pirpilidis et al. A 4-bit Architecture of SEED Block Cipher for IoT Applications
KR20020082540A (ko) 디이에스 암호화 장치
KR20210036699A (ko) 비트 시리얼 hight 연산 장치 및 그 방법, 그 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060201