JPH11109853A - 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム - Google Patents

暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム

Info

Publication number
JPH11109853A
JPH11109853A JP10222636A JP22263698A JPH11109853A JP H11109853 A JPH11109853 A JP H11109853A JP 10222636 A JP10222636 A JP 10222636A JP 22263698 A JP22263698 A JP 22263698A JP H11109853 A JPH11109853 A JP H11109853A
Authority
JP
Japan
Prior art keywords
data
cyclic shift
conversion
key
determining
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
JP10222636A
Other languages
English (en)
Other versions
JP3906574B2 (ja
Inventor
Shin Aikawa
慎 相川
Kazuo Takaragi
和夫 宝木
Hiroyuki Koreeda
浩行 是枝
Manabu Sasamoto
学 佐々本
Hiroo Okamoto
宏夫 岡本
Takaharu Noguchi
敬治 野口
Soichi Furuya
聡一 古屋
Shigeru Hirahata
茂 平畠
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP22263698A priority Critical patent/JP3906574B2/ja
Publication of JPH11109853A publication Critical patent/JPH11109853A/ja
Application granted granted Critical
Publication of JP3906574B2 publication Critical patent/JP3906574B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】変換データに依存せずに循環シフトを動的に制
御でき、簡単な構成で高度なランダム性を有する暗号変
換方法および装置を実現すること。 【解決手段】この暗号変換方法および装置を実現する構
成として、データを左あるいは右に固定ビットだけ循環
シフトする2個以上の異なる固定循環シフト処理手段
と、固定循環シフト処理手段を選択する循環シフト処理
選択手段とを備えており、シフト数選択順序を決定する
ためのデータに基づき循環シフト処理選択手段の選択順
序を決定するように構成している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ、情
報家電機器等の間で伝送されるデジタルデータの暗号・
復号技術に関するものである。
【0002】
【従来の技術】今後発展すると予想されるデジタル情報
家電機器においては、デジタルデータの不正な複写を防
ぐための暗号化技術が必須になる。
【0003】従来の暗号化技術としては、データ依存循
環シフト演算を用いたアルゴリズムであるRC5暗号( R.
L. Rivest, "The RC5 encryption algorithm", FAST SO
FTWARE ENCRYPTION, 2nd International Workshop, Spr
inger-Verlag, 1995. )がある。RC5は処理データ長wビ
ット、秘密鍵長bバイト、及び処理ラウンド数rが可変
の暗号アルゴリズムである。以下、RC5のアルゴリズム
について説明する。
【0004】暗号化処理を行っていないデータ(以下平
文と呼ぶ)に対して、処理データ長wビットの上位w/2ビ
ットをL[0]、下位w/2ビットをR[0]とすると、平文(L
[0],R[0])に対して以下の式で定義された暗号文(L[2r+
1],R[2r+1])を得る。 L[1] = L[0] + S[0] R[1] = R[0] + S[0] L[N+1] = R[N] (1≦N≦2r) R[N+1] = ((L[N] EOR R[N]) <<< R[N]) + S[N+1] (1≦N
≦2r) この関数の繰り返し部分(1≦N≦2r)のNについてを図示
すると図23のようになる。ここで定義されている演算表
記 A + B はAとBの加算結果を2のw乗で割った余りを表
しており、演算 EOR はビット毎の排他的論理和であ
る。また演算表記x <<< yは、xをyの下位log(w)ビット
だけ左に循環シフトする演算を表している。RC5は図23
に示した演算を2回繰り返したものを1段と呼び、これ
をr回繰り返して生成したものを暗号文とする方式であ
る。
【0005】
【発明が解決しようとする課題】RC5は秘密鍵長が利用
者に合わせて可変であることと、循環シフトを動的に変
化させる構造であることが大きな特徴となっている。し
かし、循環シフトを動的に変化させる手段として変換デ
ータに依存したアルゴリズム構造となっており、暗号解
読法の一つである選択平文攻撃に対して弱いという欠点
がある( Lar R. Knudsen, Willi Meier, "Improved Dif
ferential Cryptanalysis on RC5", Advances in Crypt
ology -CRYPTO'96, Springer-Verlag, 1996. に詳しい
)。
【0006】本発明の目的は、以上述べた課題を達成す
るための暗号方式および装置を提案することにある。す
なわち、(1)変換データに依存せずに鍵から循環シフ
トを動的に制御でき、(2)簡単な構成で高度なランダ
ム性を有する暗号変換が可能である暗号方式および装置
を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の暗号方式および装置は、鍵と一定長の平文
データを入力し、一定長の暗号文データを出力するブロ
ック暗号であって、(1)データを左あるいは右に固定
ビットだけ循環シフトする2個以上の異なる固定循環シ
フト処理手段、(2)前記固定循環シフト処理手段を選
択する循環シフト処理選択手段、(3)シフト数選択順
序を決定するためのデータに基づき前記循環シフト処理
選択手段の選択順序を決定する循環シフト順序決定手段
を有している。
【0008】より具体的に本発明の暗号方式および暗号
変換装置の構成を述べると、以下のようになる。
【0009】少なくとも1個の鍵と平文データを入力
し、暗号文データを出力する暗号変換装置であって、シ
フト数選択順序を決定するためのデータに基づきシフト
数を決定する循環シフト処理手段を含み、入力された平
文をデータ1とデータ2に分割し、前記データ1をデー
タL[1]とし、前記データ2をデータR[1]とする手段を含
み、データL[N]とデータR[N]を入力とし、データL[N+1]
とデータR[N+1]を出力とする暗号変換処理手段であっ
て、前記データL[N]に対して前記鍵を用いた変換処理
と、前記循環シフト処理手段を用いた循環シフト処理
と、をそれぞれ1回以上行ってデータXを生成し、前記
データR[N]と前記データXとを演算して得られる値を前
記データL[N+1]とし、前記データL[N]を前記データR[N+
1]とする暗号変換処理手段を少なくとも1段以上含み、
最終段の2つの出力データを結合したものを暗号文とす
る手段を含むように構成されている。
【0010】ここで、前記循環シフト処理手段は、左あ
るいは右に固定ビットだけ循環シフトする2個以上の異
なる固定循環シフト処理手段と、前記固定循環シフト処
理手段を選択する循環シフト処理選択手段と、前記シフ
ト数選択順序を決定するためのデータから前記循環シフ
ト処理選択手段の選択順序を決定する循環シフト順序決
定手段と、を含むように構成されている。
【0011】ここで、前記シフト数選択順序を決定する
ためのデータは、前記鍵に基づいて生成してもよい。
【0012】また本発明の復号変換装置については、少
なくとも1個の鍵と暗号文データを入力し、平文データ
を出力する復号変換装置であって、シフト数選択順序を
決定するためのデータに基づきシフト数を決定する循環
シフト処理手段を含み、入力された暗号文をデータ1と
データ2に分割し、前記データ1をデータL[1]とし、前
記データ2をデータR[1]とする手段を含み、データL[N]
とデータR[N]を入力とし、データL[N+1]とデータR[N+1]
を出力とする復号変換処理手段であって、前記データR
[N]に対して前記鍵を用いた変換処理と、前記循環シフ
ト処理手段を用いた循環シフト処理と、をそれぞれ1回
以上行ってデータXを生成し、前記データL[N]と前記デ
ータXとを演算して得られる値を前記データR[N+1]と
し、前記データR[N]を前記データL[N+1]とする復号変換
処理手段を少なくとも1段以上含み、最終段の2つの出
力データを結合したものを平文とする手段を含むように
構成されている。
【0013】ここで、前記循環シフト処理手段は、左あ
るいは右に固定ビットだけ循環シフトする2個以上の異
なる固定循環シフト処理手段と、前記固定循環シフト処
理手段を選択する循環シフト処理選択手段と、前記シフ
ト数選択順序を決定するためのデータから前記循環シフ
ト処理選択手段の選択順序を決定する循環シフト順序決
定手段と、を含むように構成されている。
【0014】ここで、前記シフト数選択順序を決定する
ためのデータは、前記鍵に基づいて生成してもよい。
【0015】以上のような構成とすることにより、本発
明では、変換データに依存せずに循環シフトを動的に制
御でき、簡単な構成で高度なランダム性を有する暗号変
換及び復号変換が可能となる。
【0016】
【発明の実施の形態】本発明を用いた暗号・復号技術を
以下実施例を用いて詳細に説明する。
【0017】図1は本実施例の暗号変換装置の概要図で
ある。64ビットの平文C101とワーク鍵KA102(32ビット)
とワーク鍵KB103(32ビット)と、ワーク鍵KG104(30ビッ
ト)が、暗号器106に入力され、暗号変換された後、64ビ
ットの暗号文M105が出力される。ワーク鍵KG104は暗号
器のアルゴリズムを決定するのでアルゴリズム鍵とも呼
ぶ。
【0018】図2は、図1の暗号器106の詳細構成を示
す図である。入力された平文C101は上位32ビットL[1]と
下位32ビットR[1]に分離された後、変換部第1段201か
ら変換部第10段203までの暗号変換を繰り返し行い、最
後に上位32ビットのL[11]と下位32ビットのR[11]を結合
することで64ビットの暗号文M105が出力される。変換部
第N段202における変換処理は、ワーク鍵KA102とワーク
鍵KB103、およびワーク鍵KG104のKG{3N-1} ,KG{3N-2} ,
KG{3N-3} の3ビット値を入力として循環シフト数生成
部第N段205(ここでNは自然数)から出力される制御信
号G1, G2, G3によって定められる。ここで、KG{x}はKG
の第xビットを表わす。
【0019】図3は、図2の変換部第N段202の変換処理
の一例を示している。また、図4は図3の動作の説明図
であり、制御信号G1, G2, G3と循環シフト数Sとの関係
を示している。本例における暗号化は、データ自身を循
環シフトする転置処理と、他のデータとの論理演算およ
び算術演算をとる換字処理で実現されている。以下、図
3の処理内容を順を追って説明する。
【0020】(1)L[N]とKAの排他的論理和をとり、X1
とする。これは図3の処理番号301に対応する。 X1 = L[N] EOR KA ここで、演算表記 A EOR B はAとBの排他的論理和演算
を表し、以下、前記演算表記を同様の意味で用いるもの
とする。
【0021】(2)循環シフト数生成部第N段205の2ビ
ット出力値G1から図4にしたがって循環シフト数Sを定
め、X1をSビット左循環シフトしたものと、X1と1との
加算をとり、X2とする。これは図3の処理番号302に対
応する。 X2 = (X1 <<< S) + X1 + 1 ここで、演算表記 A <<< B はAを左方向にBビット循環
シフトすることを表しており、以下同様の意味で用い
る。また、演算表記A + Bは AとBの加算結果を2の32
乗で割った余りを表しており、以下同様の意味で用いる
ものとし、これを単に加算と呼ぶことにする。
【0022】(3)循環シフト数生成部第N段205の2ビ
ット出力値G2から図4にしたがって循環シフト数Sを定
め、X2をSビット左循環シフトしたものと、X2 との加
算をとり、X3とする。これは図3の処理番号303に対応
する。 X3 = (X2 <<< S) + X2 (4)X3とKBの加算をとり、X4とする。これは図3の処
理番号304に対応する X4 = X3 + KB (5)循環シフト数生成部第N段205の2ビット出力値G3
から図4にしたがって循環シフト数Sを定め、X4をSビ
ット左循環シフトしたものと、X4との加算をとり、X5と
する。これは図3の処理番号305に対応する。 X5 = (X4 <<< S) + X4 (6)X5とR[N]の加算をとったものを、変換部第N段202
の上位32ビット出力L[N+1]とする。これは図3の処理番
号306に対応する。
【0023】L[N+1] = X5 + R[N] (7)変換部N段の上位32ビット入力L[N]を変換部第N段
202の下位32ビット出力R[N+1]とする。これは図3の処
理番号307に対応する。 R[N+1] = L[N] 以上の暗号変換処理(1)から(5)までをまとめてF
(L[N], K, G)と書くと、変換部第N段202の処理は以下の
ように記述できる。 L[N+1] = R[N] + F(L[N], K, G) R[N+1] = L[N] 以上、本発明による暗号変換処理についてについて詳細
に述べた。
【0024】次に、より具体的な回路構成について述べ
る。図5は、本実施例の変換部第N段202をハードウェア
に実装したときの回路図である。この回路は、レジスタ
601, 603, 611、加算器605、排他的論理和回路612、
2入力マルチプレクサ602, 607、3入力マルチ
プレクサ604, 606、および左2ビット循環シフト器60
8、左8ビット循環シフト器609、左14ビット巡回シフト
器610から成る。データ幅はすべて32ビットである。
【0025】図3で示した変換処理は、処理番号301か
ら306に相当するように、マルチプレクサ602, 604, 60
6, 607を制御することで、6サイクルで完了する。循環
シフト器のスイッチングを行うマルチプレクサ606は、
循環シフト数生成部第N段205から順次出力されるG1, G
2, G3によって制御される。
【0026】図6は、2ビット循環シフト器608および
8ビット循環シフト器609を示したものであり、いずれ
も簡単なワイヤードロジックで実現可能である。
【0027】図7は、循環シフト器をスイッチングする
マルチプレクサ606の制御の説明図である。マルチプレ
クサは、左2ビット循環シフト器608、左8ビット循環
シフト器609、左14ビット循環シフト器610のそれぞれの
32ビット出力を入力データとし、2ビット制御入力G1,
G2, G3が順次入力されることで、3つの入力データから
一つを選択し、出力値とする。制御入力G1, G2, G3と出
力値の関係は図4に従う。マルチプレクサ606の制御入
力G1, G2, G3は、図7の循環シフト数生成回路701で計
算される(これは図2の循環シフト数生成部に対応す
る)。
【0028】循環シフト数生成回路701は順序回路とし
て実現され、この順序回路は3つの内部状態Q0, Q1, Q2
をもち、同期信号に伴って、入力P0が0ならば、 Q0 → Q1 Q1 → Q2 Q2 → Q0 入力P0が1ならば、 Q0 → Q2 Q1 → Q0 Q2 → Q1 と状態が遷移していく、3進加算/減算カウンタで表せ
る。この順序回路の出力値は図7の循環シフト数生成回
路701の状態図に示す。
【0029】ワーク鍵KGからの3ビットのデータは、入
力P0 および初期値P1, P2に用いられる。ここで、 P0 = KG{3N-1} P1 = KG{3N-2} P2 = KG{3N-3} である。
【0030】図8は初期値P1, P2と内部状態の関係を示
しており、内部状態の初期値はLOAD信号がHighのとき図
8のように定められる。なお循環シフト数生成回路205
は簡単な回路で構成でき、図9に詳細な回路図を示す。
これは、当該技術者なら簡単に理解できる3進カウンタ
の構成である。
【0031】以上述べたように図3の実施例では、2ビ
ット、8ビット、14ビットの左循環シフトを用いた転置
変換処理を換字変換処理と組み合わせることで、暗号変
換を行っており、各段における循環シフトのビット数
は、図2に示すように、アルゴリズム鍵KGから定まるG
1, G2, G3の値から図4のように決定される。各段のG1,
G2, G3はすべて異なる値を取るので、各段の循環シフト
演算の順序は3!=6通り考えられる。本実施例では10段の
変換部を持つので、循環シフト演算の順序が30ビットの
ワーク鍵KGによって、6の10乗通りの中から一意的に
定められことになり、高度なランダム性を有する暗号変
換といえる。
【0032】次に、図3に示す暗号変換の一例につい
て、データ拡散の効果を検証する。図10および図11は本
実施例における循環シフトによるデータ拡散の効果を示
すためにワーク鍵KA, ワーク鍵KBを、 KA = KB = 0 初期データを、 L[1] = R[1] = 0 循環シフトの順序を、 としたときの変換処理過程を示している。
【0033】第1段目の変換4001(図10)および5001(図1
1)の、 X2 = (X1 <<< S) + X1 + 1 によって生じた第1ビットの1は循環シフトによって、
第2段目の変換4002(図10)および5002(図11)までで中位
のビットまで影響を与えていき、第3段目の変換4003
(図10)および5003(図11)ですべてのビットが拡散される
様子が分かる。また、図10(case 1)と図11(case 2)を比
較すると、まったく異なった値に変換されており、循環
シフトの順序を変えることがデータ拡散に効果があるこ
とが分かる。
【0034】次に、本発明による暗号変換処理によって
暗号化されたデータを復号化する復号変換処理について
述べる。
【0035】図12に本発明を用いた復号変換装置を示
す。64ビットの暗号文105とワーク鍵KA102(32ビット)と
ワーク鍵KB103(32ビット)と、ワーク鍵KG104(30ビット)
が、復号器401に入力され、復号変換された後、64ビッ
トの平文101が出力される。この復号器401は暗号文をも
との平文に戻す機能を持ち、暗号変換処理の変換部第N
段の処理が、 L[N+1] = R[N] + F(L[N], K, G) R[N+1] = L[N] で記述されるため、第N段目の復号変換処理は、 R[N] = L[N+1] - F(R[N+1], K, G) L[N] = R[N+1] となる。
【0036】ここで、演算表記A - B はAとBの減算結果
を2の32乗で割った余りを表しており、以下同様の意
味で用いるものとし、これを単に減算と呼ぶことにす
る。したがって、復号器401は図3の加算回路306を減算
回路に変更し、入力として(R[N+1], L[N+1])、出力と
して(R[N], L[N])としたものを復号変換部第N段の処理
とし、これを10段繰り返すことで実現される。以上復号
変換処理について説明した。
【0037】次に本発明の他の実施例について述べる。
【0038】図3の前記実施例において、循環シフト変
換部は、ワーク鍵KG(シフト数選択順序を決定するため
のデータ)によって左2ビット、左8ビット、左14ビッ
トの3種類を選択する例を示したが、左または右にシフ
トするビット数、および循環シフト処理部の種類数を変
化させてもよい。ワーク鍵KGは予め設定され変化しない
ものでもよいし、ある期間毎に変更されるものでもよ
い。変化しない場合はワイヤードロジック等で固定して
おいても良い。たとえば、循環シフト変換部に左2ビッ
ト、左9ビット、左19ビットの3種類を選んでもよい。
特に左または右にシフトするビット数は図7に示したワ
イヤードロジックを変更すればよいので、回路規模を変
化されることなく実行できる。
【0039】また、図3では、ワーク鍵KA ,ワーク鍵KB
およびワーク鍵KGは独立の鍵として説明したが、一個の
データ鍵KDから生成する構成としてもよい。図13にこの
一例を示す。この例では40ビットの基本鍵KD501から鍵
生成部502でKA, KB, KGを以下の方法にしたがって生成
している。 KA : KDの上位32ビットと下位32ビットとの加算をとっ
たものとする。 KB : KDの上位32ビットとする。 KG : KAの下位30ビットとする。
【0040】次に本発明の構成をソフトウェアで実現す
る例について図14を用いて説明する。
【0041】この例では、以下の9個のデータを用い
る。 L (32ビット): 暗号変換するデータ R (32ビット): 暗号変換するデータ KA (32ビット): ワーク鍵1KAのデータ KB (32ビット): ワーク鍵1KBのデータ KG (32ビット) : ワーク鍵2KGのデータ Q (8ビット) : 循環シフト生成部の内部状態値 N (8ビット) : カウンタ値 X (32ビット) : 作業用のデータ S (32ビット) : 作業用のデータ。
【0042】以下、図14の処理内容を順を追って説明す
る。 (1)64ビットの平文Cを上位と下位32ビットデータに
分離し、それぞれL, Rに代入する。これは図14の処理番
号1001に対応する。 (2)カウンタ値Nを1にセットする。これは図14の処理
番号1002に対応する。 (3)循環シフト生成部の内部変数初期化ファンクショ
ンINIT(KG, N)の戻り値をQに代入する。これは図14の処
理番号1003に対応する。ここで、循環シフト生成部の内
部状態初期化ファンクションINIT(KG, N)は図15に示す
処理番号1101に従い、KG{3N-3}, KG{3N-2}の値から戻り
値が決定される。 (4)LとKAの排他的論理和をXに代入する。これは図14
の処理番号1004に対応する。 (5)循環シフトおよび加算ファンクションの戻り値S
= FUNC(X, KG, N, Q)と1との加算の結果をXに代入す
る。これは図14の処理番号1005に対応する。 (6)循環シフトおよび加算ファンクションの戻り値S
= FUNC(X, KG, N, Q)をXに代入する。これは図14の
処理番号1006に対応する。 (7)XとKBの加算の結果をXに代入する。これは図14の
処理番号1007に対応する。 (8)循環シフトおよび加算ファンクションの戻り値S
= FUNC(X, KG, N, Q)をXに代入する。これは図14の処理
番号1008に対応する。 (9)XとRの加算の結果をXに代入する。これは図14の
処理番号1009に対応する。 (10)Lの値をRに代入する。これは図14の処理番号1010
に対応する。 (11)Xの値をLに代入する。これは図14の処理番号1011
に対応する。 (12)Nが10以下か調べる。これは図14の処理番号1012
に対応する。 (13)Nが10以下ならば、Nの値を1増やして(3)に戻
る。これは図14の処理番号1013に対応する。 (14)Nが10以下でなければ、LとRを結合したものを暗
号文Mとする。これは図14の処理番号1014に対応する。
【0043】なお、循環シフトおよび加算ファンクショ
ンFUNC(X, KG, N, Q)は図16に示すフローチャートに従
う。以下処理内容を説明する。
【0044】(1)Qの値から2ビット、8ビット、14
ビットのいずれかの左循環シフトをXに対して行い、そ
の結果をSに保存する。これは図16の処理番号1201に対
応する。 (2)SとXの加算の結果をSに再び保存する。これは図1
6の処理番号1202に対応する。 (3)KG{3N-1}の値が0ならはQに1を加えた結果を3で
割った余りとし、KG{3N-1}の値が1ならはQから1を引い
た結果を3で割った余りとしてQを更新する。これは図1
6の処理番号1203に対応する。 (4)Sの値を戻り値とする。これは図16の処理番号120
4に対応する。
【0045】ソフトウェアによる復号処理については、
図14の加算処理1009を減算処理とすることで実現できる
ことはこれまでの説明から明らかである。以上、ソフト
ウェア処理で暗号処理および復号処理を実現する実施例
について説明したが、このように簡単なソフトウェア構
造で高度な暗号処理が実現できるため、情報家電機器に
容易に実装可能である。
【0046】次に本発明を用いた相手認証の実施例につ
いて図17を用いて説明する。図17において、外部バス13
03で接続された機器A 1301と機器B 1302が相互に相手を
認証する手順を以下に説明する。ここで機器A 1301, 機
器B 1302は情報家電機器、パーソナルコンピュータなど
を想定している。また、暗号化装置1304, 1306および復
号化装置1305, 1307は図1および図12で説明した暗号装
置および復号装置である。
【0047】(1)機器B 1302は乱数RBを生成し、RB||
Text1を機器Aに送信する(1309)。ここで、Text1は補助
情報であり、X||YはXとYを結合することを表す。
【0048】(2)機器A 1301は、 TokenAB = Text3||eKAB(RA||RB||IB||Text2) を生成し機器B 1302に送信する(1308)。ここでRAは機器
A 1301が生成した乱数、IBは機器B 1302の識別子、Text
2, Text3は補助情報で、eKAB(X)は機器A 1301と機器B 1
302の共通鍵KABでXを暗号化することを表す。
【0049】(3)機器B 1302はTokenABを受け取り、
暗号化部分を復号することによって、識別子IBおよび
(1)で機器Aに送ったRBが正しいことを確認する。
【0050】(4)機器B 1302は、 TokenBA = Text5||eKAB(RB||RA||Text4) を生成し機器B 1301に送信する(1310)。ここでText4, T
ext5は補助情報である。
【0051】(5)機器A 1301はTokenBAを受け取り、
暗号化部分を復号することによって、(1)で機器B 13
02から受け取ったRBおよび(2)で機器B 1302に送った
RAがTokenBA内に含まれていることを確認する。
【0052】以上、(1)から(5)で述べたように、
本発明の暗号装置および復号装置は、機器間の相手認証
も実現できるという利点がある。ここでText2あるいはT
ext4にワーク鍵あるいはデータ鍵を格納してもよく、こ
れによって、機器Aと機器Bとの間でデータ鍵あるいはワ
ーク鍵を安全に共有することができる。
【0053】次に、本発明を用いたDVD−Video
などのパッケージコンテンツを流通させるシステムの実
施例を図18に示す。
【0054】コンテンツプロバイダー1401は、著作権管
理機関1418に著作権情報を登録し、コンテンツID情報ID
A 1402を得る。IDAはデジタルデータにID情報などを隠
しもたせる技術である電子透かしを用いてコンテンツデ
ータ1403に埋め込まれ、パッケージコンテンツ1404とな
る。ここで、図19はパッケージコンテンツ1404内のコン
テンツデータを表しており、コンテンツ情報IDA 1402が
電子透かしとして含まれている。
【0055】情報家電B 1405がパッケージコンテンツ14
04内のコンテンツデータをパーソナルコンピュータC 14
11に転送する場合、情報家電B 1405は著作権管理機関14
18から発行されたユーザID情報IDB 1407を電子透かしと
してコンテンツデータ内に埋め込み、本発明を用いた暗
号装置1406で鍵データK 1408により暗号化し、外部バス
上に暗号データを流す。図20は経路1409を流れるコンテ
ンツデータを表しており、コンテンツ情報IDA 1402およ
びユーザID情報IDB 1407が電子透かしとして含まれてい
る。
【0056】受信側であるパーソナルコンピュータC 14
11は、暗号データを、本発明を用いた復号装置1412で鍵
データK 1415により復号化する。以上の処理において、
ユーザ情報や鍵データの管理にICカード1410および1417
を用いてもよい。
【0057】パーソナルコンピュータC 1411がネットワ
ーク上にコンテンツデータを流通させる場合、パーソナ
ルコンピュータC 1411は著作権管理機関1418から発行さ
れたユーザID情報IDC 1414を電子透かしとしてコンテン
ツデータ内に埋め込み、本発明を用いた暗号装置1413
で、データを鍵データK 1415により暗号化する。図21は
経路1416を流れるコンテンツデータを表しており、コン
テンツ情報IDA 1402、ユーザID情報IDB 1407およびユー
ザID情報IDC 1414が電子透かしとして含まれている。以
上の処理において、ユーザ情報や鍵データの管理にICカ
ード1417を用いてもよい。
【0058】著作権管理機関1418は、検査装置1419を用
いて、ネットワーク上を流れるデータを監視し、暗号化
されていないデータを検出した場合、データ内のコンテ
ンツID情報を著作権情報管理データベース1420と照合
し、不正コピーと判断すれば、不正コピーの発生場所を
ユーザID情報から追跡し、ペナルティを課す。
【0059】また、本発明を用いたデジタル衛星放送な
どのデジタルコンテンツの流通システムの実施例を図22
に示す。コンテンツプロバイダー1401は、著作権管理機
関1418に著作権情報を登録し、コンテンツID情報IDA 14
02を得る。IDAを電子透かしとして埋め込んだコンテン
ツデータは、放送センタ1801に送られ、既存の暗号装置
1802で暗号化され、デジタル衛星放送受信機などの情報
家電に向けて放送される。情報家電は既存の復号化装置
1803で放送データを復号化する。情報家電には、既存の
復号装置1803に加えて本発明を用いた暗号装置1406を備
えており、その後のコンテンツデータの流通過程は図18
における例と同様に行うことができる。
【0060】このように、デジタル衛星放送などの既存
の暗号システムと本発明の暗号システムを組み合わせ
て、デジタルコンテンツの流通システムを構築すること
も可能であり、パッケージメディア、放送メディア、通
信メディアと幅広く本発明の適用が可能である。
【0061】
【発明の効果】本発明によれば、簡単な構成でより高度
なランダム性を有する暗号方式が提供できる。
【図面の簡単な説明】
【図1】本発明を用いた暗号変換装置の一実施例であ
る。
【図2】図1における暗号器の詳細構成図である。
【図3】図2における変換部第N段における変換処理の
一例を示す図である。
【図4】図3における制御信号G1,G2,G3と循環シフト数
Sの関係図である。
【図5】図3における暗号変換を実現する回路図であ
る。
【図6】図5における循環シフト器の配線図である。
【図7】図5における循環シフト器をスイッチングする
マルチプレクサの制御の説明図である。
【図8】図7における循環シフト数生成回路の初期値と
内部状態の関係である。
【図9】図7における循環シフト数生成回路の詳細図で
ある。
【図10】本発明の暗号変換における循環シフトのデー
タ拡散への効果 (case 1)を示す図である。
【図11】本発明の暗号変換における循環シフトのデー
タ拡散への効果 (case 2)である。
【図12】本発明を用いた復号変換装置の一実施例であ
る。
【図13】本発明で用いる複数のワーク鍵を一つのデー
タ鍵から生成する一例である。
【図14】本発明の構成をソフトウェアで実現するフロ
ーの一例である。
【図15】図14の変換処理で用いる循環シフト生成部の
内部変数初期化ファンクションのフロー図である。
【図16】図14の変換処理で用いる循環シフトおよび加
算ファンクションのフロー図である。
【図17】本発明を用いた機器間の相手認証の一実施例
である。
【図18】本発明を用いたパッケージコンテンツの流通
システムに関する一実施例である。
【図19】電子透かしを含むコンテンツデータ(その
1)である。
【図20】電子透かしを含むコンテンツデータ(その
2)である。
【図21】電子透かしを含むコンテンツデータ(その
3)である。
【図22】本発明を用いた放送コンテンツの流通システ
ムに関する一実施例である。
【図23】RC5の暗号アルゴリズムの概要図である。
【符号の説明】
101…平文、102…ワーク鍵KA、103…ワーク鍵KB、104…
ワーク鍵KG、105…暗号文、106…暗号器、202…変換部
第N段、205…循環シフト数生成部第N段、401…復号器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 是枝 浩行 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マルチメディアシステム開 発本部内 (72)発明者 佐々本 学 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マルチメディアシステム開 発本部内 (72)発明者 岡本 宏夫 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マルチメディアシステム開 発本部内 (72)発明者 野口 敬治 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マルチメディアシステム開 発本部内 (72)発明者 古屋 聡一 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 平畠 茂 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マルチメディアシステム開 発本部内

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1個の鍵と平文データを入力
    し、暗号文データを出力する暗号変換装置であって、 シフト数選択順序を決定するためのデータに基づきシフ
    ト数を決定する循環シフト処理手段を含み、 入力された平文をデータ1とデータ2に分割し、前記デ
    ータ1をデータL[1]とし、前記データ2をデータR[1]と
    する手段を含み、 データL[N]とデータR[N]を入力とし、データL[N+1]とデ
    ータR[N+1]を出力とする暗号変換処理手段であって、前
    記データL[N]に対して前記鍵を用いた変換処理と、前記
    循環シフト処理手段を用いた循環シフト処理と、をそれ
    ぞれ1回以上行ってデータXを生成し、前記データR[N]
    と前記データXとを演算して得られる値を前記データL
    [N+1]とし、前記データL[N]を前記データR[N+1]とする
    暗号変換処理手段を少なくとも1段以上含み、 最終段の2つの出力データを結合したものを暗号文とす
    る手段を含むことを特徴とする暗号変換装置。
  2. 【請求項2】前記シフト数選択順序を決定するためのデ
    ータを、少なくとも2つの前記各暗号変換処理手段で異
    ならせることを特徴とする請求項1記載の暗号変換装
    置。
  3. 【請求項3】前記シフト数は、少なくとも2つの前記各
    循環シフト処理手段で異ならせることを特徴とする請求
    項1記載の暗号変換装置。
  4. 【請求項4】前記循環シフト処理手段は、 左あるいは右に固定ビットだけ循環シフトする2個以上
    の異なる固定循環シフト処理手段と、 前記固定循環シフト処理手段を選択する循環シフト処理
    選択手段と、 前記シフト数選択順序を決定するためのデータから前記
    循環シフト処理選択手段の選択順序を決定する循環シフ
    ト順序決定手段と、を含むことを特徴とする請求項1記
    載の暗号変換装置。
  5. 【請求項5】前記循環シフト処理選択手段は、前記循環
    シフト処理順序決定手段で決定された順序に従って2個
    以上の前記固定循環シフト処理手段を選択し、 前記循環シフト処理順序決定手段は、各段ごとに前記シ
    フト数選択順序を決定するためのデータの異なったビッ
    ト列を入力値とすることで、各段ごとに異なった順序を
    決定し、 前記暗号変換処理手段によるブロック暗号の暗号変換を
    各段ごとに異なった変換にすることを特徴とする請求項
    4記載の暗号変換装置。
  6. 【請求項6】前記シフト数選択順序を決定するためのデ
    ータを、前記鍵に基づいて生成することを特徴とする請
    求項1記載の暗号変換装置。
  7. 【請求項7】前記固定循環シフト処理手段は、ワイヤー
    ドロジック回路で構成されることを特徴とする請求項4
    に記載の暗号変換装置。
  8. 【請求項8】前記循環シフト処理選択手段は、マルチプ
    レクサで構成されることを特徴とする請求項4に記載の
    暗号変換装置。
  9. 【請求項9】前記循環シフト処理順序決定手段は、前記
    循環シフト決定データを内部状態の初期値と入力信号に
    使い、同期信号に伴って内部状態を遷移させ、前記循環
    シフト処理選択手段の制御入力信号を出力する循環シフ
    ト処理順序生成回路で構成されることを特徴とする請求
    項4に記載の暗号変換装置。
  10. 【請求項10】前記固定循環シフト処理手段、前記循環
    シフト処理選択手段、前記循環シフト処理順序決定手段
    は、それぞれソフトウェアで構成されることを特徴とす
    る請求項4に記載の暗号変換装置。
  11. 【請求項11】少なくとも1個の鍵と暗号文データを入
    力し、平文データを出力する復号変換装置であって、 シフト数選択順序を決定するためのデータに基づきシフ
    ト数を決定する循環シフト処理手段を含み、 入力された暗号文をデータ1とデータ2に分割し、前記
    データ1をデータL[1]とし、前記データ2をデータR[1]
    とする手段を含み、 データL[N]とデータR[N]を入力とし、データL[N+1]とデ
    ータR[N+1]を出力とする復号変換処理手段であって、前
    記データR[N]に対して前記鍵を用いた変換処理と、前記
    循環シフト処理手段を用いた循環シフト処理と、をそれ
    ぞれ1回以上行ってデータXを生成し、前記データL[N]
    と前記データXとを演算して得られる値を前記データR
    [N+1]とし、前記データR[N]を前記データL[N+1]とする
    復号変換処理手段を少なくとも1段以上含み、 最終段の2つの出力データを結合したものを平文とする
    手段を含むことを特徴とする復号変換装置。
  12. 【請求項12】前記シフト数選択順序を決定するための
    データを、少なくとも2つの前記各復号変換処理手段で
    異ならせることを特徴とする請求項11記載の復号変換
    装置。
  13. 【請求項13】前記シフト数は、少なくとも2つの前記
    各循環シフト処理手段で異ならせることを特徴とする請
    求項11記載の復号変換装置。
  14. 【請求項14】前記循環シフト処理手段は、 左あるいは右に固定ビットだけ循環シフトする2個以上
    の異なる固定循環シフト処理手段と、 前記固定循環シフト処理手段を選択する循環シフト処理
    選択手段と、 前記シフト数選択順序を決定するためのデータから前記
    循環シフト処理選択手段の選択順序を決定する循環シフ
    ト順序決定手段と、を含むことを特徴とする請求項11
    記載の復号変換装置。
  15. 【請求項15】前記循環シフト処理選択手段は、前記循
    環シフト処理順序決定手段で決定された順序に従って2
    個以上の前記固定循環シフト処理手段を選択し、 前記循環シフト処理順序決定手段は、各段ごとに前記シ
    フト数選択順序を決定するためのデータの異なったビッ
    ト列を入力値とすることで、各段ごとに異なった順序を
    決定し、 前記復号変換処理手段によるブロック暗号の復号処理
    は、各段ごとに異なった処理を行うことを特徴とする請
    求項14記載の復号変換装置。
  16. 【請求項16】前記シフト数選択順序を決定するための
    データを、前記鍵に基づいて生成することを特徴とする
    請求項11記載の復号変換装置。
  17. 【請求項17】前記循環シフト処理順序決定手段は、前
    記循環シフト決定データを内部状態の初期値と入力信号
    に使い、同期信号に伴って内部状態を遷移させ、前記循
    環シフト処理選択手段の制御入力信号を出力する循環シ
    フト処理順序生成回路で構成されることを特徴とする請
    求項14に記載の復号変換装置。
  18. 【請求項18】少なくとも1個の鍵と平文データを入力
    し、暗号文データを出力する暗号変換方法であって、 シフト数選択順序を決定するためのデータに基づきシフ
    ト数を決定する循環シフト処理ステップを行い、 入力された平文をデータ1とデータ2に分割し、前記デ
    ータ1をデータL[1]とし、前記データ2をデータR[1]と
    する処理ステップを行い、 データL[N]とデータR[N]を入力とし、データL[N+1]とデ
    ータR[N+1]を出力とする暗号変換処理ステップであっ
    て、前記データL[N]に対して前記鍵を用いた変換処理
    と、前記循環シフト処理手段を用いた循環シフト処理
    と、をそれぞれ1回以上行ってデータXを生成し、前記
    データR[N]と前記データXとを演算して得られる値を前
    記データL[N+1]とし、前記データL[N]を前記データR[N+
    1]とする暗号変換処理ステップ、を少なくとも1段以上
    行い、 最終段の2つの出力データを結合したものを暗号文とす
    る処理ステップを行うことを特徴とする暗号変換方法。
  19. 【請求項19】少なくとも1個の鍵と暗号文データを入
    力し、平文データを出力する復号変換方法であって、 シフト数選択順序を決定するためのデータに基づきシフ
    ト数を決定する循環シフト処理ステップを行い、 入力された暗号文をデータ1とデータ2に分割し、前記
    データ1をデータL[1]とし、前記データ2をデータR[1]
    とする処理ステップを行い、 データL[N]とデータR[N]を入力とし、データL[N+1]とデ
    ータR[N+1]を出力とする復号変換処理ステップであっ
    て、前記データR[N]に対して前記鍵を用いた変換処理
    と、前記循環シフト処理手段を用いた循環シフト処理
    と、をそれぞれ1回以上行ってデータXを生成し、前記
    データL[N]と前記データXとを演算して得られる値を前
    記データR[N+1]とし、前記データR[N]を前記、前記デー
    タL[N+1]とする復号変換処理ステップを少なくとも1段
    以上行い、 最終段の2つの出力データを結合したものを平文とする
    処理ステップを行うことを特徴とする復号変換方法。
  20. 【請求項20】通信し合う二つの装置AとBは事前に鍵暗
    号化鍵を共有しており、 前記装置Aはデータ鍵を生成した後、鍵暗号化鍵でデー
    タ鍵を暗号化して装置Bに送信し、 前記装置Bはデータ鍵の暗号文を鍵暗号化鍵で復号して
    元のデータを復元し、 前記装置Aと前記装置Bとの間で、平文データをデータ鍵
    で暗号化して得られる暗号文を送信し、受信した暗号文
    をデータ鍵で復号してもとの平文データを得るという処
    理を行うことで、装置A、B間の暗号通信を行うことを特
    徴とするデータ通信システム。
  21. 【請求項21】前記装置Aは、平文データを暗号変換し
    ないままで前記装置Aの外部に通信することを阻止する
    手段を含むことを特徴とする請求項20記載のデータ通
    信システム。
  22. 【請求項22】前記装置Bは、暗号文データを復号変換
    して得られた平文データを前記装置Bの外部に通信する
    ことを阻止する手段を含むことを特徴とする請求項20
    記載のデータ通信システム。
  23. 【請求項23】前記装置Aまたは前記装置Bは別の装置C
    と通信できるように構成されており、 前記装置Aまたは前記装置Bから前記装置Cに送信された
    データは暗号変換されないままであるかどうかを前記装
    置Cが検査する手段と、 該データが暗号変換されないままであることが検知され
    た場合には、そのことを示す信号を別の装置Dに送信す
    る手段を含むことを特徴とするデータ通信システム。
  24. 【請求項24】前記装置Dは、前記データが暗号変換さ
    れないままであることが検知されたことを示す信号を受
    信した場合、前記装置Dから前記装置Aまたは前記装置B
    に送信するデータを制限する手段を有することを特徴と
    するデータ通信システム。
  25. 【請求項25】前記装置AまたはBは別の装置Eと通信で
    きるように構成されており、 前記装置Eは前記装置Aに平文データを暗号方式1により
    暗号化した暗号文1を送り、 前記装置Aは該暗号文1を該暗号方式1に対応する復号
    方式1により復号し、もとの平文データを得た後、暗号
    方式1とは異なる暗号方式2で平文データを再暗号化し
    て暗号文2を得た後、前記装置Bに暗号文2を送信する
    ことを特徴とするデータ通信システム。
JP22263698A 1997-08-07 1998-08-06 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム Expired - Lifetime JP3906574B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22263698A JP3906574B2 (ja) 1997-08-07 1998-08-06 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-213327 1997-08-07
JP21332797 1997-08-07
JP22263698A JP3906574B2 (ja) 1997-08-07 1998-08-06 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム

Publications (2)

Publication Number Publication Date
JPH11109853A true JPH11109853A (ja) 1999-04-23
JP3906574B2 JP3906574B2 (ja) 2007-04-18

Family

ID=26519731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22263698A Expired - Lifetime JP3906574B2 (ja) 1997-08-07 1998-08-06 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム

Country Status (1)

Country Link
JP (1) JP3906574B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008503162A (ja) * 2004-06-14 2008-01-31 ザ・ユニバーシティ・オブ・ノース・カロライナ・アット・グリーンズボロ デジタルコンテンツセキュリティのためのシステムおよび方法
US7392272B2 (en) 2002-04-19 2008-06-24 Sony Corporation Calculation device and calculation method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392272B2 (en) 2002-04-19 2008-06-24 Sony Corporation Calculation device and calculation method
JP2008503162A (ja) * 2004-06-14 2008-01-31 ザ・ユニバーシティ・オブ・ノース・カロライナ・アット・グリーンズボロ デジタルコンテンツセキュリティのためのシステムおよび方法

Also Published As

Publication number Publication date
JP3906574B2 (ja) 2007-04-18

Similar Documents

Publication Publication Date Title
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
US5365589A (en) Method and apparatus for encryption, decryption and authentication using dynamical systems
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP5822970B2 (ja) 擬似ランダム生成、データ暗号化、およびメッセージ暗号化ハッシングのための暗号化デバイス
US5222139A (en) Cryptographic method and apparatus
US6314187B1 (en) Method for encryption or decryption using finite group operations
US7949128B2 (en) Method and device for the encryption and decryption of data
EP0725511B1 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC)
US5351299A (en) Apparatus and method for data encryption with block selection keys and data encryption keys
US6891950B1 (en) Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
US6606385B1 (en) Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same
JPH08505275A (ja) 暗号ストリームを発生させるための装置及び方法
JP4460772B2 (ja) 同期ストリーム暗号
JP4025722B2 (ja) データ暗号化のための方法および装置
US7894608B2 (en) Secure approach to send data from one system to another
US20150349951A1 (en) Protecting Cryptographic Operations Using Conjugacy Class Functions
JP3906574B2 (ja) 暗号変換方法、暗号変換装置、復号方法、復号装置及びデータ通信システム
JPH0736672A (ja) 乱数発生器、及びそれを用いた通信システム及びその方法
JPH1152850A (ja) 暗号変換方法および装置
JP2000047580A (ja) 暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収装置
JPH0895490A (ja) 秘密鍵暗号方法及び装置
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
JP4990843B2 (ja) 暗号演算装置、その方法、及びプログラム
JP2001509608A (ja) デジタル・データのlビットの入力ブロックをlビットの出力ブロックに暗号変換するための方法
GB2463031A (en) Encrypting data or providing an encryption key

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061201

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: 20061226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070108

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

Free format text: PAYMENT UNTIL: 20100126

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term