JP2000081840A - 暗号処理装置、icカ―ド及び暗号処理方法 - Google Patents
暗号処理装置、icカ―ド及び暗号処理方法Info
- Publication number
- JP2000081840A JP2000081840A JP11255065A JP25506599A JP2000081840A JP 2000081840 A JP2000081840 A JP 2000081840A JP 11255065 A JP11255065 A JP 11255065A JP 25506599 A JP25506599 A JP 25506599A JP 2000081840 A JP2000081840 A JP 2000081840A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- function
- exclusive
- register
- 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
Links
Abstract
複数回使用することにより、同様な構成をもつ関数Fが
繰り返し処理される構成を持ち、かつ関数Fがその内部
により小さい処理要素の繰り返し構造を持つ場合に、暗
号処理装置を効率的に構成し、回路規模の削減や消費電
力の低下が可能となる暗号処理装置を得る。 【解決手段】 データを一時的に保持するレジスタ30
1〜303と、出力すべきデータを選択するセレクタ3
11〜313と、データ変換を行う関数f演算回路32
3とで構成している。関数f演算回路323からの出力
をレジスタC303において保持し、セレクタC313
により、関数f演算回路323によるデータ変換を繰り
返すか否かを選択している。
Description
関するものであり、特にICカード等に用いられる小型
暗号処理装置に関するものである。
(共通鍵)暗号系のブロック暗号である、米国商用暗号
のDES(Data Encryption Standard)を用いて説明す
る。DESの詳細な処理内容は、例えば、Hans Eberl
“A High-speed DES Implementation for Network Appl
ications”、Advances in Cryptology - CRYPTO‘92、L
ecture Notes in computer Science 740、Springer-Ver
lag.に記載されている。図13は、DES暗号アルゴ
リズムのフローチャートである。図13において、10
01〜1004はデータ変換処理を行う関数Fによる演
算、1011〜1014はビット毎の排他的論理和演算
である。尚、初期転置、最終転置は省略してある。
ESの場合2×32ビット)の入力データ1050が2
つのnビットデータ1051、1052に分割される。
nビットデータ1051はそのままnビットデータ10
53として出力されるとともに、関数F1001に入力
され、データ変換される。関数F1001から出力され
たデータは他方のnビットデータ1052と排他的論理
和演算1011によりビット毎に排他的論理和演算さ
れ、nビットデータ1054が出力される。以下同様に
関数F1002、1003、1004、排他的論理和演
算1012、1013、1014まで演算処理が繰り返
され、出力データ1055、1056が出力される。こ
の2つのnビットデータは合成され2nビットデータ1
057として出力される。
ローチャートと同等なデータ変換処理を実現する暗号処
理装置の一例である。図14において1101および1
102はデータを保持するレジスタAおよびレジスタ
B、1103および1104はデータを選択するセレク
タAおよびセレクタB、1105はデータ変換として関
数Fを演算する関数F演算回路、1106は排他的論理
和回路、1201、1202はnビット入力データA、
B、1203、1204はnビット出力データA、Bで
ある。
場合2×32ビット)の入力データがnビットの2つの
データ入力A1201、入力B1202に分割される。
2つの入力データはそれぞれ、セレクタA1103およ
びセレクタB1104によって選択され、レジスタA1
101およびレジスタB1102に保持される。次にレ
ジスタA1101に保持されたデータは、セレクタA1
103およびセレクタB1104にフィードバックされ
るとともに、関数F演算回路1105に入力されデータ
変換された後、レジスタB1102に保持されたデータ
と排他的論理和回路1106において排他的論理和演算
される。この結果はセレクタA1103およびセレクタ
B1104にフィードバックされる。
論理和演算回路1106の結果が選択され、セレクタB
においてはレジスタA1101に保持されていたデータ
が選択され、それぞれレジスタA1001およびレジス
タB1002に新たに保持される。以下同様に図13に
おける関数F1002、1003、1004から排他的
論理和演算1012、1013、1014まで必要回数
だけ処理がループされ、出力データA1203及び出力
データB1204が出力される。尚DESの場合は16
回である。尚、本従来技術の詳細については、例えば、
Hans Eberl “A High-speed DESImplementation for Ne
twork Applications”, Advances in Cryptology - CRY
PTO‘92、Lecture Notes in computer Science 740、Sp
ringer-Verlag.に記載されている。
る暗号処理装置は、同様な構成をもつ関数Fが繰り返し
処理される構成を持つ場合、1つの回路を繰り返し利用
することで実現処理手段を効率的に構成することができ
る。そのため、回路規模を削減することが可能となり、
低消費電力化も可能であった。しかし、関数Fがその内
部により小さい処理要素の繰り返し構造を持つ場合に
は、これまでの暗号処理装置の構成では、回路規模の削
減やそれに伴う低消費電力化には効率的ではないという
問題があった。
めになされたもので、同様な構成をもつ関数Fが繰り返
し処理される構成を持ち、かつ関数Fがその内部により
小さい処理要素の繰り返し構造を持つ場合に、暗号処理
装置を効率的に構成し,回路規模の削減や消費電力の低
下が可能となる暗号処理装置を得ることを目的としてい
る。
理装置は、入力データに対して第1の演算手段により第
1のデータ変換処理を複数回行う暗号処理装置におい
て、前記第1の演算手段は、さらに第2のデータ変換処
理を複数回行うループ処理手段を有し、前記ループ処理
手段は、第2の演算手段、データ保持手段、選択手段に
より処理ループを構成し、前記第2の演算手段は、前記
第2のデータ変換処理を行ない、前記データ保持手段
は、前記第2のデータ変換処理のタイミングを制御する
ように処理ループ上のデータを一時的に保持し、前記選
択手段は、当該処理ループを終了させるか継続させるか
を選択するものである。
発明に係る暗号処理装置において、前記第2の演算手段
は、前記第2の演算手段に入力されたデータを第1の分
割データと第2の分割データに分けるデータ分割手段
と、前記第1の分割データをデータ変換する第3の演算
手段と、前記第3の演算手段の出力データと前記第2の
分割データをビット毎に排他的論理和演算する排他的論
理和手段と、前記排他的論理和手段の出力データと前記
第2の分割データを結合するデータ結合手段を有するこ
とを特徴とするものである。
・ライターとデータの通信を行うICカードであって、
前記リーダー・ライターから前記データを受信するデー
タ受信手段と、前記リーダー・ライターに前記データを
送信するデータ送信手段と、前記データを暗号処理する
第1の発明に係る暗号処理装置を有するものである。
・ライターとデータの通信を行うICカードであって、
前記リーダー・ライターから前記データを受信するデー
タ受信手段と、前記リーダー・ライターに前記データを
送信するデータ送信手段と、前記データを暗号処理する
第2の発明に係る暗号処理装置を有するものである。
ータに対して第1の演算ステップにより第1のデータ変
換処理を複数回行う暗号処理方法において、前記第1の
演算ステップは、さらに第2のデータ変換処理を複数回
行うループ処理ステップを有し、前記ループ処理ステッ
プは、前記第2のデータ変換処理を行なう第2の演算ス
テップと、前記第2のデータ変換処理のタイミングを制
御するように処理ループ上のデータを一時に保持するデ
ータ保持ステップと、当該処理ループを終了させるか継
続させるかを選択する選択ステップを有するものであ
る。
発明に係る暗号処理方法において、前記第2の演算ステ
ップは、前記第2の演算ステップに入力されたデータを
第1の分割データと第2の分割データに分けるデータ分
割ステップと、前記第1の分割データをデータ変換する
第3の演算ステップと、前記第3の演算ステップの出力
データと前記第2の分割データをビット毎に排他的論理
和演算する排他的論理和ステップと、前記排他的論理和
ステップの出力データと前記第2の分割データを結合す
るデータ結合ステップを有することを特徴とするもので
ある。
の形態である暗号処理装置について、図1〜図3を用い
て説明する。図1は、この発明の一実施の形態である暗
号処理装置における、暗号処理アルゴリズムのフローチ
ャートを示したものである。図1において、101〜1
04はデータ変換処理を行う関数Fによる演算、111
〜114はビット毎の排他的論理和演算である。図2は
関数Fによる演算の構成を示したものであり、3つの関
数f201〜203と1つの関数g211による演算に
より構成される。
力データ150が上位と下位の2つのnビットデータ1
51、152に分割される。nビットデータ151はそ
のままnビットデータ153として出力されるととも
に、関数F101によりデータ変換される。関数F10
1から出力されたデータは他方のnビットデータ152
と排他的論理和演算111においてビット毎に排他的論
理和演算され、nビットデータ154が出力される。関
数Fにおいては、関数f201〜203による演算が3
回繰り返された後に、関数g211による演算が行われ
出力される。以下同様に関数F102、103、10
4、排他的論理和演算112、113、114まで演算
が繰り返され、nビットデータ155、156が出力さ
れる。この2つのnビットデータが合成され、2nビッ
トデータ157が出力される。
ルゴリズムを実現する、暗号処理装置の概略構成図を示
したものである。図3において301、302及び30
3はデータを保持するレジスタA、レジスタB、レジス
タC、311、312及び313はデータを選択するセ
レクタA、セレクタB、セレクタC、321と322は
ビット毎の排他的論理和回路、323は関数Fの演算を
行う構成要素の1つである関数f演算回路、324は関
数Fの演算を行う構成要素の1つである関数g演算回路
である。レジスタC303、セレクタC313、関数f
演算回路323、関数g演算回路324等により第1の
演算手段を構成する。レジスタC303、セレクタC3
13、関数f演算回路323等によりループ処理手段を
構成する。
るフローチャートである。図4、図5を用いて動作を説
明する。関数Fによる演算は、関数f演算回路323に
よる処理を3回、関数g演算回路324による処理を1
回行うことによりなされる。図1における第1段目のデ
ータ変換処理について説明する。2×nビットの入力デ
ータは2つのnビットデータに分割され、入力データA
351および入力データB352として入力される。入
力されたデータはセレクタA311セレクタB312に
おいて選択され、それぞれレジスタA301およびレジ
スタB302に保持される(ステップ4−1)。
A301に保持されたデータが選択され(ステップ4−
4)、この選択されたデータは関数f演算回路323に
よりデータ変換される(ステップ4−6)。関数f演算
回路323より出力されたデータはレジスタC303に
保持される(ステップ4−7)。これにより関数f演算
回路による処理の1回目が終了する。つづいて、セレク
タC313において、レジスタC303に保持されたデ
ータが選択され(ステップ4−8)、この選択されたデ
ータが関数f演算回路323により変換される(ステッ
プ4−6)。関数f演算回路 323より出力されたデ
ータはレジスタC303に保持される(ステップ4−
7)。これにより関数f演算回路による処理の2回目が
終了する。
タC303に保持されたデータが選択される(ステップ
4−8)。そして、この選択されたデータは関数f演算
回路323によりデータ変換され(ステップ4−6)、
出力データがレジスタC303に保持される(ステップ
4−7)。これにより関数f演算回路323による処理
の3回目が終了する。次に、セレクタC313において
レジスタC303に保持されたデータが選択される(ス
テップ4−9)。この選択されたデータは関数g演算回
路324によりデータ変換されて出力される(ステップ
4−10)。以上で、関数Fによる演算が終了する。
たデータがフィードバックされ、レジスタB302に保
持されたデータと排他的論理和回路322において排他
的論理和が演算される(ステップ4−14)。その出力
データがセレクタB312において選択され、この選択
されたデータがレジスタB302に保持される(ステッ
プ4−15)。以上で第1段目のデータ変換処理が完了
する。次に第2段目のデータ変換処理について説明す
る。セレクタC313においてレジスタB302に保持
されたデータが選択される(ステップ4−3)。次に、
この選択されたデータは関数f演算回路323によりデ
ータ変換され(ステップ4−6)、出力データがレジス
タC303に保持される(ステップ4−7)。これによ
り関数f演算回路による処理の1回目が終了する。
スタC303に保持されたデータが選択され(ステップ
4−8)、この選択されたデータは関数f演算回路32
3によりデータ変換され(ステップ4−6)、出力デー
タがレジスタC303に保持される(ステップ4−
7)。これにより関数f演算回路323による処理の2
回目が終了する。さらに、セレクタC313においてレ
ジスタC303に保持されたデータが選択される(ステ
ップ4−8)。次に、この選択されたデータは関数f3
23演算回路によりデータ変換され(ステップ4−
6)、出力データがレジスタC303に保持される(ス
テップ4−7)。これにより関数f演算回路323によ
る処理の3回目が終了する。
303に保持されたデータが選択され(ステップ4−
9)、この選択されたデータは関数g演算回路324に
よりデータ変換される(ステップ4−10)。以上で、
関数Fによる演算が終了する。次に、関数g演算回路3
24より出力されたデータがフィードバックされ、レジ
スタA301に保持されたデータと排他的論理和回路3
21において排他的論理和演算がなされる(ステップ4
−12)。その出力データがセレクタA311において
選択され、この選択されたデータがレジスタA301に
保持される(ステップ4−13)。以上で第2段目のデ
ータ変換処理が完了する。
び第2段目の変換処理と同等な処理を交互に必要段数繰
り返す。最後に最終段目のデータ変換処理の結果とし
て、レジスタA301およびレジスタB302で保持さ
れているデータを出力A353、出力B354として出
力する(ステップ4−19)。以上のようにこの発明に
よれば、レジスタC303とセレクタC313を用いる
ことにより、構成要素としての一つの関数f演算回路3
23を繰り返し使用するので、関数f演算回路323を
一つ持てばよく、関数f演算回路323を3つ持つ必要
がないので、回路規模を削減することが可能である。
関数F(関数f、関数g)は暗号強度の高い関数が用い
られるため、非常に複雑な構成をとることが知られてお
り、本発明に基づく回路規模の削減の効果は非常に大き
くなる。また、この発明によれば、レジスタA301、
レジスタB302、レジスタC303、セレクタA31
1、セレクタB312、セレクタC313は常に動作す
る必要はなく、必要に応じて動作すれば処理を実現する
ことが可能であるため、装置の低消費電力化を実現する
ことが可能となる。
の装置として使用する場合に、特に大きな効果を奏する
ことが可能となる。尚、本発明はICカードのみならず
ICカードのリーダー・ライターにも利用することも可
能である。尚、関数Fは上記の構成に限定されるもので
はない。例えば、関数f323の繰り返しのみで構成さ
れている場合は、図3において関数g324は必要がな
く、セレクタC313で選択されたデータを直接フィー
ドバックすればよい。
それ以上)の関数により、任意の順で構成されるような
場合は、図3における関数f323に相当する部分に、
前述のm個の関数を並列にならべ、そのおのおのにセレ
クタC313からのデータを入力し、それらの出力をm
入力1出力の選択を行うセレクタの入力とし、適切な一
つの出力データを選択してレジスタC303に保持さ
せ、これを前述のm個の関数の任意の順に相当するだけ
繰り返すことによって構成することも可能である。
態である暗号処理装置について、図6〜図11を用いて
説明する。図6はMISTY暗号アルゴリズムのフロー
チャートを示している。MISTYの処理の詳しい内容
については、例えば、松井 充“ブロック暗号アルゴリ
ズムMISTY”、電子情報通信学会 信学技報 ISEC
96-11(1996-07)に詳細が記載されている。図6におい
て、501〜506は関数FLによる演算、511〜5
14は関数FOによる演算、521〜524は排他的論
理和演算である。図7は図6における関数FO511〜
514による演算の構成を示している。図7に示してあ
るように、MISTYでは関数FO511〜514の処
理として関数FI601〜603と排他的論理和演算6
11〜613を中心とした変換処理を3段繰り返すよう
になっている。図8は図6および図7で示されるMIS
TYのデータ変換の処理を本発明を用いて構成した暗号
処理装置の一実施例である。
を説明する。まず2×nビットの入力データ550が上
位と下位のnビットの2つのデータに分割され、入力A
551および入力B552として入力される。MIST
Yの場合はn=32である。nビットデータ551は関
数FL501によりデータ変換されて後、そのままnビ
ットデータ553として出力されるとともに、関数FO
511によりデータ変換される。関数FO511により演
算処理されたデータは、他方のnビットデータ552が
関数FL502によりデータ変換された出力データと、
排他的論理和演算521においてビット毎に排他的論理
和演算され、nビットデータ554が出力される。関数
FOにおいては、関数FI601〜603と排他的論理
和演算611〜613により演算がなされる。即ち、入
力された2mビットデータ(nビット)650が2つの
mビットデータ651と652に分けられる。データ6
51は関数FIによりデータ変換されて後、データ65
2と排他的論理和演算611によりビット毎に排他的論
理和演算され、データ653として出力される。データ
652はデータ654としてそのまま出力される。以下
同様の動作を全部で3段繰り返し、2つのmビットデー
タを併せ、2mビット(nビット)データ655として
出力される。
1段目の出力データ554はそのまま出力されると同時
に関数FO512によりデータ変換される。関数FO5
12の出力データはもう一方のnビットデータ553と
排他的論理和演算522においてビット毎に排他的論理
和が演算され出力される。以下1段目と2段目と同様な
データ変換が必要段数繰り返され、nビットデータ55
7、558が出力され、最後に又FL関数505、50
6により変換され、上位、下位が入れ換えられて、この
2つのnビットデータが合成され、2nビットデータ5
59が出力される。
ルゴリズムを実現する、暗号処理装置の概略構成図を示
したものである。図8において、701、702、70
3はレジスタA、レジスタB、レジスタC、711、7
12、713、714はセレクタA、セレクタB、セレ
クタC、セレクタD、721、722、723は排他的
論理和回路、724はデータ変換を行う関数FI演算回
路、725はデータ変換を行う関数FL演算回路、75
1は入力データA、752は入力データB、753は出
力データA、754は出力データBである。ここで、レ
ジスタC703、セレクタC713、関数FI演算回路
724、排他的論理和回路723等により第1のデータ
変換を行う第1の演算手段を構成する。又、レジスタC
703、セレクタC713、関数FI演算回路724、
排他的論理和回路723等によりループ処理手段を構成
する。
置の動作を説明するフローチャートである。図9〜図1
1を用いて動作を説明する。まず2×nビットの入力デ
ータnビットの2つのデータに分割され、入力A751
および入力B752として入力される。MISTYの場
合はn=32である。入力されたデータはセレクタA7
11セレクタB712において選択され、それぞれレジ
スタA701およびレジスタB702に保持される(ス
テップ8−1)。
701に保持されたデータが選択される(ステップ8−
3)。次にこの選択されたデータが関数FL演算回路7
25においてデータ変換され(ステップ8−4)、出力
データがセレクタD714において選択される(ステッ
プ8−5)。さらに、この選択されたデータがセレクタ
A711において選択され(ステップ8−6)、レジス
タA701に保持される(ステップ8−7)。次に、セ
レクタC713においてレジスタB702に保持された
データが選択される(ステップ8−8)。この選択され
たデータが関数FL演算回路725においてデータ変換
され(ステップ8−9)、出力データがセレクタD71
4において選択される(ステップ8−10)。さらに、
この選択されたデータがセレクタB712において選択
され(ステップ8−11)、レジスタBに保持される
(ステップ8−12)。
701に保持されたデータが選択される(ステップ8−
13)。次に、この選択されたデータ(2×mビット)
はmビットずつにわけられ、一方のmビットのデータは
そのまま出力データとして出力される。他方のmビット
データは、関数FI演算回路724に入力されデータ変
換されて後、排他的論理和回路723において、もう一
方のmビットデータとビット毎の排他的論理和演算さ
れ、これら2つの出力データが合成される(ステップ8
−14)。出力データはレジスタC703に保持される
(ステップ8−15)。これにより、1回目の関数FI
演算回路724を中心とした処理が完了する。
C703に保持されたデータが選択される(ステップ8
−16)。この選択されたデータ(2×mビット)はm
ビットずつにわけられ、一方のmビットのデータはその
まま出力データとして出力される。他方のmビットデー
タは、関数FI演算回路724に入力されデータ変換さ
れて後、排他的論理和回路723において、もう一方の
mビットデータとビット毎の排他的論理和演算され、こ
れら2つの出力データが合成される(ステップ8−1
4)。出力データはレジスタC703に保持される(ス
テップ8−15)。これにより、2回目の関数FI演算
回路724を中心とした処理が完了する。
C703に保持されたデータが選択される(ステップ8
−16)。この選択されたデータ(2×mビット)はm
ビットずつにわけられ、一方のmビットのデータはその
まま出力データとして出力される。他方のmビットデー
タは、関数FI演算回路724に入力されデータ変換さ
れて後、排他的論理和回路723において、もう一方の
mビットデータとビット毎の排他的論理和演算され、こ
れら2つの出力データが合成される(ステップ8−1
4)。出力データはレジスタC703に保持される(ス
テップ8−15)。これにより、3回目の関数FI演算
回路724を中心とした処理が完了する。
703に保持されたデータが選択され(ステップ8−1
6)、この選択されたデータがセレクタD714におい
て選択される(ステップ8−18)。この選択されたデ
ータがフィードバックされ、レジスタB702に保持さ
れたデータと排他的論理和回路722において排他的論
理和演算を取られる(ステップ8−20)。その出力デ
ータがセレクタB712において選択され(ステップ8
−21)、この選択されたデータがレジスタB702に
保持される(ステップ8−22)。以上で第1段目のデ
ータ変換処理が完了する。
に相当するデータ変換処理を行う。まずセレクタC71
3においてレジスタB702に保持されたデータが選択
される(ステップ8−24)。この選択されたデータ
(2×mビット)はmビットずつにわけられ、一方のm
ビットのデータはそのまま出力データとして出力され
る。他方のmビットデータは、関数FI演算回路724
に入力されデータ変換されて後、排他的論理和回路72
3において、もう一方のmビットデータとビット毎の排
他的論理和演算され、これら2つの出力データが合成さ
れる(ステップ8−14)。出力データはレジスタC7
03に保持される(ステップ8−15)。これにより、
1回目の関数FI演算回路724を中心とした処理が完
了する。
C703に保持されたデータが選択される(ステップ8
−16)。この選択されたデータ(2×mビット)はm
ビットずつにわけられ、一方のmビットのデータはその
まま出力データとして出力される。他方のmビットデー
タは、関数FI演算回路724に入力されデータ変換さ
れて後、排他的論理和回路723において、もう一方の
mビットデータとビット毎の排他的論理和演算され、こ
れら2つの出力データが合成される(ステップ8−1
4)。出力データはレジスタC703に保持される(ス
テップ8−15)。これにより、2回目の関数FI演算
回路724を中心とした処理が完了する。
C703に保持されたデータが選択される(ステップ8
−16)。この選択されたデータ(2×mビット)はm
ビットずつにわけられ、一方のmビットのデータはその
まま出力データとして出力される。他方のmビットデー
タは、関数FI演算回路724に入力されデータ変換さ
れて後、排他的論理和回路723において、もう一方の
mビットデータとビット毎の排他的論理和演算され、こ
れら2つの出力データが合成される(ステップ8−1
4)。出力データはレジスタC703に保持される(ス
テップ8−15)。これにより、3回目の関数FI演算
回路724を中心とした処理が完了する。
703に保持されたデータが選択され(ステップ8−1
6)、この選択されたデータがセレクタD714におい
て選択される(ステップ8−18)。この選択されたデ
ータがフィードバックされ、レジスタA701に保持さ
れたデータと排他的論理和回路721においてビット毎
に排他的論理和演算される(ステップ8−25)。その
出力データがセレクタA711において選択され(ステ
ップ8−26)、この選択されたデータがレジスタA7
01に保持される(ステップ8−27)。以上で第2段
目のデータ変換処理が完了する。以下、この第1段目の
データ変換処理および第2段目の変換処理と同等な処理
を交互に必要段数繰り返す。MISTYは第8段目の変
換処理と同等な処理を行うところまで行う。
701に保持されたデータが選択される(ステップ8−
3)。次にこの選択されたデータが関数FL演算回路7
25においてデータ変換され(ステップ8−4)、出力
データがセレクタD714において選択される(ステッ
プ8−5)。さらに、この選択されたデータがセレクタ
A711において選択され(ステップ8−6)、レジス
タA701に保持される(ステップ8−7)。次に、セ
レクタC713においてレジスタB702に保持された
データが選択される(ステップ8−8)。この選択され
たデータが関数FL演算回路725においてデータ変換
され(ステップ8−9)、出力データがセレクタD71
4において選択される(ステップ8−10)。さらに、
この選択されたデータがセレクタB712において選択
され(ステップ8−11)、レジスタBに保持される
(ステップ8−12)。
702で保持されているデータを出力A753、出力B
754として出力する(ステップ8−29)。本実施の
形態によれば、各段の関数FO511〜514が図7に
示されるような構成をもつ場合であっても、関数FI演
算回路を3つ、排他的論理和回路を3つ持つ必要がな
く、関数FI演算回路を一つ、排他的論理和回路を一つ
もてばよいので、回路規模を削減することが可能とな
る。又、暗号化アルゴリズムが図6に示されるような構
成を持つ場合であっても、関数FL501〜504を実
現する回路部分を複数持つ必要がなく、関数FL演算回
路を一つもてばよいので、同様に回路規模の削減が可能
となる。
数FI、関数FLは暗号強度の高い関数を用いるため、
非常に複雑な構成をとる。従って本発明に基づく回路規
模の削減の効果は非常に大きなものとなる。また、本実
施形態の動作の説明で明らかなように、レジスタA〜レ
ジスタC、セレクタA〜セレクタDは常に動作する必要
はなく、必要に応じて動作すれば処理を実現することが
可能である。これは低消費電力化の実現においても非常
に大きな効果を奏する。従って、本発明をICカードの
ような小型の装置として使用する場合に、特に大きな効
果を奏することが可能となる。尚、本発明はICカード
のみならずICカードのリーダー・ライターにも利用す
ることも可能である。
の形態である、通信システムの概略構成図を示したもの
である。図12において91はリーダーライター、92
はICカード、93はICカード92のICである。I
C93は構成要素として、94は通信データの送受信を
行なう送受信手段、95は装置の制御等を行なうCP
U、96はデータ、プログラム等が記憶されるメモリ、
97は通信データの暗号・復号化処理を行う暗号処理装
置である。IC93は構成要素として、送受信手段9
4、CPU95、メモリ96、暗号処理装置97を有す
る。
実施の形態2に記載された暗号処理装置が利用される。
この通信システムの通信においては、暗号化されたデー
タが通信される。すなわち、ICカード92は、暗号処
理装置97により暗号化されたデータを送受信手段94
によりリーダーライター91に送信する。又、リーダー
ライター91から送信されたデータを送受信手段94に
より受信し、この受信データを暗号処理装置97で復号
化することにより通信を行う。
されたデータを通信する通信システムにおいて、ICカ
ード92の暗号処理装置97に実施の形態1もしくは実
施の形態2における暗号処理装置を用いることにより、
効率的なICの構成が可能となり回路規模の削減および
低消費電力化の実現されたICカードを得ることが可能
となる。尚、リーダーライター91とICカード92の
通信は、接触・非接触のどちらであってもよい。
データに対して第1の演算手段により第1のデータ変換
処理を複数回行う暗号処理装置において、前記第1の演
算手段は、さらに第2のデータ変換処理を複数回行うル
ープ処理手段を有し、前記ループ処理手段は、第2の演
算手段、データ保持手段、選択手段により処理ループを
構成し、前記第2の演算手段は、前記第2のデータ変換
処理を行ない、前記データ保持手段は、前記第2のデー
タ変換処理のタイミングを制御するように処理ループ上
のデータを一時的に保持し、前記選択手段は、当該処理
ループを終了させるか継続させるかを選択するものであ
るので、暗号処理装置の回路規模の削減および低消費電
力化を実現することが可能となる。
発明に係る暗号処理装置において、前記第2の演算手段
は、前記第2の演算手段に入力されたデータを第1の分
割データと第2の分割データに分けるデータ分割手段
と、前記第1の分割データをデータ変換する第3の演算
手段と、前記第3のデータ変換手段の出力データと前記
第2の分割データをビット毎に排他的論理和演算する排
他的論理和手段と、前記排他的論理和手段の出力データ
と前記第2の分割データを結合するデータ結合手段を有
することを特徴とするものであるので、暗号処理装置の
回路規模の削減および低消費電力化を実現することが可
能となる。
・ライターとデータの通信を行うICカードであって、
前記リーダー・ライターから前記データを受信するデー
タ受信手段と、前記リーダー・ライターに前記データを
送信するデータ送信手段と、前記データを暗号処理する
請求項1に記載の暗号処理装置を有するものであるの
で、特に効率的な回路構成を実現することが要求される
暗号処理装置を用いたICカードにおいて、回路規模の
削減および低消費電力化が可能となる。
・ライターとデータの通信を行うICカードであって、
前記リーダー・ライターから前記データを受信するデー
タ受信手段と、前記リーダー・ライターに前記データを
送信するデータ送信手段と、前記データを暗号処理する
請求項2に記載の暗号処理装置を有するものであるの
で、特に効率的な回路構成を実現することが要求される
暗号処理装置を用いたICカードにおいて、回路規模の
削減および低消費電力化が可能となる。
ータに対して第1の演算ステップにより第1のデータ変
換処理を複数回行う暗号処理方法において、前記第1の
演算ステップは、さらに第2のデータ変換処理を複数回
行うループ処理ステップを有し、前記ループ処理ステッ
プは、前記第2のデータ変換処理を行なう第2の演算ス
テップと、前記第2のデータ変換処理のタイミングを制
御するように処理ループ上のデータを一時に保持するデ
ータ保持ステップと、当該処理ループを終了させるか継
続させるかを選択する選択ステップを有するものである
ので、暗号処理装置の回路規模の削減および低消費電力
化を実現することが可能となる。
発明に係る暗号処理方法において、前記第2の演算ステ
ップは、前記第2の演算ステップに入力されたデータを
第1の分割データと第2の分割データに分けるデータ分
割ステップと、前記第1の分割データをデータ変換する
第3の演算ステップと、前記第3の演算ステップの出力
データと前記第2の分割データをビット毎に排他的論理
和演算する排他的論理和ステップと、前記排他的論理和
ステップの出力データと前記第2の分割データを結合す
るデータ結合ステップを有することを特徴とするもので
あるので、暗号処理装置の回路規模の削減および低消費
電力化を実現することが可能となる。
ズムを示する図である。
ズムに用いられる、関数の構成を示す図である。
基本構成を示すブロック図である。
基本的動作の一例を示すフローチャート図である。
基本的動作の一例を示すフローチャート図である。
ズムを示する図である。
ズムに用いられる、関数の構成を示す図である。
基本構成を示すブロック図である。
基本的動作の一例を示すフローチャート図である。
の基本的動作の一例を示すフローチャート図である。
の基本的動作の一例を示すフローチャート図である。
の基本構成を示すブロック図である。
示する図である。
成を示すブロック図である。
排他的論理和演算、150、157 2nビットデー
タ、151〜156 nビットデータ、201〜203
関数fによる演算、211 関数gによる演算、30
1〜303 レジスタ、311〜313 セレクタ、3
21、322 排他的論理和回路、323関数f演算回
路、324 関数g演算回路、351〜354 nビッ
トデータ、501〜506 関数FLによる演算、51
1〜514 関数FOによる演算、521〜524 排
他的論理和演算、550、559 2nビットデータ、
551〜554、557、558 nビットデータ、6
01〜603 関数FIによる演算、611〜613
排他的論理和演算、650、655 2mビットデー
タ、651〜654 mビットデータ、701〜703
レジスタ、711〜714 セレクタ、721〜72
3 排他的論理和回路、724 関数FI演算回路、7
25 関数FL演算回路、751〜754 nビットデ
ータ、91 リーダー・ライター、92 ICカード、
93 IC、94 送受装置、95 CPU、96 メ
モリ、97 暗号処理装置、1001〜1004 関数
Fによる演算、1011〜1014 排他的論理和、1
050、1057 2nビットデータ、1051〜10
56 nビットデータ、1101、1102 レジス
タ、1103、1104 セレクタ、1105 関数F
演算回路、1106 排他的論理和回路、1201〜1
204 nビットデータ。
Claims (6)
- 【請求項1】 入力データに対して第1の演算手段によ
り第1のデータ変換処理を複数回行う暗号処理装置にお
いて、 前記第1の演算手段は、さらに第2のデータ変換処理を
複数回行うループ処理手段を有し、 前記ループ処理手段は、第2の演算手段、データ保持手
段、選択手段により処理ループを構成し、 前記第2の演算手段は、前記第2のデータ変換処理を行
ない、 前記データ保持手段は、前記第2のデータ変換処理のタ
イミングを制御するように処理ループ上のデータを一時
的に保持し、 前記選択手段は、当該処理ループを終了させるか継続さ
せるかを選択する暗号処理装置。 - 【請求項2】 前記第2の演算手段は、 前記第2の演算手段に入力されたデータを第1の分割デ
ータと第2の分割データに分けるデータ分割手段と、 前記第1の分割データをデータ変換する第3の演算手段
と、 前記第3の演算手段の出力データと前記第2の分割デー
タをビット毎に排他的論理和演算する排他的論理和手段
と、 前記排他的論理和手段の出力データと前記第2の分割デ
ータを結合するデータ結合手段を有することを特徴とす
る請求項1記載の暗号処理装置。 - 【請求項3】 リーダー・ライターとデータの通信を行
うICカードであって、 前記リーダー・ライターから前記データを受信するデー
タ受信手段と、 前記リーダー・ライターに前記データを送信するデータ
送信手段と、 前記データを暗号処理する請求項1に記載の暗号処理装
置を有するICカード。 - 【請求項4】 リーダー・ライターとデータの通信を行
うICカードであって、 前記リーダー・ライターから前記データを受信するデー
タ受信手段と、 前記リーダー・ライターに前記データを送信するデータ
送信手段と、 前記データを暗号処理する請求項2に記載の暗号処理装
置を有するICカード。 - 【請求項5】 入力データに対して第1の演算ステップ
により第1のデータ変換処理を複数回行う暗号処理方法
において、 前記第1の演算ステップは、さらに第2のデータ変換処
理を複数回行うループ処理ステップを有し、 前記ループ処理ステップは、 前記第2のデータ変換処理を行なう第2の演算ステップ
と、 前記第2のデータ変換処理のタイミングを制御するよう
に処理ループ上のデータを一時的に保持するデータ保持
ステップと、 当該処理ループを終了させるか継続させるかを選択する
選択ステップを有する暗号処理方法。 - 【請求項6】 前記第2の演算ステップは、 前記第2の演算ステップに入力されたデータを第1の分
割データと第2の分割データに分けるデータ分割ステッ
プと、 前記第1の分割データをデータ変換する第3の演算ステ
ップと、 前記第3の演算ステップの出力データと前記第2の分割
データをビット毎に排他的論理和演算する排他的論理和
ステップと、 前記排他的論理和ステップの出力データと前記第2の分
割データを結合するデータ結合ステップを有することを
特徴とする請求項5記載の暗号処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25506599A JP3992888B2 (ja) | 1999-09-09 | 1999-09-09 | 暗号処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25506599A JP3992888B2 (ja) | 1999-09-09 | 1999-09-09 | 暗号処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09141328A Division JP3088337B2 (ja) | 1997-05-30 | 1997-05-30 | 暗号処理装置、icカード及び暗号処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000081840A true JP2000081840A (ja) | 2000-03-21 |
JP3992888B2 JP3992888B2 (ja) | 2007-10-17 |
Family
ID=17273663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25506599A Expired - Lifetime JP3992888B2 (ja) | 1999-09-09 | 1999-09-09 | 暗号処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3992888B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008148352A (ja) * | 2001-05-31 | 2008-06-26 | Qualcomm Inc | Kasumiラウンド回路 |
-
1999
- 1999-09-09 JP JP25506599A patent/JP3992888B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008148352A (ja) * | 2001-05-31 | 2008-06-26 | Qualcomm Inc | Kasumiラウンド回路 |
JP2008158542A (ja) * | 2001-05-31 | 2008-07-10 | Qualcomm Inc | Kasumi暗号化を行う装置および方法 |
JP2008158541A (ja) * | 2001-05-31 | 2008-07-10 | Qualcomm Inc | Kasumi暗号化を行う装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3992888B2 (ja) | 2007-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2244337C (en) | Encryption processor with shared memory interconnect | |
US20110255689A1 (en) | Multiple-mode cryptographic module usable with memory controllers | |
JP3088337B2 (ja) | 暗号処理装置、icカード及び暗号処理方法 | |
Kitsos et al. | Hardware implementation of Bluetooth security | |
US20100322411A1 (en) | Encrypton Processor | |
US8515059B2 (en) | Cryptographic processor with dynamic update of encryption state | |
KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
JP2010245881A (ja) | 暗号処理装置 | |
US6873707B1 (en) | Hardware-based encryption/decryption employing cycle stealing | |
US7257229B1 (en) | Apparatus and method for key scheduling | |
US7006634B1 (en) | Hardware-based encryption/decryption employing dual ported key storage | |
Buell | Modern symmetric ciphers—Des and Aes | |
KR101658397B1 (ko) | Present를 이용한 경량암호 장치 | |
KR20050092698A (ko) | 라인달 블록 암호의 서브바이트 함수를 실행하는 장치 및방법과 데이터 암호화 및 해독 장치 | |
JP2000081840A (ja) | 暗号処理装置、icカ―ド及び暗号処理方法 | |
CN112134691B (zh) | 一种部件可重复的nlcs分组密码实现方法、装置及介质 | |
KR100667189B1 (ko) | 휴대 기기를 위한 aes 암호화 장치 및 방법 | |
JP2003084668A (ja) | 乱数生成装置、乱数生成方法及び乱数生成プログラム | |
JP2000075785A (ja) | 高速暗号処理回路および処理方法 | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
KR100546777B1 (ko) | Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기 | |
KR20180021473A (ko) | 암호화 장치 | |
CN115834028A (zh) | 芯片及消息认证码的生成方法 | |
KR20040000925A (ko) | 다양한 인터페이스를 갖는 고속 블럭 암호 장치 및 그구동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060802 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061225 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070115 |
|
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: 20070724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070725 |
|
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: 20100803 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110803 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110803 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120803 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120803 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130803 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |