JPH07261662A - 暗号演算回路 - Google Patents

暗号演算回路

Info

Publication number
JPH07261662A
JPH07261662A JP6050863A JP5086394A JPH07261662A JP H07261662 A JPH07261662 A JP H07261662A JP 6050863 A JP6050863 A JP 6050863A JP 5086394 A JP5086394 A JP 5086394A JP H07261662 A JPH07261662 A JP H07261662A
Authority
JP
Japan
Prior art keywords
data
input
selector
circuit
output
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.)
Granted
Application number
JP6050863A
Other languages
English (en)
Other versions
JP3547474B2 (ja
Inventor
Naoya Torii
直哉 鳥居
Takayuki Hasebe
高行 長谷部
Hiroteru Sato
裕輝 佐藤
Katsumi Kobayashi
克己 小林
Toshibumi Fujimoto
俊文 藤本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP05086394A priority Critical patent/JP3547474B2/ja
Publication of JPH07261662A publication Critical patent/JPH07261662A/ja
Application granted granted Critical
Publication of JP3547474B2 publication Critical patent/JP3547474B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明は複数のモードでデータを暗号化、復
号化する暗号演算回路に関し、回路規模の小型化を実現
する。 【構成】 第1のゲート信号G1及び第2のゲート信号
G2及び第3のゲート信号G3に応じて第1のゲート手
段2及び第2のゲート手段4及び第3のゲート手段7か
らの出力データがゲートされ、且つ、第1のセレクタと
第2のセレクタの出力データが選択されることでデータ
の流れが制御され、ECBモード、CBCモード、CF
Bモード、及びOFBモードの各モードで回路が共用化
されて動作する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は暗号演算回路に係り、特
に複数のモードでデータを暗号化、復号化する暗号演算
回路に関する。
【0002】暗号演算によるデータの暗号化、復号化に
は多数の操作モードが存在し、標準化も完了している
(JIS X5052−1990:”64ビットのブロ
ック暗号アルゴリズムの利用モード”)。利用者は、適
用アプリケーションにより適切な処理モードを選択し使
用する。その幅広い利用者に対応するために、その操作
モードを共通の回路で汎用化を実現し、且つ、回路規模
を最小に抑えることが要望されている。また、最短演算
時間であることが望まれる。
【0003】
【従来の技術】図23は従来の暗号演算回路の一例の構
成を示す図である。
【0004】図23に示す暗号演算回路100は、入力
レジスタ101と、CBC暗号化回路102と、CBC
復号化回路103と、CFB暗号化回路104と、CF
B復号化回路105と、OFB回路106と、5入力の
セレクタ107と、暗号処理回路108と、5入力のセ
レクタ109と、出力レジスタ110とから構成されて
いる。
【0005】CBC暗号化回路102及びCBC復号化
回路103及びCFB暗号化回路104及びCFB復号
化回路105及びOFB暗号化復号化回路106は並列
に接続されており、セレクタ107と109を切り換え
ることで、CBCモード、CFBモード、及びOFBモ
ードによる暗号演算を行うことができる。
【0006】CBC暗号化回路102は、図24に示す
如く、レジスタ111とエクスクルーシブオア回路11
2とから構成される。CBC復号化回路103は、図2
5に示す如く、レジスタ113とエクスクルーシブオア
回路114とから構成される。
【0007】CFB暗号化回路104は、図26に示す
如く、シフトレジスタ115とエクスクルーシブオア回
路116とから構成される。CFB復号化回路105
は、図27に示す如く、シフトレジスタ117とエクス
クルーシブオア回路118とから構成される。また、O
FB暗号化復号化回路106は、図28に示す如く、シ
フトレジスタ119とエクスクルーシブオア回路120
とから構成される。
【0008】
【発明が解決しようとする課題】上記した従来の暗号演
算回路では、1つの演算モードに対して各々専用の回路
をセレクタにより切り換えて使用する構成であったた
め、多数の演算モードを必要とする場合には多入力のセ
レクタを2個必要とし、且つ、各々の回路が有するレジ
スタ(シフトレジスタ)は回路規模が大きいために、大
がかりな回路となってしまう問題があった。
【0009】また、kビットCFBモードあるいはkビ
ットOFBモードでデータのkビットフィードバックを
必要とする場合、データフィードバックにシフトレジス
タを使用していたために、nビットをフィードバックす
るためにはkクロックを入力してやる必要がある。この
ため、kが増大するにつれてフィードバックに要する時
間が増大し、暗号処理のための遅延時間が大きくなると
いう問題も生じていた。
【0010】そこで本発明は、上記の問題点を解決した
暗号演算回路を提供することを目的とする。
【0011】
【課題を解決するための手段】上記の問題を解決するた
めに、本発明では図1に示す原理図の通り構成した。
【0012】すなわち、入力データが格納される入力レ
ジスタ1と、入力レジスタ1からのデータを第1のゲー
ト信号G1に応じてゲートして出力する第1のゲート手
段2と、一方の入力に第1のゲート手段2からの出力デ
ータを供給される第1のエクスクルーシブオア回路3
と、第1のエクスクルーシブオア回路3の他方の入力に
出力を接続されており、入力される第1のデータを第2
のゲート信号G2に応じてゲートして出力する第2のゲ
ート手段4と、第1のエクスクルーシブオア回路3から
の出力データを暗号処理する暗号処理手段5と、一方の
入力に暗号処理手段5からの出力データを供給される第
2のエクスクルーシブオア回路6と、第2のエクスクル
ーシブオア回路6の他方の入力に出力を接続されてお
り、入力される第2のデータを第3のゲート信号G3に
応じてゲートして出力する第3のゲート手段7と、第2
のエクスクルーシブオア回路6からの出力データを格納
する出力レジスタ8と、入力レジスタ1からのデータと
暗号処理手段5からのデータと第2のエクスクルーシブ
オア回路6からのデータと第1のデータのいずれかを選
択出力する第1のセレクタ9と、第1のセレクタ9から
の出力データを一時的に格納し、第1のデータとして出
力する格納手段10と、格納手段10からのデータと入
力レジスタ1からのデータのいずれかを第2のデータと
して選択出力する第2のセレクタ11とから構成した。
【0013】
【作用】上記構成の本発明によれば、第1のゲート信号
G1及び第2のゲート信号G2及び第3のゲート信号G
3に応じて第1のゲート手段2及び第2のゲート手段4
及び第3のゲート手段7からの出力データがゲートさ
れ、且つ、第1のセレクタと第2のセレクタの出力デー
タが選択されることでデータの流れが制御され、ECB
モード、CBCモード、CFBモード、及びOFBモー
ドの各モードで回路が共用化されて動作するように作用
する。
【0014】すなわち、第1のゲート信号G1をハイレ
ベル(1)、第2のゲート信号G2をローレベル
(0)、第3のゲート信号G3をローレベル(0)とす
ることで、データの流れは図2に太線で示す様に制御さ
れる。したがって、ECBモードの暗号化及び復号化処
理が行われる。
【0015】また、第1のゲート信号G1をハイレベル
(1)、第2のゲート信号G2をハイレベル(1)、第
3のゲート信号G3をローレベル(0)とすることで、
データの流れは図3に太線で示す様に制御される。した
がって、CBCモードの暗号化処理が行われる。
【0016】また、第1のゲート信号G1をハイレベル
(1)、第2のゲート信号G2をローレベル(0)、第
3のゲート信号G3をハイレベル(1)とすることで、
データの流れは図4に太線で示す様に制御される。した
がって、CBCモードの復号化処理が行われる。
【0017】また、第1のゲート信号G1をローレベル
(0)、第2のゲート信号G2をハイレベル(1)、第
3のゲート信号G3をハイレベル(1)として第2のエ
クスクルーシブオア回路6からの下位kビットを第1の
セレクタ9より出力することで、データの流れは図5に
太線で示す様に制御される。したがって、kビットCF
Bモードの暗号化処理が行われる。
【0018】また、第1のゲート信号G1をローレベル
(0)、第2のゲート信号G2をハイレベル(1)、第
3のゲート信号G3をハイレベル(1)として入力レジ
スタ1からの下位kビットを第1のセレクタ9より出力
することで、データの流れは図6に太線で示す様に制御
される。したがって、kビットCFBモードの復号化処
理が行われる。
【0019】なお、kビットの選択は第1のセレクタ9
のkビット幅選択で行い、シフトレジスタを用いないた
め高速にフィードバックが可能となっている。
【0020】そして、第1のゲート信号G1をローレベ
ル(0)、第2のゲート信号G2をハイレベル(1)、
第3のゲート信号G3をハイレベル(1)として暗号処
理手段5からの下位kビットを第1のセレクタ9より出
力することで、データの流れは図7に太線で示す様に制
御される。したがって、OFBモードの暗号化及び復号
化処理が行われる。
【0021】
【実施例】次に、図面を参照して本発明の実施例につい
て説明する。図8は本発明の一実施例の構成図であり、
LSI化されている。
【0022】本実施例では、ブロック長は64ビットの
米国標準暗号DES(DataEncryption
Standard,FIPS 46,1977)で、モ
ード処理は、ECBモード、CBCモード、1ビットC
FBモード、8ビットCFBモード、16ビットCFB
モード、1ビットOFBモード、64ビットOFBモー
ドを実現している。
【0023】データの入出力モードとして、パラレルイ
ンタフェースとシリアルインタフェースを持つが、その
入出力モードと操作モードとの関係を図9に示す。
【0024】すなわち、パラレルインタフェースではE
CBモード、CBCモード、8ビットCFBモード、1
6ビットCFBモード、64ビットOFBモード、及び
IV(Initial Vector)設定が処理可能
であり、シリアルインタフェースでは1ビットCFBモ
ード、1ビットOFBモード、64ビットOFBモー
ド、及びIV設定が処理可能である。
【0025】図8に戻って説明するに、21は入力デー
タが一時的に格納される入力レジスタである。22はE
CBモード、CBCモード時に第1のゲート信号G1が
ハイレベルとなり、入力レジスタ21からのデータをゲ
ートして通す第1のゲート手段であるアンドゲートであ
る。
【0026】また、23はCBC暗号化モード、1ビッ
トCFBモード、8ビットCFBモード、16ビットC
FBモード、1ビットOFBモード、及び64ビットO
FBモード時に第2のゲート信号G2がハイレベルとな
り、格納手段であるIVレジスタ31からの第1のデー
タであるIVデータをゲートして通す第2のゲート手段
であるアンドゲートである。
【0027】アンドゲート22の出力とアンドゲート2
3の出力は、第1のエクスクルーシブオア回路である入
力側エクスクルーシブオア回路24に入力される。25
はDES演算を行うDESアルゴリズム回路である。D
ESアルゴリズム回路25の出力は、第2のエクスクル
ーシブオア回路である出力側エクスクルーシブオア回路
26の一方の入力に入力される。27は出力側エクスク
ルーシブオア回路26からの出力データを一時的に格納
する出力レジスタである。
【0028】28は8ビットCFB暗号化モード、16
ビットCFB暗号化モード時のフィードバックデータ
(入力0)か、8ビットCFB復号化モード、16ビッ
トCFB復号化モード時のフィードバックデータ(入力
1)かを選択して出力する2入力セレクタである。29
は16ビットCFBモード時のフィードバックデータ
(入力0)か、8ビットCFBモード時のフィードバッ
クデータ(入力1)かを選択して出力する2入力セレク
タである。
【0029】30は8ビットCFBモード、16ビット
CFBモード時のフィードバックデータ(入力0)か、
CBC暗号化/64ビットOFBモード時のフィードバ
ックデータ(入力1)か、CBC復号化モード時のフィ
ードバックデータ/IV設定時のIVデータ(入力2)
か、1ビットOFBモード時のフィードバックデータ
(入力3)か、1ビットCFBモード時のフィードバッ
クデータ(入力4)かを選択して出力する5入力セレク
タである。セレクタ28及び29及び30により第1の
セレクタを構成している。
【0030】31はIVデータを一時的に格納するIV
レジスタである。32はCBC復号モード時のフィード
バックデータ(入力0)か、64ビットOFBモード
(パラレル入力)、8ビットCFBモード、16ビット
CFBモード時のフィードバックデータ(入力1)かを
選択して出力する2入力セレクタであり、第2のセレク
タに相当する。
【0031】33は1ビットCFB復号化モード時のフ
ィードバックデータ(入力0)か1ビットCFB暗号化
モード時のフィードバックデータ(入力1)かを選択し
て出力する2入力セレクタである。
【0032】34は64ビットOFBモードのシリアル
インタフェース時のIVレジスタ31の出力データ(D
ES演算結果)を64ビットパラレルデータからシリア
ルデータに変換するパラレル・シリアル変換回路であ
る。35は1ビットOFBモード、1ビットCFBモー
ドのシリアルインタフェース時のDES演算結果データ
(入力0)か、64ビットOFBモードのシリアルイン
タフェース時のDES演算結果データ(入力1)かを選
択して出力する2入力セレクタである。
【0033】36はエクスクルーシブオア回路である。
また、37はCBC復号化、8ビットCFBモード、1
6ビットCFBモード、64ビットOFBモード時に第
3のゲート信号G3がハイレベルとなり、セレクタ32
からの出力データをゲートして通すアンドゲートであ
る。41はシリアル入力端子、42はシリアル出力端子
である。
【0034】図10はECB(Electric Co
de Book)モードを示す図である。同図(A)に
示す如く各アンドゲート22,23がゲートされ、各セ
レクタ28,29,30,32,33,35からの出力
が出力される(セレクタ32の出力がオフ、他のセレク
タ出力はドントケア(”X”))と、データの流れは同図
(B)に太線で示す通りに制御される。
【0035】すなわち、入力レジスタ21に入力された
1ブロック(64ビット)のデータはアンドゲート22
を通った後入力側エクスクルーシブオア回路24を通
り、DESアルゴリズム回路25で暗号化(復号化)さ
れた後出力側エクスクルーシブオア回路26を通って出
力レジスタ27でラッチされる。
【0036】図11はIV設定を示す図である。同図
(A)に示す如く各アンドゲート22,23がゲートさ
れ、各セレクタ28,29,30,32,33,35か
らの出力が出力(セレクタ30は入力2を出力し、他の
セレクタ出力はドントケア(”X”))されると、データ
の流れは同図(B)に太線で示す通りに制御される。
【0037】CBCモード、CFBモード、OFBモー
ドで暗号化(復号化)する場合は、始に次のようにIV
設定する必要がある。すなわち、入力レジスタ21でラ
ッチされたIVデータ(64ビット)はセレクタ30の
入力0に入力され、IVレジスタ31に設定される。
【0038】図12はCBC(Cipher Bloc
k Chaining)暗号化モードを示す図である。
同図(A)に示す如く各アンドゲート22,23がゲー
トされ、各セレクタ28,29,30,32,33,3
5からの出力が出力される(セレクタ30が入力1を出
力し、セレクタ32の出力がオフ、他のセレクタ出力は
ドントケア(”X”))と、データの流れは同図(B)に
太線で示す通りに制御される。
【0039】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、入力レジスタ21でラッチ
された1ブロック目のデータは、アンドゲート22を通
った後入力側エクスクルーシブオア回路24に入力され
る。入力側エクスクルーシブオア回路24のもう一方の
入力には、IVレジスタ31に設定されたIVデータが
入力され、このIVデータと入力データの排他的論理和
をとったデータがDESアルゴリズム回路25で暗号化
される。
【0040】暗号化された出力データは、1ブロック目
の暗号化データとして出力側エクスクルーシブオア回路
26を通り出力レジスタ27でラッチされると共に、セ
レクタ30の入力1に入力されてセレクタ30より出力
され、IVレジスタに設定される。2ブロック目の入力
データは、IVレジスタ31に設定された1ブロック目
の暗号化データと入力側エクスクルーシブオア回路24
で排他的論理和をとり暗号化される。2ブロック目以降
のデータは以上の操作の繰り返しとなる。
【0041】図13はCBC復号化モードを示す図であ
る。同図(A)に示す如く各アンドゲート22,23が
ゲートされ、各セレクタ28,29,30,32,3
3,35からの出力が出力される(セレクタ30が入力
2を出力し、セレクタ32が入力0を出力し、他のセレ
クタ出力はドントケア(”X”))と、データの流れは同
図(B)に太線で示す通りに制御される。
【0042】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、入力レジスタ21でラッチ
された1ブロック目のデータは、アンドゲート22を通
った後入力側エクスクルーシブオア回路24を通りDE
Sアルゴリズム回路25に入力されると共に、セレクタ
30の入力2に入力される。DESアルゴリズム回路2
5で復号化されたデータは、IVレジスタ31に設定さ
れたIVデータと出力側エクスクルーシブオア回路26
で排他的論理和をとり、出力レジスタ27でラッチされ
る。
【0043】この時点で、1ブロック目の入力データは
セレクタ30からIVレジスタ31に設定される。2ブ
ロック目以降の入力データの復号化は、DESアルゴリ
ズム回路25で復号化された後に1ブロック前の入力デ
ータとの排他的論理和をとり復号化データとなる。
【0044】図14は1ビットCFB(Cipher
Feed Back)暗号化モードを示す図である。同
図(A)に示す如く各アンドゲート22,23がゲート
され、各セレクタ28,29,30,32,33,35
からの出力が出力される(セレクタ30が入力4を出力
し、セレクタ33が入力0を出力し、セレクタ35が入
力1を出力し、他のセレクタ出力はドントケア(”
X”))と、データの流れは同図(B)に太線で示す通り
に制御される。
【0045】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。暗号化されたデータの上位1ビットはセレ
クタ35の入力0に入力されると共に、入力端子41よ
りシリアルで入力された入力データ1ビットとエクスク
ルーシブオア回路36で排他的論理和をとり、暗号化デ
ータとして出力端子42より出力される。
【0046】2ブロック目のIVデータは、1ブロック
目のIVデータの下位63ビットが上位63ビットとな
り、最下位ビットはセレクタ33を通った1回目の暗号
化データとなってセレクタ30の入力4に入力され、こ
のセレクタ30の出力が2ブロック目のIVデータとし
てIVレジスタ31に設定される。2回目以降は以上の
繰り返しとなる。
【0047】図15は1ビットCFB復号化モードを示
す図である。同図(A)に示す如く各アンドゲート2
2,23がゲートされ、各セレクタ28,29,30,
32,33,35からの出力が出力される(セレクタ3
0が入力4を出力し、セレクタ33が入力0を出力し、
セレクタ35が入力0を出力し、他のセレクタ出力はド
ントケア(”X”))と、データの流れは同図(B)に太
線で示す通りに制御される。
【0048】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。暗号化されたデータの上位1ビットはセレ
クタ35の入力0に入力されると共に、入力端子41よ
りシリアルで入力された入力データ1ビットとエクスク
ルーシブオア回路36で排他的論理和をとり、暗号化デ
ータとして出力端子42より出力される。
【0049】2ブロック目のIVデータは、1ブロック
目のIVデータの下位63ビットが上位63ビットとな
り、最下位ビットはセレクタ33を通った1回目の入力
データとなってセレクタ30の入力4に入力され、この
セレクタ30の出力が2ブロック目のIVデータとして
IVレジスタ31に設定される。2回目以降は以上の繰
り返しとなる。
【0050】図16は8ビットCFB暗号化モードを示
す図である。同図(A)に示す如く各アンドゲート2
2,23がゲートされ、各セレクタ28,29,30,
32,33,35からの出力が出力される(セレクタ3
0が入力0を出力し、セレクタ32が入力1を出力し、
セレクタ29が入力1を出力し、セレクタ28が入力0
を出力し、他のセレクタ出力はドントケア(”X”))
と、データの流れは同図(B)に太線で示す通りに制御
される。
【0051】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。そして、入力レジスタ21でラッチされて
セレクタ32を通った1ブロック目の入力データと出力
側エクスクルーシブオア回路26で排他的論理和をと
り、1ブロック目の暗号化データとして出力レジスタ2
7でラッチされる。
【0052】同時に、暗号化データの上位16ビットは
セレクタ28の入力0に入力されてセレクタ28より出
力される。この出力の上位8ビットが2ブロック目のI
Vデータの下位8ビットに、また、1ブロック目のIV
データの下位56ビットが2ブロック目のIVデータの
上位56ビットとなってセレクタ29の入力1に入力さ
れてセレクタ29より出力される。セレクタ29からの
出力データはセレクタ30の入力0に入力され、セレク
タ30より出力される。セレクタ30からの出力データ
はIVレジスタ31に2ブロック目のIVデータとして
設定される。2回目以降は以上の繰り返しとなる。
【0053】図17は8ビットCFB復号化モードを示
す図である。同図(A)に示す如く各アンドゲート2
2,23がゲートされ、各セレクタ28,29,30,
32,33,35からの出力が出力される(セレクタ3
0が入力0を出力し、セレクタ32が入力1を出力し、
セレクタ29が入力1を出力し、セレクタ28が入力1
を出力し、他のセレクタ出力はドントケア(”X”))
と、データの流れは同図(B)に太線で示す通りに制御
される。
【0054】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で復
号化される。そして、入力レジスタ21でラッチされて
セレクタ32を通った1ブロック目の入力データと出力
側エクスクルーシブオア回路26で排他的論理和をと
り、1ブロック目の復号化データとして出力レジスタ2
7でラッチされる。
【0055】同時に、1ブロック目の入力データの上位
16ビットはセレクタ28の入力1に入力されてセレク
タ28より出力される。この出力の上位8ビットが2ブ
ロック目のIVデータの下位8ビットに、また、1ブロ
ック目のIVデータの下位56ビットが2ブロック目の
IVデータの上位56ビットとなってセレクタ29の入
力1に入力されてセレクタ29より出力される。セレク
タ29からの出力データはセレクタ30の入力0に入力
され、セレクタ30より出力される。セレクタ30から
の出力データはIVレジスタ31に2ブロック目のIV
データとして設定される。2回目以降は以上の繰り返し
となる。
【0056】図18は16ビットCFB暗号化モードを
示す図である。同図(A)に示す如く各アンドゲート2
2,23がゲートされ、各セレクタ28,29,30,
32,33,35からの出力が出力される(セレクタ3
0が入力0を出力し、セレクタ32が入力1を出力し、
セレクタ29が入力0を出力し、セレクタ28が入力0
を出力し、他のセレクタ出力はドントケア(”X”))
と、データの流れは同図(B)に太線で示す通りに制御
される。
【0057】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。そして、入力レジスタ21でラッチされて
セレクタ32を通った1ブロック目の入力データと出力
側エクスクルーシブオア回路26で排他的論理和をと
り、1ブロック目の暗号化データとして出力レジスタ2
7でラッチされる。
【0058】同時に、暗号化データの上位16ビットは
セレクタ28の入力0に入力されてセレクタ28より出
力される。この出力の上位16ビットが2ブロック目の
IVデータの下位16ビットに、また、1ブロック目の
IVデータの下位48ビットが2ブロック目のIVデー
タの上位48ビットとなってセレクタ29の入力0に入
力されてセレクタ29より出力される。セレクタ29か
らの出力データはセレクタ30の入力0に入力され、セ
レクタ30より出力される。セレクタ30からの出力デ
ータはIVレジスタ31に2ブロック目のIVデータと
して設定される。2回目以降は以上の繰り返しとなる。
【0059】図19は16ビットCFB復号化モードを
示す図である。同図(A)に示す如く各アンドゲート2
2,23がゲートされ、各セレクタ28,29,30,
32,33,35からの出力が出力される(セレクタ3
0が入力0を出力し、セレクタ32が入力1を出力し、
セレクタ29が入力0を出力し、セレクタ28が入力1
を出力し、他のセレクタ出力はドントケア(”X”))
と、データの流れは同図(B)に太線で示す通りに制御
される。
【0060】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で復
号化される。そして、入力レジスタ21でラッチされて
セレクタ32を通った1ブロック目の入力データと出力
側エクスクルーシブオア回路26で排他的論理和をと
り、1ブロック目の復号化データとして出力レジスタ2
7でラッチされる。
【0061】同時に、1ブロック目の入力データの上位
16ビットはセレクタ28の入力1に入力されてセレク
タ28より出力される。この出力の上位16ビットが2
ブロック目のIVデータの下位16ビットに、また、1
ブロック目のIVデータの下位48ビットが2ブロック
目のIVデータの上位48ビットとなってセレクタ29
の入力0に入力されてセレクタ29より出力される。セ
レクタ29からの出力データはセレクタ30の入力0に
入力され、セレクタ30より出力される。セレクタ30
からの出力データはIVレジスタ31に2ブロック目の
IVデータとして設定される。2回目以降は以上の繰り
返しとなる。
【0062】図20は1ビットOFB(Output
Feed Back)モードを示す図である。同図
(A)に示す如く各アンドゲート22,23がゲートさ
れ、各セレクタ28,29,30,32,33,35か
らの出力が出力される(セレクタ30が入力3を出力
し、セレクタ35が入力0を出力し、他のセレクタ出力
はドントケア(”X”))と、データの流れは暗号化、復
号化共に同図(B)に太線で示す通りに制御される。
【0063】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。暗号化データの上位1ビットはセレクタ3
5の入力0に入力されてセレクタ35より出力され、エ
クスクルーシブオア回路36の一方の入力に入力され
る。そして、シリアル入力端子41からエクスクルーシ
ブオア回路36のもう一方の入力に入力される入力デー
タ1ビットとエクスクルーシブオア回路36で排他的論
理和をとり、暗号化(復号化)データとしてシリアル出
力端子42より出力される。
【0064】2ブロック目のIVデータは、1ブロック
目のIVデータの下位63ビットが上位63ビットとな
り、最下位ビットはDESアルゴリズム回路25の出力
データの最上位ビットとなり、セレクタ30の入力3に
入力されてセレクタ30より出力される。そして、セレ
クタ30からの出力が2ブロック目のIVデータとして
IVレジスタ31に設定される。2回目以降は以上の繰
り返しとなる。
【0065】図21は64ビットOFBモード シリア
ルインタフェースを示す図である。同図(A)に示す如
く各アンドゲート22,23がゲートされ、各セレクタ
28,29,30,32,33,35からの出力が出力
される(セレクタ30が入力1を出力し、セレクタ35
が入力1を出力し、他のセレクタ出力はドントケア(”
X”))と、データの流れは暗号化、復号化共に同図
(B)に太線で示す通りに制御される。
【0066】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。暗号化データ64ビットはパラレル・シリ
アル変換回路34でシリアルデータに変換された後、セ
レクタ35の入力1に入力されてセレクタ35より出力
される。
【0067】そして、セレクタ35からの出力データと
シリアル入力端子41から入力された64ビットのデー
タを、エクスクルーシブオア回路36で1ビットずつ排
他的論理和をとり、シリアルで64ビット単位で暗号化
(復号化)データとしてシリアル出力端子42より出力
する。
【0068】また、DESアルゴリズム回路25からの
出力データはセレクタ30の入力1に入力されてセレク
タ30より出力され、セレクタ30からの出力データは
2ブロック目のIVデータとしてIVレジスタ31に設
定される。2回目以降は以上の繰り返しとなる。
【0069】図22は64ビットOFBモード パラレ
ルインタフェースを示す図である。同図(A)に示す如
く各アンドゲート22,23がゲートされ、各セレクタ
28,29,30,32,33,35からの出力が出力
される(セレクタ30が入力1を出力し、セレクタ32
が入力1を出力し、他のセレクタ出力はドントケア(”
X”))と、データの流れは暗号化、復号化共に同図
(B)に太線で示す通りに制御される。
【0070】すなわち、IVレジスタ31にIVデータ
を設定(第11図参照)し、1ブロック目のIVデータ
はアンドゲート23を通った後入力側エクスクルーシブ
オア回路24を通り、DESアルゴリズム回路25で暗
号化される。DESアルゴリズム回路25からの出力暗
号化データは、入力レジスタ21でラッチされセレクタ
32より選択出力された1ブロック目の入力データと出
力側エクスクルーシブオア回路26で排他的論理和をと
り、暗号化(復号化)データとして出力レジスタにより
ラッチされる。
【0071】また、DESアルゴリズム回路25からの
出力データはセレクタ30の入力1に入力されてセレク
タ30より出力され、セレクタ30からの出力データは
2ブロック目のIVデータとしてIVレジスタ31に設
定される。2回目以降は以上の繰り返しとなる。
【0072】このように本実施例によれば、各々のDE
S操作モードで共通する機能を共用化することにより、
従来回路では64ビット×5=320個必要であったエ
クスクルーシブオア回路を、64ビット×2=128個
で暗号演算回路を構成することができる。また、64ビ
ットのシフトレジスタが5個必要であったものが64ビ
ットのレジスタ1個でよく、64ビットの5入力セレク
タが2個必要であったものが1乃至数個のセレクタで回
路を構成可能となった。
【0073】したがって、従来回路と同等の機能を持た
せてLSI化することを考慮した場合、回路規模を大幅
に削減して小型化することが可能である。また、データ
のフィードバック時の遅延時間が、フィードバック量に
かかわらず1クロックとなることにより、データのフィ
ードバックが必要なCBCモード、CFBモード、OF
Bモードでは、フィードバック量にかかわらず暗号処理
時間を短縮することができる。
【0074】
【発明の効果】上述の如く本発明によれば、第1のゲー
ト信号G1及び第2のゲート信号G2及び第3のゲート
信号G3に応じて第1のゲート手段2及び第2のゲート
手段4及び第3のゲート手段7からの出力データがゲー
トされ、且つ、第1のセレクタと第2のセレクタの出力
データが選択されることでデータの流れが制御され、E
CBモード、CBCモード、CFBモード、及びOFB
モードの各モードで回路が共用化されて動作するため、
回路規模を従来よりも大幅に縮小することできて、LS
I化すれば小型のLSIが得られる特長がある。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】ECBモードの暗号化及び復号化処理を示す図
である。
【図3】CBCモードの暗号化処理を示す図である。
【図4】CBCモードの復号化処理を示す図である。
【図5】kビットCFBモードの暗号化処理を示す図で
ある。
【図6】kビットCFBモードの復号化処理を示す図で
ある。
【図7】OFBモードの暗号化及び復号化処理を示す図
である。
【図8】本発明の一実施例の構成図である。
【図9】入出力モードと操作モードの関係を示す図であ
る。
【図10】ECBモードを示す図である。
【図11】IV設定を示す図である。
【図12】CBC暗号化モードを示す図である。
【図13】CBC復号化モードを示す図である。
【図14】1ビットCFB暗号化モードを示す図であ
る。
【図15】1ビットCFB復号化モードを示す図であ
る。
【図16】8ビットCFB暗号化モードを示す図であ
る。
【図17】8ビットCFB復号化モードを示す図であ
る。
【図18】16ビットCFB暗号化モードを示す図であ
る。
【図19】16ビットCFB復号化モードを示す図であ
る。
【図20】1ビットOFBモードを示す図である。
【図21】64ビットOFBモード シリアルインタフ
ェースを示す図である。
【図22】64ビットOFBモード パラレルインタフ
ェースを示す図である。
【図23】従来の暗号演算回路の一例を示す図である。
【図24】CBC暗号化回路を示す図である。
【図25】CBC復号化回路を示す図である。
【図26】CFB暗号化回路を示す図である。
【図27】CFB復号化回路を示す図である。
【図28】OFB暗号化・復号化回路を示す図である。
【符号の説明】
1,21 入力レジスタ 8,27 出力レジスタ 22,23,37 アンドゲート 24 入力側エクスクルーシブオア回路 25 DESアルゴリズム回路 26 出力側エクスクルーシブオア回路 28,29,30,32 セレクタ 31 IVレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 裕輝 宮城県仙台市青葉区1番町一丁目2番25号 富士通東北ディジタル・テクノロジ株式 会社内 (72)発明者 小林 克己 宮城県仙台市青葉区1番町一丁目2番25号 富士通東北ディジタル・テクノロジ株式 会社内 (72)発明者 藤本 俊文 宮城県仙台市青葉区1番町一丁目2番25号 富士通東北ディジタル・テクノロジ株式 会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 入力データが格納される入力レジスタ
    (1)と、 該入力レジスタ(1)からのデータを第1のゲート信号
    (G1)に応じてゲートして出力する第1のゲート手段
    (2)と、 一方の入力に該第1のゲート手段(2)からの出力デー
    タを供給される第1のエクスクルーシブオア回路(3)
    と、 該第1のエクスクルーシブオア回路(3)の他方の入力
    に出力を接続されており、入力される第1のデータを第
    2のゲート信号(G2)に応じてゲートして出力する第
    2のゲート手段(4)と、 該第1のエクスクルーシブオア回路(3)からの出力デ
    ータを暗号処理する暗号処理手段(5)と、 一方の入力に該暗号処理手段(5)からの出力データを
    供給される第2のエクスクルーシブオア回路(6)と、 該第2のエクスクルーシブオア回路(6)の他方の入力
    に出力を接続されており、入力される第2のデータを第
    3のゲート信号(G3)に応じてゲートして出力する第
    3のゲート手段(7)と、 該第2のエクスクルーシブオア回路(6)からの出力デ
    ータを格納する出力レジスタ(8)と、 前記入力レジスタ(1)からのデータと、前記暗号処理
    手段(5)からのデータと、前記第2のエクスクルーシ
    ブオア回路(6)からのデータと、前記第1のデータの
    いずれかを選択出力する第1のセレクタ(9)と、 該第1のセレクタ(9)からの出力データを一時的に格
    納し、前記第1のデータとして出力する格納手段(1
    0)と、 該格納手段(10)からのデータと、前記入力レジスタ
    (1)からのデータのいずれかを前記第2のデータとし
    て選択出力する第2のセレクタ(11)とを具備したこ
    とを特徴とする暗号演算回路。
  2. 【請求項2】 前記格納手段(31)からのパラレル出
    力データをシリアルデータに変換するパラレル・シリア
    ル変換回路(34)と、 前記暗号処理手段(25)からの出力データと、該パラ
    レル・シリアル変換回路(34)からの出力データのい
    ずれかを選択出力する第3のセレクタ(35)と、 該第3のセレクタ(35)からの出力データと、ブロッ
    ク暗号を入力される入力手段(41)からの入力データ
    とを入力される第3のエクスクルーシブオア回路(3
    6)と、 該第3のエクスクルーシブオア回路(36)からの出力
    データと、該入力手段(41)からの入力データのいず
    れかを選択出力して前記第1のセレクタ(30)に供給
    する第4のセレクタ(33)とを更に具備してなること
    を特徴とする請求項1記載の暗号演算回路。
JP05086394A 1994-03-22 1994-03-22 暗号演算回路 Expired - Fee Related JP3547474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05086394A JP3547474B2 (ja) 1994-03-22 1994-03-22 暗号演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05086394A JP3547474B2 (ja) 1994-03-22 1994-03-22 暗号演算回路

Publications (2)

Publication Number Publication Date
JPH07261662A true JPH07261662A (ja) 1995-10-13
JP3547474B2 JP3547474B2 (ja) 2004-07-28

Family

ID=12870569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05086394A Expired - Fee Related JP3547474B2 (ja) 1994-03-22 1994-03-22 暗号演算回路

Country Status (1)

Country Link
JP (1) JP3547474B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020087332A (ko) * 2001-05-14 2002-11-22 최병윤 대칭키 암호 알고리즘의 모듈화된 ecb, cbc, cfb, ofb모드 구현 회로
WO2004015916A1 (ja) * 2002-08-08 2004-02-19 Matsushita Electric Industrial Co., Ltd. 暗号化復号化装置及び方法、暗号化装置及び方法、復号化装置及び方法、並びに送受信装置
JP2004078495A (ja) * 2002-08-15 2004-03-11 Sony Corp 非接触式icカード
JP2004226966A (ja) * 2003-01-24 2004-08-12 Samsung Electronics Co Ltd 多数の動作モードを支援する暗号化装置
KR100528890B1 (ko) * 2002-06-26 2005-11-22 한국전자통신연구원 다양한 인터페이스를 갖는 고속 블럭 암호 장치 및 그구동 방법
KR100749414B1 (ko) * 2005-12-10 2007-08-14 한국전자통신연구원 무선 인터넷 시스템의 암호화 장치 및 그 방법과, 복호화장치 및 그 방법
JP2008283672A (ja) * 2007-03-14 2008-11-20 Intel Corp 複数モードでのaes暗号化または復号の単一命令での実行
JP2010109639A (ja) * 2008-10-30 2010-05-13 Fujitsu Microelectronics Ltd 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020087332A (ko) * 2001-05-14 2002-11-22 최병윤 대칭키 암호 알고리즘의 모듈화된 ecb, cbc, cfb, ofb모드 구현 회로
KR100528890B1 (ko) * 2002-06-26 2005-11-22 한국전자통신연구원 다양한 인터페이스를 갖는 고속 블럭 암호 장치 및 그구동 방법
US7532726B2 (en) 2002-08-08 2009-05-12 Panasonic Corporation Encryption/decryption device and method, encryption device and method, decryption device and method, and transmission/reception apparatus
WO2004015916A1 (ja) * 2002-08-08 2004-02-19 Matsushita Electric Industrial Co., Ltd. 暗号化復号化装置及び方法、暗号化装置及び方法、復号化装置及び方法、並びに送受信装置
JP2004078495A (ja) * 2002-08-15 2004-03-11 Sony Corp 非接触式icカード
JP2004226966A (ja) * 2003-01-24 2004-08-12 Samsung Electronics Co Ltd 多数の動作モードを支援する暗号化装置
US7509501B2 (en) 2003-01-24 2009-03-24 Samsung Electronics Co., Ltd. Cryptographic apparatus for supporting multiple modes
KR100583635B1 (ko) * 2003-01-24 2006-05-26 삼성전자주식회사 다수의 동작 모드들을 지원하는 암호화 장치
JP4684550B2 (ja) * 2003-01-24 2011-05-18 三星電子株式会社 多数の動作モードを支援する暗号化装置
KR100749414B1 (ko) * 2005-12-10 2007-08-14 한국전자통신연구원 무선 인터넷 시스템의 암호화 장치 및 그 방법과, 복호화장치 및 그 방법
JP2008283672A (ja) * 2007-03-14 2008-11-20 Intel Corp 複数モードでのaes暗号化または復号の単一命令での実行
US8538012B2 (en) 2007-03-14 2013-09-17 Intel Corporation Performing AES encryption or decryption in multiple modes with a single instruction
KR101394710B1 (ko) * 2007-03-14 2014-05-15 인텔 코오퍼레이션 단일 명령어를 이용한 다수 모드에서의 aes 암호화 또는 암호 해독 수행
US9325498B2 (en) 2007-03-14 2016-04-26 Intel Corporation Performing AES encryption or decryption in multiple modes with a single instruction
JP2010109639A (ja) * 2008-10-30 2010-05-13 Fujitsu Microelectronics Ltd 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路

Also Published As

Publication number Publication date
JP3547474B2 (ja) 2004-07-28

Similar Documents

Publication Publication Date Title
AU767323B2 (en) Block encryption device using auxiliary conversion
US5381480A (en) System for translating encrypted data
US7639800B2 (en) Data conversion device and data conversion method
US7502463B2 (en) Methods and apparatus for implementing a cryptography engine
EP1215841B1 (en) Methods and apparatus for implementing a cryptography engine
US20030202658A1 (en) High throughput AES architecture
EP2016524B1 (en) Robust cipher design
JP4025722B2 (ja) データ暗号化のための方法および装置
US6732271B1 (en) Method of deciphering ciphered data and apparatus for same
EP1215843B1 (en) Methods and apparatus for implementing a cryptography engine
JPH07261662A (ja) 暗号演算回路
US7257229B1 (en) Apparatus and method for key scheduling
KR20010041202A (ko) 이산 데이터 블록 암호화 방법
JPH0697930A (ja) ブロック暗号処理装置
JP2000075785A (ja) 高速暗号処理回路および処理方法
JP2002358008A (ja) データ暗号化回路
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JPH07177139A (ja) データ撹乱回路
JPH06102820A (ja) 暗号装置
JPH06102821A (ja) 暗号装置
JPH10333566A (ja) データ変換装置
JPH01234883A (ja) 可変型暗号化処理制御方式
JPH10301489A (ja) データ変換装置
KR20030090870A (ko) 레이아웃 면적을 감소시킨 safer+ 알고리즘을이용한 암호화장치 및 방법
KR20050116480A (ko) f9 무결성 알고리즘 수행 장치 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040414

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080423

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees