JP2003298573A - 暗号生成装置および復号装置および暗号/復号装置 - Google Patents

暗号生成装置および復号装置および暗号/復号装置

Info

Publication number
JP2003298573A
JP2003298573A JP2002098487A JP2002098487A JP2003298573A JP 2003298573 A JP2003298573 A JP 2003298573A JP 2002098487 A JP2002098487 A JP 2002098487A JP 2002098487 A JP2002098487 A JP 2002098487A JP 2003298573 A JP2003298573 A JP 2003298573A
Authority
JP
Japan
Prior art keywords
data
encryption
decryption
scramble
control 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
JP2002098487A
Other languages
English (en)
Inventor
Hiroyasu Yamamoto
博康 山本
Hatsumi Nakano
初美 中野
Bitaanage Ananda
ビターナゲ アナンダ
Takakuni Shimizu
隆邦 清水
Misako Koibuchi
美佐子 鯉渕
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.)
FDK Corp
Original Assignee
FDK Corp
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 FDK Corp filed Critical FDK Corp
Priority to JP2002098487A priority Critical patent/JP2003298573A/ja
Priority to PCT/JP2003/003689 priority patent/WO2003083806A1/ja
Publication of JP2003298573A publication Critical patent/JP2003298573A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 安全性の向上と処理の高速化を図った暗号生
成装置および復号装置を提供する。 【解決手段】 暗号生成装置は共通鍵KEYを用いてブ
ロックデータBSの暗号化を行う。単数もしくは複数の
乱数CDnと共通鍵KEYを用いて暗号用乱数RNDを
生成する暗号用乱数生成部1と、共通鍵KEYと暗号用
乱数RNDを用いてブロックデータBSを暗号化し、暗
号化ブロックデータBCSを生成する暗号化処理部3a
と、乱数CDnと共通鍵KEYを用いて暗号用乱数生成
部1および暗号化処理部3aで使用する各種制御データ
を生成する制御データ生成部2を備える。また、復号装
置では前記暗号化処理部3aに替わり共通鍵KEYと暗
号用乱数RNDを用いて暗号化ブロックデータBCSを
復号化し、ブロックデータBCを生成する復号化処理部
を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、販売・サービス、
ネットワークセキュリティ、電子決済、金融取引、電子
商取引・金融ビジネス等、幅広い情報通信技術の分野に
応用して好適な暗号化および復号化技術に関し、特に、
安全性(セキュリティー)の向上と処理(暗号化/復号
化処理)の高速化を図った暗号生成装置および復号装置
および暗号/復号装置に関するものである。
【0002】
【従来の技術】近年のデジタル通信技術の発達により情
報通信ネットワークの拡大化が進み、誰でも気軽に参加
できるインターネットの利用が急増してきている。最近
ではインターネットに企業等のネットワークを接続して
行う、ショッピング、電子決裁、秘密投票、秘密入札、
署名、証明書の発行等の様々な電子サービスが提供され
ており、その便利性は飛躍的に向上したが、反面、重要
な企業情報等がインターネットを経由して盗聴等の外部
攻撃を受けや易い状態となってきている。
【0003】特に、電子マネーや電子商取引のように、
ネットワーク上で多額の金銭を電子的に扱うサービス等
にあっては、従来にも増してネットワークのセキュリテ
ィ(盗聴行為などからのプライバシーの保護、正当性の
保証)対策が要求されるようになった。この様な状況か
ら、秘密通信、認証を実現するための欠くことのできな
いキー・テクノロジーとして暗号化技術が注目され、現
在では様々な暗号方式を用いたシステム(暗号プロトコ
ル)が提案されている。そして、上記暗号方式の代表的
なものとして、共通鍵暗号を用いたDESや公開鍵暗号
を用いたRSA等が知られており、特に、共通鍵暗号は
処理速度が公開鍵暗号に比べて2桁以上速いという特徴
を持つことから、通信データの暗号化に広く採用されて
いる。
【0004】現在公開されている暗号化アルゴリズムの
多くは、上記したDESの暗号化処理と似た構造を有し
ており、入力データ(平文)にビット単位の並び替えを
施した後、データ列の右半分と左半分の入れ替えとデー
タを攪拌するF関数による変換(データのスクランブ
ル)を繰り返すというものが一般的である。繰り返しで
使う鍵データは入力した鍵データから生成するもので、
例えば、DESの場合では、鍵データの長さ(鍵長)は
56ビットとされている。例えば、上記したようなデー
タ変換のためのビットシフト技術や鍵データとの融合技
術として、特開2001−42766号公報、或いは特
開平11−109853号公報や特開平11−0528
50号公報(循環シフト技術)等が開示されている。
【0005】
【発明が解決しようとする課題】ところで、暗号方式の
評価基準は、その解読法に対する安全性(解読の困難
さ)と暗号化の処理速度にあると言われており、一般的
に安全性を高めようとする程、処理速度は遅くなる傾向
にある。
【0006】例えば、上記したDESの場合では、公知
の線形解読法や差分解読法等の特別な解読法を用いずに
鍵の候補を総当たりで調べる(DESの場合、鍵の候補
は全部で256となる。)ことで解読でき、安全性は暗号
解読に必要な情報量と計算量のかね合いとなる。しか
も、近年のコンピュータ技術の発達で処理能力は著しく
向上し、これにより複雑な鍵を用いても比較的短い時間
で解読可能となった。
【0007】安全性向上のために鍵のビット構成を長く
すると暗号化に要する時間(処理時間)は長くなり、暗
号処理時間が長ければその分通信回線の占有時間が増大
する。従来では、暗号化のための演算速度を速くするた
め、専用の高速LSIを使用したり汎用高速プロセッサ
を用いたりしていたが、専用の高速LSIや高速プロセ
ッサは高価であり経済的でない。しかも、データの攪拌
操作にプロセッサを介在させると、同じものの繰り返し
の無いランダムな鍵データを生成することはなかなか容
易なことではない。
【0008】本発明は、このような暗号化の問題に鑑み
て成されたもので、安全性の向上と処理の高速化を図っ
た暗号生成装置および復号装置および暗号/復号装置を
提供することを目的としている。
【0009】
【課題を解決するための手段】すなわち、請求項1に記
載の本発明は、共通鍵(KEY)を用いてブロックデー
タ(BS)の暗号化を行う暗号生成装置であって、単数
もしくは複数の乱数(CDn)と前記共通鍵(KEY)
を用いて暗号用乱数(RND)を生成する暗号用乱数生
成部(1)と、前記共通鍵(KEY)と前記暗号用乱数
(RND)を用いて前記ブロックデータ(BS)を暗号
化し、暗号化ブロックデータ(BCS)を生成する暗号
化処理部(3a)と、前記乱数(CDn)と前記共通鍵
(KEY)を用いて前記暗号用乱数生成部(1)および
前記暗号化処理部(3a)で使用する各種制御データを
生成する制御データ生成部(2)を備えている。
【0010】また、請求項2に記載の本発明は、共通鍵
(KEY)を用いて請求項1に記載の暗号生成装置で暗
号化されたブロックデータ(BCS)の復号化を行う復
号装置であって、単数もしくは複数の乱数(CDn)と
前記共通鍵(KEY)を用いて暗号用乱数(RND)を
生成する暗号用乱数生成部(1)と、前記共通鍵(KE
Y)と前記暗号用乱数(RND)を用いて前記暗号化ブ
ロックデータ(BCS)を復号化し、ブロックデータ
(RBS)を生成する復号化処理部(3b)と、前記乱
数(CDn)と前記共通鍵(KEY)を用いて前記暗号
用乱数生成部(1)および前記復号化処理部(3b)で
使用する各種制御データを生成する制御データ生成部
(2)を備えている。
【0011】また、請求項3に記載の本発明は、請求項
1に記載の暗号生成装置において、前記ブロックデータ
(BS)のブロック数と前記共通鍵(KEY)の排他的
論理和出力(XCK)を共通鍵として使用する。
【0012】また、請求項4に記載の本発明は、請求項
2に記載の復号装置において、前記暗号化ブロックデー
タ(RBCS)のブロック数と前記共通鍵(KEY)の
排他的論理和出力(XCK)を共通鍵として使用する。
【0013】また、請求項5に記載の本発明は、請求項
1または請求項3の何れかに記載の暗号生成装置におい
て、前記暗号化処理部(3a)は前記制御データ生成部
(2)からの制御データに基づいてデータの掻き混ぜを
行うスクランブル手段を有する。
【0014】また、請求項6に記載の本発明は、請求項
1または請求項3の何れかに記載の暗号生成装置におい
て、前記暗号化処理部(3a)は、第1から第4のデー
タスクランブル手段(11、12、13、14)を有
し、前記制御データ(MK0)に基づいて前記共通鍵
(KEY)を前記第1スクランブル手段(11)で掻き
混ぜしたデータ(SKEY)と、前記制御データ(MS
0)に基づいて前記ブロックデータ(BS)を前記第2
スクランブル手段(12)で掻き混ぜしたデータ(SB
S)との排他的論理和でデータ(XSBK)を生成し、
当該データ(XSBK)を前記制御データ(MS1)に
基づいて前記第3スクランブル手段(13)で掻き混ぜ
したデータ(SXSBK)と、前記暗号用乱数(RN
D)との排他的論理和で得たデータ(XSXSBKR)
を前記制御データ(MS2)に基づいて前記第4スクラ
ンブル手段(14)で掻き混ぜして前記暗号化ブロック
データ(BCS)を生成する。
【0015】また、請求項7に記載の本発明は、請求項
2または請求項4の何れかに記載の暗号生成装置におい
て、前記復号化処理部(3b)は、前記制御データ生成
部(2)からの制御データに基づいて請求項5に記載の
スクランブル手段と全く逆のデータの掻き混ぜを行う逆
スクランブル手段を有する。
【0016】また、請求項8に記載の本発明は、請求項
2または請求項4の何れかに記載の復号装置において、
前記復号処理部(3b)は、請求項6に記載の第1スク
ランブル手段(11)と請求項6に記載の第2から第4
スクランブル手段(12、13、14)と逆の掻き混ぜ
を行う第2から第4の逆スクランブル手段(15、1
6、17)を有し、前記制御データ(MS2)に基づい
て前記暗号化ブロックデータ(RBCS)を前記第4逆
スクランブル(17)で掻き混ぜしたデータ(XSXS
BKR)と、前記暗号用乱数(RND)との排他的論理
和で得たデータ(SXSBK)を前記制御データ(MS
1)に基づいて前記第3逆スクランブル手段(16)で
掻き混ぜしてデータ(XSBK)を生成し、当該データ
(XSBK)と、前記制御データ(MK0)に基づいて
前記共通鍵(KEY)を前記第1スクランブル手段(1
1)で掻き混ぜしたデータ(SKEY)との排他的論理
和で得たデータ(SBS)を前記制御データ(MS0)
に基づいて前記第2逆スクランブル手段(15)で掻き
混ぜしてブロックデータ(BS)を生成する。
【0017】また、請求項9に記載の本発明は、請求項
1から請求項8までの何れかに記載の暗号生成装置また
は復号装置において、前記暗号用乱数生成部(1)は、
前記制御データ生成部(2)からの制御データ(MC
n)に基づいてデータの掻き混ぜを行う単数もしくは複
数のスクランブル手段を有し、前記共通鍵(KEY)と
前記単数もしくは複数の乱数(CDn)との排他的論理
和で各々データ(XKCn)を生成すると共に、当該デ
ータ(XKCn)を前記スクランブル手段で掻き混ぜし
てデータ(SXKCn)を生成し、各データ(SXKC
n)同士の排他的論理和処理を単数のデータ列が得られ
るまで繰り返し行い、最終的に得られた単一のデータ列
を前記スクランブル手段で掻き混ぜして暗号用乱数(R
ND)を生成する。 また、請求項10に記載の本
発明は、請求項1から請求項8までの何れかに記載の暗
号生成装置または復号装置において、前記暗号用乱数生
成部(1)は、前記制御データ生成部(2)からの制御
データ(MCn)に基づいてデータの掻き混ぜを行う単
数もしくは複数のスクランブル手段を有し、前記単数も
しくは複数の乱数(CDn)を各々前記スクランブル手
段で掻き混ぜしてデータ(SXKCn)を生成し、各デ
ータ(SXKCn)同士の排他的論理和処理を単一のデ
ータ列が得られるまで繰り返し行い、最終的に得られた
単一のデータ列を前記スクランブル手段で掻き混ぜして
暗号用乱数(RND)を生成する。
【0018】また、請求項11に記載の本発明は、請求
項1から請求項10までの何れかに記載の暗号生成装置
または復号装置において、前記制御データ生成部(2)
は、前記共通鍵(KEY)より制御データ(SLA、S
LB、MR0、MR1)を生成する第1データ変換部
(33)と、前記制御データ(SLA)をセレクト入力
とする第1セレクター(31)と前記制御データ(SL
B)をセレクト入力とする第2セレクター(32)と、
前記制御データ(MR0、MR1)に基づいてデータの
掻き混ぜを行う第10、第11スクランブル手段(3
7、38)と、前記第11スクランブル手段(38)の
出力データより制御データ(MB0、MB1)を生成す
る第2データ変換部(34)と、前記制御データ(MB
0、MB1)に基づいてデータの掻き混ぜを行う第1
2、第14スクランブル手段(39、41)と、前記第
10スクランブル手段(37)の出力データより制御デ
ータ(MA0、MA1)を生成する第3データ変換部
(35)と、前記制御データ(MA0、MA1)に基づ
いてデータの掻き混ぜを行う第13、第15スクランブ
ル手段(40、42)と、前記第12から第15スクラ
ンブル手段の出力データより暗号化、復号化に用いる各
種制御データを生成する第4データ変換部(36)を有
し、前記単数もしくは複数の乱数(CDn)の内の一つ
を前記第1セレクター(31)にて選択し、その選択デ
ータ(SCDA)を前記第10スクランブル手段(3
7)で掻き混ぜてデータ(CA0)を生成すると共に、
前記乱数(CDn)の任意の2組の排他的論理和の内の
一つを前記第2セレクター(32)にて選択し、その選
択データ(SCDB)を前記第11スクランブル手段
(38)で掻き混ぜてデータ(CB0)を生成し、前記
共通鍵(KEY)と前記データ(CA0)の排他的論理
和でデータ(XKCA)を生成し、前記第12スクラン
ブル(39)で掻き混ぜてデータ(CA1)を生成する
と共に、このデータ(CA1)を前記第14スクランブ
ル手段(41)で掻き混ぜてデータ(CA2)を生成
し、前記共通鍵(KEY)と前記データ(CB0)の排
他的論理和でデータ(XKCB)を生成し、前記第13
スクランブル(40)で掻き混ぜしてデータ(CB1)
を生成すると共に、このデータ(CB1)を前記第15
スクランブル手段(42)で掻き混ぜしてデータ(CB
2)を生成し、前記データ(CA1、CA2、CB1、
CB2)より前記第4データ変換部(36)にて制御デ
ータ(MC0、MC1、MC2、MC3、MC4、MK
0、MS0、MS1、MS2)を生成する。
【0019】また、請求項12に記載の本発明は、請求
項1から請求項10までの何れかに記載の暗号生成装置
または復号装置において、前記制御データ生成部(2)
は、前記共通鍵(KEY)より制御データ(SLA、S
LB、MR0、MR1)を生成する第1データ変換部
(33)と、前記制御データ(SLA)をセレクト入力
とする第1セレクター(31)と前記制御データ(SL
B)をセレクト入力とする第2セレクター(32)と、
前記制御データ(MR0、MR1)に基づいてデータの
掻き混ぜを行う第10、第11スクランブル手段(3
7、38)と、前記第11スクランブル手段(38)の
出力データより制御データ(MB0、MB1)を生成す
る第2データ変換部(34)と、前記制御データ(MB
0、MB1)に基づいてデータの掻き混ぜを行う第1
2、第14スクランブル手段(39、41)と、前記第
10スクランブル手段(37)の出力データより制御デ
ータ(MA0、MA1)を生成する第3データ変換部
(35)と、前記制御データ(MA0、MA1)に基づ
いてデータの掻き混ぜを行う第13、第15スクランブ
ル手段(40、42)と、前記第12から第15スクラ
ンブル手段の出力データより暗号化、復号化に用いる各
種制御データを生成する第4データ変換部(36)を有
し、前記単数もしくは複数の乱数(CDn)の内の一つ
を前記第1セレクター(31)にて選択し、その選択デ
ータ(SCDA)を前記第10スクランブル手段(3
7)で掻き混ぜてデータ(CA0)を生成すると共に、
前記乱数(CDn)の任意の2組の排他的論理和の内の
一つを前記第2セレクター(32)にて選択し、その選
択データ(SCDB)を前記第11スクランブル手段
(38)で掻き混ぜてデータ(CB0)を生成し、ま
た、前記データ(CA0)を前記第12スクランブル
(39)で掻き混ぜてデータ(CA1)を生成すると共
に、このデータ(CA1)を前記第14スクランブル手
段(41)で掻き混ぜてデータ(CA2)を生成し、前
記データ(CB0)を前記第13スクランブル(40)
で掻き混ぜしてデータ(CB1)を生成すると共に、こ
のデータ(CB1)を前記第15スクランブル手段(4
2)で掻き混ぜしてデータ(CB2)を生成し、前記デ
ータ(CA1、CA2、CB1、CB2)より前記第4
データ変換部(36)にて制御データ(MC0、MC
1、MC2、MC3、MC4、MK0、MS0、MS
1、MS2)を生成する。
【0020】また、請求項13に記載の本発明は、請求
項11または請求項12の何れかに記載の暗号生成装置
または復号装置において、前記第1データ変換部(3
3)は、前記共通鍵(KEY)を用い、当該共通鍵(K
EY)を直接、もしくは排他的論理和、もしくは排他的
論理和の組合せ、もしくは直接と排他的論理和の組合せ
にて各々所定ビット構成の制御データ(SLA、SL
B、MR0、MR1)を生成する。
【0021】また、請求項14に記載の本発明は、請求
項11または請求項12の何れかに記載の暗号生成装置
または復号装置において、前記第2データ変換部(3
4)は、前記第11スクランブル手段(38)の出力デ
ータ(CB0)を用い、当該データ(CB0)を直接、
もしくは排他的論理和、もしくは排他的論理和の組合
せ、もしくは直接と排他的論理和の組合せにて各々所定
ビット構成の制御データ(MB0、MB1)を生成す
る。
【0022】また、請求項15に記載の本発明は、請求
項11または請求項12の何れかに記載の暗号生成装置
または復号装置において、前記第3データ変換部(3
5)は、前記第10スクランブル手段(37)の出力デ
ータ(CA0)を用い、当該データ(CA0)を直接、
もしくは排他的論理和、もしくは排他的論理和の組合
せ、もしくは直接と排他的論理和の組合せにて各々所定
ビット構成の制御データ(MA0、MA1)を生成す
る。
【0023】また、請求項16に記載の本発明は、請求
項11または請求項12の何れかに記載の暗号生成装置
または復号装置において、前記第4データ変換部(3
6)は、前記第12スクランブル手段(39)の出力デ
ータ(CA1)および前記第14スクランブル手段(4
1)の出力データ(CA2)および前記第13スクラン
ブル手段(40)の出力データ(CB1)および前記第
15スクランブル手段(42)の出力データ(CB2)
を用い、これらデータ(CA1、CA2、CB1、CB
2)を直接、もしくは排他的論理和、もしくは排他的論
理和の組合せ、もしくは直接と排他的論理和の組合せに
て各々所定ビット構成の制御データ(MC0、MC1、
MC2、MC3、MC4、MK0、MS0、MS1、M
S2)を生成する。
【0024】また、請求項17に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、前記スクランブル手段は、デ
ータのシフト量を示す前記制御データを入力としたデコ
ーダー(51)と、当該デコーダー(51)の出力に対
応して設けられ、前記スクランブル手段の入力データを
各々デコード出力に応じたビット数だけシフトした出力
を得るセレクター(52)を備えている。
【0025】また、請求項18に記載の本発明は、請求
項17に記載の暗号生成装置または復号装置において、
さらに、データのシフト方向を制御するデータ変換部
(53)を備えている。
【0026】また、請求項19に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、請求項17または請求項18
に記載のスクランブル手段を複数シリーズに接続して構
成した。
【0027】また、請求項20に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、前記スクランブル手段は、制
御データで指定され、前記スクランブル手段の入力デー
タを非置換または所定のビット単位で置換する複数の置
換器(61)で構成される。
【0028】また、請求項21に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、請求項20に記載のスクラン
ブル手段を複数シリーズに接続して構成した。
【0029】また、請求項22に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、前記スクランブル手段は、制
御データで指定され、前記スクランブル手段の入力デー
タを非反転または所定のビット単位で反転する反転器
(71)で構成される。
【0030】また、請求項23に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、前記請求項22に記載のスク
ランブル手段を複数シリーズに接続して構成した。
【0031】また、請求項24に記載の本発明は、請求
項1から請求項16までの何れかに記載の暗号生成装置
または復号装置において、請求項17から請求項19ま
での何れかに記載のスクランブル手段、および/または
請求項20または請求項21の何れかに記載のスクラン
ブル手段、および/または請求項22または請求項23
の何れかに記載のスクランブル手段を備えている。
【0032】また、請求項25に記載の発明は、請求項
1から請求項24までの何れかに記載の暗号生成装置ま
たは復号装置において、前記乱数(CDn)として自然
乱数を用いたことを特徴とする。
【0033】また、請求項26に記載の暗号/復号装置
は、請求項1から請求項25の何れかに記載の暗号生成
装置および復号装置を備えた暗号/複号器(81)と、
入力データバス(DB_IN)より、ブロックデータ
(BS)および暗号化されたブロックデータ(RBC
S)および共通鍵(KEY)および単数もしくは複数の
乱数(CDn)の各種データを保持し、前記暗号/復号
器(81)に出力する複数のレジスター(88)と、前
記各レジスター(88)へのデータ書き込みを制御する
デコーダー(82)を備え、ブロックデータ(BS)の
暗号化と暗号化されたブロックデータ(RBCS)の復
号化を行う。
【0034】また、請求項27に記載の本発明は、請求
項26に記載の暗号/復号装置において、さらに、書込
信号(WR)を遅延する遅延器(83)と、この遅延出
力で前記暗号/復号器(81)の暗号化出力(BCS)
を保持するレジスター(85)と復号化出力(RBS)
を保持するレジスター(84)と、これらの保持データ
の何れかを選択して出力データバス(DB_OUT)に
出力するセレクター(86)を備えている。
【0035】また、請求項28に記載の本発明は、請求
項26または請求項27の何れかに記載の暗号/復号装
置において、さらに、前記ブロックデータ(BS)もし
くは暗号化されたブロックデータ(RBCS)を任意の
ブロック単位でカウントして前記暗号/復号器(81)
に出力するカウンター(87)を備えている。
【0036】また、請求項29に記載の本発明は、請求
項28に記載の暗号/復号装置において、前記カウンタ
ー(87)は、任意の時間に、且つ任意の値に初期設定
可能とする。
【0037】また、請求項30に記載の発明は、請求項
1から請求項25の何れかに記載の暗号生成装置および
復号装置を備えた暗号/複号器(91)と、ブロックデ
ータ(BS)および暗号化されたブロックデータ(RB
CS)を保持する第11レジスター(93)と、共通鍵
(KEY)および単数もしくは複数の乱数(CDn)の
各種データを暗号化動作および復号化動作に応じてそれ
ぞれ別々に保持する暗号化用/復号化用の複数の対レジ
スター(94a/94b〜98a/98b)と、前記ブ
ロックデータ(BS)を任意のブロック単位でカウント
する第11カウンター(99a)および暗号化されたブ
ロックデータ(RBCS)を任意のブロック単位でカウ
ントする第12カウンター(99b)と、暗号化動作お
よび復号化動作に応じて前記各対レジスター(94a/
94b〜98a/98b)へのデータ書き込みと前記第
11、第12カウンター(99a、99b)のカウント
動作を制御するデコーダー(92)と、前記複数の対レ
ジスター(94a/94b〜98a/98b)と前記第
1、第2カウンター(99a、99b)に保持された各
種データを暗号化動作、或いは復号化動作に応じて選択
して、前記暗号/復号器(91)に出力する複数のセレ
クター(111〜116)を備え、且つ、暗号化動作時
には、復号化の条件設定を可能とし、また、復号化動作
時には、暗号化の条件設定を可能として、ブロックデー
タ(BS)の暗号化と暗号化されたブロックデータ(R
BCS)の復号化、および暗号化と復号化の時分割処理
を行う。
【0038】また、請求項31に記載の発明は、請求項
30に記載の暗号/復号装置において、暗号化動作時
に、前記第11レジスター(93)にブロックデータ
(BS)が保持されると共に、前記各レジスター(94
a〜98a)と前記第11カウンター(99a)への復
号化の条件設定が成され、復号化動作時に、前記第11
レジスター(93)に暗号化されたブロックデータ(B
CS)が保持されると共に、前記各レジスター(94b
〜98b)と前記第12カウンター(99b)への復号
化の条件設定が成されるよう構成される。
【0039】また、請求項32に記載の発明は、請求項
30または請求項31の何れかに記載の暗号/復号装置
において、前記第11、第12カウンター(99a、9
9b)は、任意の時間に、且つ任意の値に初期設定可能
とする。
【0040】また、請求項33に記載の発明は、請求項
30から請求項32までの何れかに記載の暗号/復号装
置において、暗号化動作時には、受信したブロックデー
タ(BS)とこのブロックデータ(BS)の暗号化デー
タ(BCS)をさらに暗号/復号器(91)で復号化し
た復号化データ(RBS)とを比較して暗号化、復号化
の検証を行うと共に、復号化動作時には、受信した暗号
化データ(RBCS)とこの暗号化データ(RBCS)
の復号化データ(RBS)をさらに暗号/復号器(9
1)で暗号化した暗号化データ(BCS)とを比較し、
暗号化、復号化の検証を行う第2比較器(106)を備
える。
【0041】また、請求項34に記載の発明は、求項3
0から請求項33までの何れかに記載の暗号/復号装置
において、さらに、乱数発生器(104)と、当該乱数
発生器(104)からの乱数(ROD)、または、受信
したブロックデータ(BS)および暗号化されたブロッ
クデータ(RBCS)の何れかを選択し、暗号化・復号
化データとして前記第11レジスター(93)に出力す
る第11セレクター(107)と、前記乱数(RO
D)、または、前記暗号/復号器(91)からの暗号化
データ(BCS)或いは復号化データ(RBS)、また
は外部データ(DA_BUS)の何れかを選択し、条件
設定データとして前記複数の対レジスター(94a/9
4b〜98a/98b)と第11、第12カウンター
(99a、99b)に出力する第12セレクター(10
8)を備える。
【0042】また、請求項35に記載の発明は、請求項
30から請求項34までの何れかに記載の暗号/復号装
置において、さらに、前記暗号/復号器(91)からの
暗号化データ(BCS)或いは復号化データ(RBS)
の同期化を行い、暗号化、または復号化出力データ(B
SD)として送出する第22レジスター(100)を備
える。
【0043】また、請求項36に記載の発明は、請求項
30から請求項35までの何れかに記載の暗号/復号装
置において、暗号化時にクリアーされる第23レジスタ
ー(101)を備え、暗号化動作時には、前記暗号/復
号器(91)からの暗号化データ(BCS)と前記第2
3レジスター(101)の出力(XBSD_0)の排他
的論理和を暗号化毎に当該第23レジスター(101)
に逐次積算し、暗号化終了時の積算データを通信エラー
の検証用に暗号化出力データ(BSD)の最後尾に添付
すると共に、復号化時にクリアーされる第24レジスタ
ー(102)と第1比較器(105)を備え、復号動作
時には、受信データと前記第24レジスター(102)
の出力(XRSD)の排他的論理和を復号化毎に当該第
24レジスター(102)に復号化終了まで逐次積算
し、この積算データと受信データの最後尾の検証用デー
タを前記第1比較器(105)で比較して通信エラーの
検証を行う。
【0044】
【発明の実施の形態】以下、図面に基づいて本発明の実
施形態を説明する。
【0045】図1は本実施形態による暗号生成装置の基
本構成を示し、図2は復号装置の基本構成を示してい
る。
【0046】図1に示すように、本実施形態の暗号生成
装置は、共通鍵を用いて所定ビット構成のブロックデー
タ(源ブロックデータ)の暗号化を行う装置であって、
固定または必要に応じて変更可能な複数ビット(本実施
形態では64ビット構成)の乱数CD0〜CD3と所定
ビットで構成される共通鍵KEYに基づいて予測および
計算不可能な暗号用乱数RNDを生成する暗号用乱数生
成部1と、この暗号用乱数RNDと共通鍵KEYに基づ
いて源ブロックデータBSを暗号化し、予測および計算
不可能な暗号化ブロックデータBCSを生成する暗号化
処理部3aと、乱数CD0〜CD3と共通鍵KEYに基
づいて暗号用乱数生成部1と暗号化処理部3aで使用す
る後述の各種制御データを生成する制御データ生成部2
とで構成される。
【0047】一方、復号装置は、共通鍵を用い、前記暗
号生成装置にて暗号化されたブロックデータの復号化を
行う装置であって、図2に示すように、前記暗号生成装
置と同様、固定または必要に応じて変更可能な複数の乱
数CD0〜CD3と共通鍵KEYに基づいて暗号用乱数
RNDを生成する暗号用乱数生成部1と、この暗号用乱
数RNDと共通鍵KEYに基づいて暗号生成装置からの
暗号化ブロックデータRBCS(ここでは、暗号生成装
置で生成された暗号化ブロックデータをBCSとし、通
信系を介して復号装置側で受信した暗号化データをRB
CSとしている)を復号化し、ブロックデータRBSを
生成する復号化処理部3bと、乱数CD0〜CD3と共
通鍵KEYに基づいて暗号用乱数生成部1および復号化
処理部3bで使用する後述の各種制御データを生成する
制御データ生成部2とで構成される。ここで、復号装置
で生成される暗号用乱数RNDは暗号生成装置にて生成
された暗号用乱数RNDと全く同じものとなる。また、
後述するが、復号化処理部3bでは、暗号化処理部3a
と全く反対の処理が行われる。
【0048】また、図3および図4に示す実施形態は、
上記構成の暗号生成装置および復号装置の各々に受信し
た源ブロックデータBS、或いは受信した暗号化ブロッ
クデータRBCSをブロック単位でカウントするカウン
ター4を付加した構成例であり、このカウンター出力
(受信ブロック数)と前記共通鍵KEYの排他的論理和
(XOR)出力XCKを新たな共通鍵(KEY)として
使用するものである。
【0049】本構成では、新たな共通鍵となるデータX
CKがカウンター4の更新毎に変化するため、これを用
いて生成される暗号用乱数RNDや各種制御データ等を
総当たりで調べることが困難となり、これにより、暗号
生成装置および復号装置の安全性(セキュリティ性)を
より一層向上することができる。
【0050】ここで、前記乱数データとして、ダイオー
ド等のホワイトノイズ、放射線等、自然現象によるラン
ダムパルスを利用して生成した自然乱数(真性乱数)を
用いることができる。自然乱数を用いることにより、乱
数出現の規則性、前後の相関性、周期性等を有しない意
外性のある暗号用乱数を得ることができ、暗号化・復号
化の安全性は飛躍的に向上する。
【0051】以下、図5〜図21に基づき、上記した暗
号生成装置および復号装置の各部の詳細を説明する。
【0052】先ず、図5に基づいて暗号化処理部3a
を、図6に基づいてこれに対応する復号化処理部3bを
説明する。図5に示すように、本実施形態の暗号処理部
3aは、第1スクランブル11、第2スクランブル1
2、第3スクランブル13、第4スクランブル14の4
個のデータスクランブル手段を備え、且つ、この暗号化
処理部3aには、スクランブル動作を制御する制御デー
タMK0、MS0〜MS2、共通鍵(KEY或いはXC
K)、乱数CD0〜CD3等が入力されている。
【0053】ここで、データのスクランブルとは、デー
タライン上の任意のデータを制御データ生成部2からの
制御データに基づいてビット方向のシフト(即ち、回
転)、或いはビット単位の置換、或いは反転を行って原
データと異なるデータに変換することを言う。
【0054】上記構成では、先ず、共通鍵(KEY或い
はXCK)が制御データMK0に基づき第1スクランブ
ル11で掻き混ぜ(スクランブル)されてデータSKE
Yが生成され、源ブロックデータBSが制御データMS
0に基づき第2スクランブル12でスクランブルされて
データSBSが生成される。これらスクランブル出力S
KEYとSBSの排他的論理和(XRO)によりデータ
XSBKを生成すると共に、データXSBKが制御デー
タMS1に基づき第3スクランブル13でスクランブル
されてデータSXSBKが生成される。次に、このデー
タSXSBKと暗号用乱数発生成部1からの暗号用乱数
RNDとの排他的論理和により、データXSXSBKR
が生成される。このデータXSXSBKRは制御データ
MS2に基づき第4スクランブル14でスクランブルさ
れて、最終的に暗号化ブロックデータBCSが生成され
る。
【0055】尚、図示しないが、この実施形態において
第1〜第4スクランブル11〜14の全てまたは一部を
削除して暗号化処理部3aを構成しても勿論構わない。
係る構成でも、入力となる共通鍵(KEY或いはXC
K)、暗号用乱数RND、各種制御データMK0、MS
0〜MS2等の意外性(予測、計算不可)により暗号化
に係わる安全性は十分確保されるものである。この場
合、後述する復号化処理部3bの構成において、暗号化
処理部3aの構成に対応して第1スクランブル11、第
2〜第4逆スクランブル15〜17の全てまたは一部が
削除される。
【0056】また、図6に示すように、本実施形態の復
号化処理部3bは、第1スクランブル11、第2逆スク
ランブル15、第3逆スクランブル16、第4逆スクラ
ンブル17を備え、且つ、復号化処理部3bには、これ
らスクランブル動作を制御する制御データMK0および
MS0〜MS2、共通鍵(KEY或いはXCK)、暗号
化データBCS、乱数RND等が入力されている。尚、
これら各種制御データは既述した暗号化処理部3aで使
用したものと全く同じデータ内容である。ここで、第2
〜第4逆スクランブル15、16、17は、上記制御デ
ータMK0およびMS0〜MS2に基づいて、これに対
応する前記暗号化処理部3aの第2〜第4スクランブル
12、13、14と全く逆のデータ掻き混ぜ動作(即
ち、データの逆スクランブル)を行うよう構成されてい
る。
【0057】上記構成では、先ず、暗号生成装置で生成
された暗号化ブロックデータBCSが制御データMS2
に基づき第4逆スクランブル17で逆スクランブルされ
てデータXSXSBKRが生成される。このデータXS
XSBKRと暗号用乱数RNDとの排他的論理和により
データSXSBKを生成すると共に、データSXSBK
が制御データMS1に基づき第3逆スクランブル16で
逆スクランブルされてデータXSBKが生成される。
【0058】次に、制御データMK0に基づき共通鍵
(KEY或いはXCK)を第1スクランブル11でスク
ランブルして得たデータSKEYとこのデータXSBK
との排他的論理和によりデータSBSが生成される。こ
のデータSBSは制御データMS0に基づき第2逆スク
ランブル15で逆スクランブルされて復号化されたブロ
ックデータBSが生成される。
【0059】次に、図7、図8に基づいて本実施形態の
暗号用乱数生成部1について説明する。
【0060】図7に示すように、本実施形態の暗号用生
成部1は、第5スクランブル21、第6スクランブル2
2、第7スクランブル23、第8スクランブル24、第
9スクランブル25の5個のスクランブル手段を備え、
且つ、この暗号用乱数生成部1には、これらのスクラン
ブル動作を制御する制御データMC0〜MC4、共通鍵
(KEY或いはXCK)、乱数CD0〜CD3等が入力
されている。
【0061】上記構成では、先ず、共通鍵(KEY或い
はXCK)と乱数CD0〜CD3との排他的論理和によ
り各々データXKC0〜XKC3を生成すると共に、こ
れらデータXKC0〜XKC3をそれぞれ第5〜第8ス
クランブル21〜24でスクランブルしデータSXKC
0〜SXKC3を生成する。尚、第5スクランブル21
は制御データMC0に基づき、第6スクランブル22は
制御データMC1に基づき、第7スクランブル23は制
御データMC2に基づき、第8スクランブル24は制御
データMC3に基づいてそれぞれのスクランブル動作を
行う。
【0062】次に、データSXKC0とデータSXKC
1の排他的論理和によりデータXSXKC01が生成さ
れ、データSXKC2とデータSXKC3の排他的論理
和によりデータXSXKC23が生成されると共に、こ
れらデータXSXKC01とデータXSXKC23の排
他的論理和で得られた最終的な単一のデータ列XSXK
C0123が制御データMC4に基づき第9スクランブ
ル25でスクランブルされて暗号用乱数RNDが生成さ
れる。
【0063】また、図8は暗号用乱数生成部1の別の実
施形態を示している。本構成は、図7における乱数CD
0〜CD3と共通鍵(KEY或いはXCK)との排他的
論理和処理を削除し、回路構成を簡略化したものであ
る。この乱数CD0〜CD3自体が予測および計算不可
能なデータ列であるから、これらを基に得られる暗号用
乱数RNDも十分な安全性(セキュリティ)を有するこ
とは勿論である。
【0064】尚、図示しないが、図7、図8の実施形態
において、第5〜第9スクランブル21〜25の全て、
または一部を削除して暗号用乱数生成部1を構成しても
勿論構わない。係る構成でも、入力となる共通鍵(KE
Y或いはXCK)、乱数CD0〜CD3、各種制御デー
タMC0〜MC4等の意外性(予測、計算不可)により
暗号化に係わる安全性は十分確保されるものである。
【0065】次に、図9および図10に基づいて本実施
形態の制御データ生成部2について説明する。
【0066】図9に示すように、本実施形態の制御デー
タ生成部2は、乱数CD0〜CD3と共通鍵(KEY或
いはXCK)を入力とし、この共通鍵(KEY或いはX
CK)をデータ変換して制御データSLA、SLB、M
R0、MR1を生成する第1データ変換部33、制御デ
ータSLAをセレクト入力とする第1セレクター31、
制御データSLBをセレクト入力とする第2セレクター
32、制御データMR0、MR1に基づいてデータのス
クランブルを行う第10スクランブル37および第11
スクランブル38、第11スクランブル38の出力デー
タCB0をデータ変換して制御データMB0、MB1を
生成する第2データ変換部34、これら制御データMB
0、MB1に基づいてデータのスクランブルを行う第1
2スクランブル39および第14スクランブル41、第
10スクランブル37の出力データCA0をデータ変換
して制御データMA0、MA1を生成する第3データ変
換部35、これら制御データMA0、MA1に基づいて
データのスクランブルを行う第13スクランブル40お
よび第15スクランブル42、第12〜第15スクラン
ブル39〜42の出力データCA1、CB1、CA2、
CB2をデータ変換して暗号化および復号化に用いる各
種制御データMC0〜MC4、MK0、MS0〜MS2
を生成する第4データ変換部36等を備える。
【0067】上記構成では、先ず、64ビット構成の乱
数CD0〜CD3の内の一つが第1セレクター31で選
択され、その選択データSCDAが第10スクランブル
37でスクランブルされてデータCA0が生成される。
また、乱数CD0〜CD3の任意の2組(本実施形態で
は、CD0とCD3、CD0とCD1、CD1とCD
2、CD2とCD3)の排他的論理和により、それぞ
れ、データXC30、XC01、XC12、XC23が
生成される。これらのデータXC30、XC01、XC
12、XC23の内の一つが第2セレクター32にて選
択されて選択データSCDBが生成され、この選択デー
タSCDBが第11スクランブル38でスクランブルさ
れてデータCB0が生成される。また、データCA0と
共通鍵(KEY或いはXCK)の排他的論理和によりデ
ータXKCAを生成し、このデータXKCAを第12ス
クランブル39でスクランブルしてデータCA1を生成
すると共に、このデータCA1を第14スクランブル4
1でスクランブルしてデータCA2を生成する。
【0068】一方、データCB0と共通鍵(KEY或い
はXCK)の排他的論理和によりデータXKCBを生成
し、このデータXKCBを第13スクランブル40でス
クランブルしてデータCB1を生成すると共に、このデ
ータCB1を第15スクランブル42でスクランブルし
てデータCB2を生成する。このようにして生成された
データCA1、CA2、CB1、CB2を第4データ変
換部36でデータ変換して制御データMC0、MC1、
MC2、MC3、MC4、MK0、MS0、MS1、M
S2が生成される。
【0069】また、図10は制御データ生成部2の別の
実施形態を示し、本構成は、図9における、共通鍵(K
EY或いはXCK)とデータCA0の排他的論理和処理
および共通鍵とデータCB0の排他的論理和を削除する
ことにより、回路構成の簡略化を図ったものである。係
る構成においても、暗号化の安全性は十分確保されるも
のである。
【0070】次に、図11〜図15に基づいて、前記制
御データ生成部2で用いた各種データ変換部の実施形態
を説明する。ここで、図11、図12、図13は第1デ
ータ変換部33の回路構成例を示し、図14は第2、第
3データ変換部34、35の回路構成例を示し、図15
は第4データ変換部36の回路構成例を示す。
【0071】図11〜図13に示すように、本実施形態
の第1データ変換部33は、例えば、16ビット構成の
共通鍵(KEY或いはXCK)を用い、各々所定ビット
構成の制御データSLA、SLB、MR0、MR1を生
成するものである。
【0072】図11の回路例では、共通鍵(KEY或い
はXCK)を構成するビット列(本実施形態では、16
ビット)をそのまま分配して各々所定ビットの制御デー
タを得るものである。即ち、共通鍵データXCK00〜
XCK13の14ビットで制御データMR0を構成し、
残りのXCK14、XCK15の2ビットで制御データ
SLAを構成する。また、共通鍵データXCK00、C
XK01の2ビットで制御データSLBを構成し、残り
のXCK02〜CXK15の14ビットで制御データM
R1を構成する。
【0073】また、図12、図13の回路は、各々共通
鍵同士の排他的論理和出力と共通鍵データを組み合わせ
ることにより、所定ビットの制御データを生成した例で
ある。因みに、図12の場合、制御データSLA、SL
Bは2ビット構成、制御データMR0、MR1は17ビ
ット構成となっている。また、図13の場合では、制御
データSLA、SLBが2ビット構成、制御データMR
0、MR1は20ビット構成である。尚、本構成では、
使用する共通鍵の構成ビット数に応じて適宜排他的論理
和を用いて各制御データの構成ビット数を調整すること
ができる。
【0074】以上の回路構成では、共通鍵データ(KY
E或いはXCK)の何れか1ビットでも変化すると、こ
の変化が何れかの制御データSLA、SLB、MR0、
MR1に反映されることになる。
【0075】図14に示すように、本実施形態の第2デ
ータ変換部34(或いは、第3データ変換部35)は、
前記第11スクランブル38の出力データCB0(例え
ば、本実施形態ではCB0_00〜CB0_63の64ビ
ット構成)を用い、データCB0同士の排他的論理和出
力とデータCB0を組み合わせることにより、20ビッ
トの制御データMB0、MB1を生成する。例えば、デ
ータCB0_00〜CB0_07で制御データMB0の下
位8ビットが構成され、データCB0_08〜CB0_3
1の相互の排他的論理和処理で上位12ビットが構成さ
れる。また、データCB0_32〜CB0_39で制御デ
ータMB1の下位8ビットが構成され、データCB0_
40〜CB0_63の相互の排他的論理和処理で上位1
2ビットが構成される。
【0076】以上の回路構成では、データCB0の何れ
か1ビットでも変化すると、この変化が何れかの制御デ
ータMB0、MB1に反映されることになる。尚、制御
データMA0、MA1を生成する第3データ変換部35
も同様の回路構成であるため説明は省略する。
【0077】図15に示すように、本実施形態の第4デ
ータ変換部36は、例えば、各々64ビット構成の前記
第12スクランブル39の出力データCA1(CA1_
00〜CA1_63)、前記第14スクランブル41の
出力データCA2(CA2_00〜CA2_63)、前記
第13スクランブル40の出力データCB1(CB1_
00〜CB1_63)、前記第15スクランブル42の
出力データCB2(CB2_00〜CB2_63)を用
い、これらのデータCA1、CA2、CB1、CB2と
各データ同士の排他的論理和出力とを組み合わせること
により、各々20ビットの制御データMC0、MC1、
MC2、MC3、MC4、MK0、MS0、MS1、M
S2を生成する。
【0078】この場合も、データCA1、CA2、CB
1、CB2の何れか1ビットでも変化すると、この変化
が何れかの制御データMC0、MC1、MC2、MC
3、MC4、MK0、MS0、MS1、MS2に反映さ
れることになる。
【0079】次に、図16〜図21に基づいて暗号化処
理部3a、復号化処理部3b、暗号用乱数生成部1、制
御データ生成部2等で用いたデータのスクランブル手段
(第1〜第15スクランブル)および逆スクランブル手
段(第2〜第4逆スクランブル)の実施形態を説明す
る。
【0080】図16および図17は、データのシフト操
作(回転)によるスクランブルを示し、例えば、図16
は第1〜第15スクランブル11〜14、21〜25、
37〜42に適用することができる。この実施形態のス
クランブルは、データのシフト量を示すデータRTDを
デコードするデコーダー51とこのデコード出力に対応
して設けたn個のセレクター52で構成される。
【0081】各セレクター(0)〜(n−1)には、デ
ータDT(例えば、32ビット)を各々デコード出力に
対応したビット数分シフトさせたデータ列が並列に入力
されており、デコード出力により各セレクター(0)〜
(n−1)内のデータ列32ビットの内の1ビットをセ
レクトできるように構成されている。従って、シフト量
データRTDを受信すると各デコーダーからはデコード
出力に応じたビット位置の1ビットが並列に出力され、
nビットのスクランブルデータDR(DR_0〜DR_n
-1)を生成する。
【0082】また、上記構成において、上記と全く反対
にシフトするようなシフト量データRTDを入力するこ
とにより、第2〜第4逆スクランブル15〜17として
動作させることができる。係るデータシフト方向(右シ
フト、左シフト)の制御は、データのシフト動作をデー
タの回転動作と見なし、図17に示すように、データR
TDの値をデータ変換部53によりシフト方向に応じて
変換することにより簡単に実現することができる。
【0083】また、上記図16、図17のデータシフト
操作によるスクランブルを複数シリーズに接続して各々
スクランブル手段や逆スクランブル手段を構成しても良
い。
【0084】図18および図19、はデータの置換操作
によるスクランブルを示し、例えば、図18は第1〜第
15スクランブル11〜14、21〜25、37〜42
に適用することができる。
【0085】この実施形態のスクランブルは、入力デー
タDEmの置換を行う複数の置換器61a1〜61am
とインバータをはさんで各々に対応して設けた複数の非
置換器61b1〜61bmで構成される第1置換器61
を有する。制御データSE0(SE0_1〜SE0_m)
の極性("0"/"1")により置換器とこれに対応する非
置換器のどちらか一方が指定(有効となる)される。置
換するビット単位は、例えば、1ビット毎、2ビット
毎、4ビット毎、8ビット毎、32ビット毎といったよ
うに構成することができ、前記制御データSE0_1〜
SE0_mの各々により、暗号化(復号化)のビット数
に応じて上記ビット単位の何れかが選択され、スクラン
ブルデータDE0を生成する。
【0086】例えば、上記構成で制御データSE0_1
がアクティブ("0")になると(この場合、他の制御デ
ータSE0_2〜SE0_mは"1"とする)置換器61a
1により、入力データDEmは1ビット毎に置換され
る。また、制御データSE0_2がアクティブになると
(この場合、他の制御データは全て"1"とする)置換器
61a2により、入力データDEmは2ビット毎に置換
される。
【0087】一方、図19に示す実施形態は、例えば、
第2〜第4逆スクランブル15〜17に適用することが
でき、入力データDR0の置換を行う複数の置換器62
a1〜62amとインバータをはさんで各々に対応して
設けた複数の非置換器62b1〜62bmで構成される
第2置換器62を有する。制御データSR0(SR0_
1〜SR0_m)の極性により、置換器とこれに対応す
る非置換器のどちらかが指定される。置換するビット単
位は、例えば、1ビット毎、2ビット毎、4ビット毎、
8ビット毎、32ビット毎といったように構成すること
ができ、前記制御データSR0_1〜SR0_mにより復
号化(暗号化)のビット数に応じて何れかが選択され、
スクランブルデータDRmを生成する。
【0088】構成は、前記第1置換器61と同じである
が、既述したように、本実施例を第2〜第4逆スクラン
ブル15〜17として位置づけるために、各々置換器お
よび非置換器の並びを前記第1置換器61と全く逆にし
てある。但し、第1置換器61と第2置換器62では、
同じビット毎のデータ置換が成されるよう、各制御デー
タSE0、SR0が設定される必要がある。
【0089】また、上記図18、図19のデータ置換操
作によるスクランブルを複数シリーズに接続して各々ス
クランブル手段や逆スクランブル手段を構成しても良
い。
【0090】図20および図21は、データの反転操作
によるスクランブルを示し、例えば、図20は第1〜第
15スクランブル11〜14、21〜25、37〜42
に適用することができる。
【0091】この実施形態のスクランブルは、複数のX
ORゲートにより構成される複数の反転回路ブロック7
1_1〜71_mを構えた反転器71を有する。各々反転
回路ブロックの各XORゲート入力の一方に制御データ
SI0(SI0_1〜SI0_m)を入力し、各制御デー
タの極性("0"/"1")により、入力データDIm_B
USの反転、非反転を制御する。反転するビット単位
が、例えば、1ビット毎、2ビット毎、4ビット毎、8
ビット毎、32ビット毎となるように各反転回路ブロッ
クが構成されており、前記制御データSI0_1〜SI
0_mにより暗号化(復号化)のビット数に応じて上記
ビット単位の何れかが選択され、スクランブルデータD
I0を生成する。
【0092】一方、図21に示す実施形態は、例えば、
第2〜第4逆スクランブル15〜17に適用することが
でき、複数のXORゲートにより構成される複数の反転
回路ブロック72_1〜72_mを備えた反転器72を有
する。各々反転回路ブロックの各ゲート入力の一方に制
御データSB0(SB0_1〜SB0_m)を入力し、そ
の極性("0"/"1")により、入力データDB0の反
転、非反転を制御する。反転するビット単位は、例え
ば、1ビット毎、2ビット毎、4ビット毎、8ビット
毎、32ビット毎といったように各反転回路ブロックが
構成されており、前記制御データSB0_1〜SB0_m
により復号化(暗号化)のビット数に応じて上記の何れ
かが選択され、スクランブルデータDBmを生成する。
【0093】構成は、前記反転器71と同じであるが、
既述したように、本実施例を第2〜第4逆スクランブル
15〜17として位置づけるために、各々反転回路ブロ
ックの並びを反転器71と全く逆にしてある。但し、反
転器71と反転器72では、同じビット毎のデータ反転
が成されるよう、各制御データSI0、SB0が設定さ
れる必要がある。
【0094】また、上記図20、図21のデータ反転操
作によるスクランブルを複数シリーズに接続して各々ス
クランブル手段や逆スクランブル手段を構成しても良
い。また、以上説明したデータのシフト操作によるスク
ランブル、データの置換操作によるスクランブル、デー
タの反転操作による各スクランブルを任意に合成してス
クランブル手段、或いは逆スクランブル手段とすること
も勿論可能である。
【0095】次に図22に基づいて本実施形態の暗号/
復号装置の構成を説明する。この暗号/復号装置80
は、以上説明してきた暗号生成装置および復号装置の機
能を備えた暗号/複号器81を有し、その周辺回路とし
て、入力データバスDB_INより、ブロックデータB
Sおよび暗号化されたブロックデータRBCSおよび共
通鍵KEYおよび乱数CDn(共通サブ鍵)の各データ
を保持する第1〜第7レジスター88_1〜88_7とこ
れら第1〜第7レジスター88_1〜88_7へのデータ
書き込みを制御するデコーダー82と、入力データのブ
ロック数をカウントするカウンター87と、暗号/復号
器81の暗号化データBCSを保持する第8レジスター
85と復号化データRBSを保持する第9レジスター8
4と、これらレジスターの書き込みタイミングを制御す
る遅延器83と、これらの保持データの何れかを選択す
るセレクター86等を備える。
【0096】上記構成では、入力データバスDB_IN
を介して送信側(例えば、パソコン等)より送信される
ブロックデータBS、暗号化ブロックデータRBCS、
共通鍵KEY、乱数CDn等の一連のデータは、デコー
ダー82でデコードされた書き込み選択信号WAに基づ
いて書き込み信号WRのタイミングにて第1〜第7レジ
スター88_1〜88_7の内の所定のレジスターに保持
される。即ち、第1レジスター88_1にブロックデー
タBSが第2レジスター_2に暗号化ブロックデータR
BCSが、第3レジスター88_3に共通鍵KEYが、
第4〜第7レジスター88_4〜88_7にそれぞれ乱数
CD0〜CD3がセットされる。
【0097】同時に、入力された各データの内、ブロッ
クデータBSと暗号化ブロックデータRBCSは、カウ
ンター87によりブロック単位でカウントされる。この
カウンター87はキャリーイン(C_IN)端子を有し、
外部制御信号C_INの"1"/"0"により、カウント動
作の開始および停止を任意に制御して所望のブロック単
位にてカウントできるようになっており、加えて、付設
のロード端子(LOAD)、或いはクリアー端子(CL
R)を利用してカウンター87の初期状態をデコーダー
82の出力に基づいて任意のタイミングで任意の値にセ
ットすることもできるようになっている。
【0098】これらレジスター群の出力はそれぞれ暗号
/復号器81に付設の所定の入力部BS、RBCS、K
EY、CD0〜CD3、COUNTに入力され、既述の
ように、これら各データに基づいてブロックデータの暗
号化、或いは暗号化ブロックデータの復号化が行われ
る。
【0099】また、暗号/復号器81からの暗号化ブロ
ックデータBCS、或いは復号化ブロックデータRBS
は、一旦、各々対応する第8レジスター85、或いは第
9レジスター84にセットされ(この際、書き込み信号
WRを遅延器83にて遅延して各出力のセットタイミン
グを同期させている)、セレクター86により出力選択
信号RAに基づいて、暗号化或いは復号化の何れかのデ
ータが選択されて、出力データバスDB_OUTに出力
され、図示しない送信側(例えば、パソコン)に送信さ
れる。
【0100】次に、図23に基づいて、図22とは別の
暗号/復号装置の実施形態を説明する。この暗号/復号
装置90は、図22と同様の暗号生成装置および復号装
置の機能を備えた暗号/複号器91を有し、その入力側
に、ブロックデータBSや暗号化されたブロックデータ
RBCSを保持する第11レジスター93、共通鍵KE
Yや乱数CD0〜CD3(共通サブ鍵)を保持する複数
組みの対レジスター94a/94b〜98a/98b、
ブロックデータBSをブロック単位でカウントする第1
1カウンター99a、暗号化されたブロックデータRB
CSをブロック単位でカウントする第12カウンター9
9b等を有する。
【0101】前記乱数CD0〜CD3は内蔵の乱数発生
器104から得られ、またブロックデータBSや暗号化
されたブロックデータRBCS、共通鍵KEY、或いは
第11、第12カウンター99a、99bへのカウンタ
ー初期設定データ等はデータバスDA_BUSにより一
連のデータ流れの中で外部機器より入力される。デコー
ダー92は、このデータバスDA_BUSの各種データ
を暗号化動作/復号化動作を示す選択信号SELECT
とレジスター、カウンターの選択信号AD0〜AD3に
基づいてそれぞれ対応する第12〜第21レジスター9
4a/94b〜98a/98bへ割り振り・セットする
と共に、第11カウンター99aと第12カウンター9
9bのカウント動作を制御する。尚、この第11、第1
2カウンター99a、99bはそれぞれキャリーイン
(C_IN)端子を有し、外部制御信号C_INの"1"/"
0"により、カウント動作の開始或いは停止を任意に制
御して所望のブロック単位にてカウントできるようにな
っており、加えて、付設のロード端子、或いはクリアー
端子を利用して各カウンターの初期状態を前記デコーダ
ー92の出力に基づいて任意のタイミングで任意の値に
セットすることもできるようになっている。
【0102】図24に示すように、暗号化動作時には、
第12レジスター94aに暗号化動作用の共通鍵KEY
(KEY_0)がセットされ、第14レジスター95
a、第16レジスター96a、第18レジスター97
a、第20レジスター98aに暗号化動作用の乱数CD
0〜CD3(CD0_0〜CD3_0)がセットされ、第
11カウンター99aがクリアー(または、暗号化動作
用の初期設定データがセット)される。一方、この状態
で、他方の第13レジスター94b、第15レジスター
95b、第17レジスター96b、第19レジスター9
7b、第21レジスター98b、第12カウンター99
bには、復号化動作用の各種条件設定データ(共通鍵、
乱数、カウンターの初期設定データ)がセットされる。
また、復号化動作時には、第13レジスター94bに復
号化動作用の共通鍵KEY(KEY_1)がセットさ
れ、第15レジスター95b、第17レジスター96
b、第19レジスター97b、第21レジスター98b
に復号化動作用の乱数CD0〜CD3(CD0_1〜C
D3_1)がセットされ、第12カウンター99bがク
リアー(または、復号化動作の初期設定データがセッ
ト)される。一方、この状態で、他方の第12レジスタ
ー94a、第14レジスター95a、第16レジスター
96a、第18レジスター97a、第20レジスター9
8a、第11カウンター99aには、暗号化動作用の各
種条件設定データがセットされる。
【0103】そして、複数の対レジスター94a/94
b〜98a/98bや第1、第2カウンター99a、9
9bにセットされた各種データは、暗号化/復号化の選
択信号SELECTをセレクト入力とする第15〜第2
0セレクター111〜116により暗号化動作、或いは
復号化動作に応じてa(暗号化)またはb(復号化)の
何れかが選択されて、暗号/復号器91に付設の各入力
端子RBCS、BS、KEY、CD0〜CD3、CNT
に出力される。
【0104】このように、本実施形態では、一連の暗号
化動作の中で次の復号化動作の条件設定が成され、ま
た、一連の復号化動作の中で次の暗号化動作の条件設定
が成されるように構成されているので、暗号化と復号化
において効率的な時分割処理が可能となる。
【0105】また、本実施形態では、入力選択信号SE
0、SE1をセレクト入力とする第11セレクター10
7、および第12セレクター108を有している。第1
1セレクター107では、データバスDA_BUS上の
データ(外部データ)、または乱数発生器104の乱数
RODの何れかが入力選択信号SE1で選択されて暗号
化、或いは復号化のデータとして前記第11レジスター
93に出力される。また、第12セレクター108にお
いては、データバスDA_BUS上のデータ、または乱
数発生器104の乱数ROD、または選択信号SELE
CTをセレクト入力とする第21セレクター117で選
択された暗号/復号器91の暗号化データBCS或いは
復号化データRBSの何れかが入力選択信号SE0、S
E1で選択されて各種条件設定データとして第12〜第
21レジスター94a/94b〜98a/98bと第1
1、第12カウンター99a、99bに出力される。
【0106】前記第21セレクター117の選択出力
(暗号化データBCS或いは復号化データRBS)は、
一旦、第22レジスター100に所定のタイミングでセ
ットされ、同期化された暗号化/復号化データBSDを
得る。
【0107】さらに、本実施形態では、選択信号SEL
ECTをセレクト入力とする第13セレクター109,
第14セレクター110、第22セレクター118、第
2比較器106を有し、暗号化/復号化の検証を行うよ
うに構成されている。即ち、暗号化動作時は、第13セ
レクター109は第11レジスター93からの入力デー
タ(ブロックデータBS)を選択し、第14セレクター
110は暗号/復号器91からの暗号化データBCSを
選択し、第22セレクター118は暗号化データBCS
をさらに暗号/復号器91で復号化した復号化データR
BSを選択し、第2比較器106は第22セレクター1
18で選択した復号化データRBSと前記入力データ
(ブロックデータBS)を比較する。両者が一致しない
場合は、エラー信号CHECK_1を送出する。一方、
復号化動作時は、第14セレクター110は第11レジ
スター93からの入力データ(暗号化データRBCS)
を選択し、第13セレクター109は暗号/復号器91
からの復号化データRBSを選択し、第22セレクター
118は復号化データRBSをさらに暗号/復号器91
で暗号化した暗号化データBCSを選択し、第2比較器
106はこの暗号化データBCSと前記入力データ(暗
号化データRBCS)を比較する。両者が一致しない場
合は、エラー信号CHECK_1を送出する。このよう
にして、暗号化、復号化の検証が行われる。
【0108】さらに、本実施形態では、第23レジスタ
ー101、第24レジスター102、第25レジスター
103、第1比較器105を有し、通信エラーの検証を
行うように構成されている。即ち、図24に示すよう
に、暗号化動作時は、先ず、第23レジスター101を
初期化しておき、暗号化毎に暗号/復号器91からの暗
号化データBCSとこの第23レジスター101の出力
XBSD_0を逐次排他的論理和演算して第23レジス
ター101に積算し、この積算データXBSD_0を第
25レジスター103で1クロック(即ち1ブロック)
遅延して出力データXBSD_1を得、暗号化出力デー
タ列BSD(0)〜BSD(n−1)のフレームの最後
尾に検証用データとして添付する。従って、転送フレー
ムの総ブロック数は(n+1)となる。一方、復号化動
作時は、先ず、第24レジスター102を初期化してお
き、復号化毎に第11レジスター93からの受信データ
と第24レジスター102の出力データXRSDを逐次
排他的論理和演算して復号化終了(受信ブロック数n)
まで第24レジスター102に積算し、この積算データ
XRSDと前記暗号化されたデータ列のフレームの最後
尾に添付された検証用データ(XBSD_1)を第1比
較器105で比較し、両者が一致しない場合は転送エラ
ー信号CHECK_0を送出する。このようにして、送
受信における通信エラーの検証が行われる。
【0109】
【発明の効果】以上説明したように、本発明によれば、
共通鍵と乱数により生成したデータスクランブル用の制
御データに基づいて共通鍵と乱数から予測および計算不
可能な新たな暗号用乱数を生成し、この乱数を用いてブ
ロックデータ(平文の)暗号化および暗号化ブロックデ
ータの復号化を行ったので、優れた安全性を有する暗号
化および復号化が実現できる。加えて、前記乱数とし
て、自然現象によるランダムパルスを利用して生成した
自然乱数(真性乱数)を用いたので、乱数出現の規則
性、前後の相関性、周期性等を有しない意外性のある暗
号用乱数を得ることができ、よって、安全性(セキュリ
ティ)はより一層向上する。
【0110】また、暗号化および復号化を行うためのデ
ータのスクランブル動作を全てゲート回路によるビット
操作で実現したので、高価な専用LSIや高速プロセッ
サを用いることなく処理速度の高速化が図れるようにな
る。
【図面の簡単な説明】
【図1】本発明の暗号生成装置の基本構成を示すブロッ
ク図。
【図2】本発明の復号装置の基本構成を示すブロック
図。
【図3】図1と別の暗号生成装置の基本構成を示すブロ
ック図。
【図4】図2と別の復号装置の基本構成を示すブロック
図。
【図5】暗号化処理部の構成を示すブロック図。
【図6】復号化処理部の構成を示すブロック図。
【図7】暗号用乱数生成部の構成を示すブロック図。
【図8】図7と別の暗号用乱数生成部の構成を示す図。
【図9】制御データ生成部の構成を示すブロック図。
【図10】図9と別の制御データ生成部の構成を示すブ
ロック図。
【図11】第1データ変換部の回路図。
【図12】図11と別の第1データ変換部の回路図。
【図13】図12と別の第1データ変換部の回路図。
【図14】第2データ変換部或いは第3データ変換部の
回路図。
【図15】第4データ変換部の回路図。
【図16】データのスライドを示すブロック図。
【図17】図16と別のデータのスライドを示すブロッ
ク図。
【図18】データの置換を示すブロック図。
【図19】図18と別のデータの置換を示すブロック
図。
【図20】データの反転を示す回路図。
【図21】図20と別のデータの反転を示す回路図。
【図22】本発明の暗号/復号装置の基本構成を示すブ
ロック図。
【図23】本発明の図22と別の暗号/復号装置の基本
構成を示すブロック図。
【図24】暗号化動作および復号化動作を示すフローチ
ャート。
【符号の説明】
1 暗号用乱数生成部 2 制御データ生成部 3a 暗号化処理部 3b 復号化処理部 4 カウンター 11 第1スクランブル手段(第1スクランブル) 12 第2スクランブル手段(第2スクランブル) 13 第3スクランブル手段(第3スクランブル) 14 第4スクランブル手段(第4スクランブル) 15 第2逆スクランブル手段(第2逆スクランブル) 16 第3逆スクランブル手段(第3逆スクランブル) 17 第4逆スクランブル手段(第4逆スクランブル) 21 第5スクランブル手段(第5スクランブル) 22 第6スクランブル手段(第6スクランブル) 23 第7スクランブル手段(第7スクランブル) 24 第8スクランブル手段(第8スクランブル) 25 第9スクランブル手段(第9スクランブル) 31 第1セレクター 32 第2セレクター 33 第1データ変換部 34 第2データ変換部 35 第3データ変換部 36 第4データ変換部 37 第10スクランブル手段(第10スクランブル) 38 第11スクランブル手段(第11スクランブル) 39 第12スクランブル手段(第12スクランブル) 40 第13スクランブル手段(第13スクランブル) 41 第14スクランブル手段(第14スクランブル) 42 第15スクランブル手段(第15スクランブル) 51 デコーダー 52 セレクター群 53 データ変換部 61、62 置換器 71、72 反転器 80 暗号/復号装置 81 暗号/復号器 82 デコーダー 83 遅延器 84 第9レジスター 85 第8レジスター 86 セレクター 87 カウンター 90 暗号/復号装置 91 暗号/復号器 93 第11レジスター 94a 第12レジスター 94b 第13レジスター 95a 第14レジスター 95b 第15レジスター 96a 第16レジスター 96b 第17レジスター 97a 第18レジスター 97b 第19レジスター 98a 第20レジスター 98b 第21レジスター 99a 第11カウンター 99b 第12カウンター 100 第22レジスター 101 第23レジスター 102 第24レジスター 103 第25レジスター 104 乱数発生器 105 第1比較器 106 第2比較器 107 第11セレクター 108 第12セレクター 109 第13セレクター 110 第14セレクター 111 第15セレクター 112 第16セレクター 113 第17セレクター 114 第18セレクター 115 第19セレクター 116 第20セレクター 117 第21セレクター 118 第22セレクター
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アナンダ ビターナゲ 東京都港区新橋5丁目36番11号 エフ・デ ィー・ケイ株式会社内 (72)発明者 清水 隆邦 東京都港区新橋5丁目36番11号 エフ・デ ィー・ケイ株式会社内 (72)発明者 鯉渕 美佐子 東京都港区新橋5丁目36番11号 エフ・デ ィー・ケイ株式会社内 Fターム(参考) 5J104 AA18 EA04 EA18 FA10 JA03 NA02 NA22

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】 共通鍵(KEY)を用いてブロックデー
    タ(BS)の暗号化を行う暗号生成装置であって、 単数もしくは複数の乱数(CDn)と前記共通鍵(KE
    Y)を用いて暗号用乱数(RND)を生成する暗号用乱
    数生成部(1)と、 前記共通鍵(KEY)と前記暗号用乱数(RND)を用
    いて前記ブロックデータ(BS)を暗号化し、暗号化ブ
    ロックデータ(BCS)を生成する暗号化処理部(3
    a)と、 前記乱数(CDn)と前記共通鍵(KEY)を用いて前
    記暗号用乱数生成部(1)および前記暗号化処理部(3
    a)で使用する各種制御データを生成する制御データ生
    成部(2)を備えることを特徴とする暗号生成装置。
  2. 【請求項2】 共通鍵(KEY)を用いて請求項1に記
    載の暗号生成装置で暗号化されたブロックデータ(RB
    CS)の復号化を行う復号装置であって、 単数もしくは複数の乱数(CDn)と前記共通鍵(KE
    Y)を用いて暗号用乱数(RND)を生成する暗号用乱
    数生成部(1)と、 前記共通鍵(KEY)と前記暗号用乱数(RND)を用
    いて前記暗号化ブロックデータ(RBCS)を復号化
    し、ブロックデータ(RBS)を生成する復号化処理部
    (3b)と、 前記乱数(CDn)と前記共通鍵(KEY)を用いて前
    記暗号用乱数生成部(1)および前記復号化処理部(3
    b)で使用する各種制御データを生成する制御データ生
    成部(2)を備えることを特徴とする復号装置。
  3. 【請求項3】 前記ブロックデータ(BS)のブロック
    数と前記共通鍵(KEY)の排他的論理和出力(XC
    K)を共通鍵として使用する請求項1に記載の暗号生成
    装置。
  4. 【請求項4】 前記暗号化ブロックデータ(RBCS)
    のブロック数と前記共通鍵(KEY)の排他的論理和出
    力(XCK)を共通鍵として使用する請求項2に記載の
    復号装置。
  5. 【請求項5】 前記暗号化処理部(3a)は、前記制御
    データ生成部(2)からの制御データに基づいてデータ
    の掻き混ぜを行うスクランブル手段を有する請求項1ま
    たは請求項3の何れかに記載の暗号生成装置。
  6. 【請求項6】 前記暗号化処理部(3a)は、第1から
    第4のデータスクランブル手段(11、12、13、1
    4)を有し、 前記制御データ(MK0)に基づいて前記共通鍵(KE
    Y)を前記第1スクランブル手段(11)で掻き混ぜし
    たデータ(SKEY)と、前記制御データ(MS0)に
    基づいて前記ブロックデータ(BS)を前記第2スクラ
    ンブル手段(12)で掻き混ぜしたデータ(SBS)と
    の排他的論理和でデータ(XSBK)を生成し、 当該データ(XSBK)を前記制御データ(MS1)に
    基づいて前記第3スクランブル手段(13)で掻き混ぜ
    したデータ(SXSBK)と、前記暗号用乱数(RN
    D)との排他的論理和で得たデータ(XSXSBKR)
    を前記制御データ(MS2)に基づいて前記第4スクラ
    ンブル手段(14)で掻き混ぜして前記暗号化ブロック
    データ(BCS)を生成する請求項1または請求項3の
    何れかに記載の暗号生成装置。
  7. 【請求項7】 前記復号化処理部(3b)は、前記制御
    データ生成部(2)からの制御データに基づいて請求項
    5に記載のスクランブル手段と全く逆のデータの掻き混
    ぜを行う逆スクランブル手段を有する請求項2または請
    求項4の何れかに記載の暗号生成装置。
  8. 【請求項8】 前記復号処理部(3b)は、請求項6に
    記載の第1スクランブル手段(11)と請求項6に記載
    の第2から第4スクランブル手段(12、13、14)
    と逆の掻き混ぜを行う第2から第4の逆スクランブル手
    段(15、16、17)を有し、 前記制御データ(MS2)に基づいて前記暗号化ブロッ
    クデータ(BCS)を前記第4逆スクランブル(17)
    で掻き混ぜしたデータ(XSXSBKR)と、前記暗号
    用乱数(RND)との排他的論理和で得たデータ(SX
    SBK)を前記制御データ(MS1)に基づいて前記第
    3逆スクランブル手段(16)で掻き混ぜしてデータ
    (XSBK)を生成し、 当該データ(XSBK)と、前記制御データ(MK0)
    に基づいて前記共通鍵(KEY)を前記第1スクランブ
    ル手段(11)で掻き混ぜしたデータ(SKEY)との
    排他的論理和で得たデータ(SBS)を前記制御データ
    (MS0)に基づいて前記第2逆スクランブル手段(1
    5)で掻き混ぜしてブロックデータ(BS)を生成する
    請求項2または請求項4の何れかに記載の復号装置。
  9. 【請求項9】 前記暗号用乱数生成部(1)は、前記制
    御データ生成部(2)からの制御データ(MCn)に基
    づいてデータの掻き混ぜを行う単数もしくは複数のスク
    ランブル手段を有し、 前記共通鍵(KEY)と前記単数もしくは複数の乱数
    (CDn)との排他的論理和で各々データ(XKCn)
    を生成すると共に、当該データ(XKCn)を前記スク
    ランブル手段で掻き混ぜしてデータ(SXKCn)を生
    成し、 各データ(SXKCn)同士の排他的論理和処理を単一
    のデータ列が得られるまで繰り返し行い、最終的に得ら
    れた単一のデータ列を前記スクランブル手段で掻き混ぜ
    して暗号用乱数(RND)を生成する請求項1から請求
    項8までの何れかに記載の暗号生成装置または復号装
    置。
  10. 【請求項10】 前記暗号用乱数生成部(1)は、前記
    制御データ生成部(2)からの制御データ(MCn)に
    基づいてデータの掻き混ぜを行う単数もしくは複数のス
    クランブル手段を有し、 前記単数もしくは複数の乱数(CDn)を各々前記スク
    ランブル手段で掻き混ぜしてデータ(SXKCn)を生
    成し、 各データ(SXKCn)同士の排他的論理和処理を単一
    のデータ列が得られるまで繰り返し行い、最終的に得ら
    れた単一のデータ列を前記スクランブル手段で掻き混ぜ
    して暗号用乱数(RND)を生成する請求項1から請求
    項8までの何れかに記載の暗号生成装置または復号装
    置。
  11. 【請求項11】 前記制御データ生成部(2)は、前記
    共通鍵(KEY)より制御データ(SLA、SLB、M
    R0、MR1)を生成する第1データ変換部(33)
    と、前記制御データ(SLA)をセレクト入力とする第
    1セレクター(31)と前記制御データ(SLB)をセ
    レクト入力とする第2セレクター(32)と、前記制御
    データ(MR0、MR1)に基づいてデータの掻き混ぜ
    を行う第10、第11スクランブル手段(37、38)
    と、前記第11スクランブル手段(38)の出力データ
    より制御データ(MB0、MB1)を生成する第2デー
    タ変換部(34)と、前記制御データ(MB0、MB
    1)に基づいてデータの掻き混ぜを行う第12、第14
    スクランブル手段(39、41)と、前記第10スクラ
    ンブル手段(37)の出力データより制御データ(MA
    0、MA1)を生成する第3データ変換部(35)と、
    前記制御データ(MA0、MA1)に基づいてデータの
    掻き混ぜを行う第13、第15スクランブル手段(4
    0、42)と、前記第12から第15スクランブル手段
    の出力データより暗号化、復号化に用いる各種制御デー
    タを生成する第4データ変換部(36)を有し、 前記単数もしくは複数の乱数(CDn)の内の一つを前
    記第1セレクター(31)にて選択し、その選択データ
    (SCDA)を前記第10スクランブル手段(37)で
    掻き混ぜてデータ(CA0)を生成すると共に、前記乱
    数(CDn)の任意の2組の排他的論理和の内の一つを
    前記第2セレクター(32)にて選択し、その選択デー
    タ(SCDB)を前記第11スクランブル手段(38)
    で掻き混ぜてデータ(CB0)を生成し、 前記共通鍵(KEY)と前記データ(CA0)の排他的
    論理和でデータ(XKCA)を生成し、前記第12スク
    ランブル(39)で掻き混ぜてデータ(CA1)を生成
    すると共に、このデータ(CA1)を前記第14スクラ
    ンブル手段(41)で掻き混ぜてデータ(CA2)を生
    成し、 前記共通鍵(KEY)と前記データ(CB0)の排他的
    論理和でデータ(XKCB)を生成し、前記第13スク
    ランブル(40)で掻き混ぜしてデータ(CB1)を生
    成すると共に、このデータ(CB1)を前記第15スク
    ランブル手段(42)で掻き混ぜしてデータ(CB2)
    を生成し、 前記データ(CA1、CA2、CB1、CB2)より前
    記第4データ変換部(36)にて制御データ(MC0、
    MC1、MC2、MC3、MC4、MK0、MS0、M
    S1、MS2)を生成する請求項1から請求項10まで
    の何れかに記載の暗号生成装置または復号装置。
  12. 【請求項12】 前記制御データ生成部(2)は、前記
    共通鍵(KEY)より制御データ(SLA、SLB、M
    R0、MR1)を生成する第1データ変換部(33)
    と、前記制御データ(SLA)をセレクト入力とする第
    1セレクター(31)と前記制御データ(SLB)をセ
    レクト入力とする第2セレクター(32)と、前記制御
    データ(MR0、MR1)に基づいてデータの掻き混ぜ
    を行う第10、第11スクランブル手段(37、38)
    と、前記第11スクランブル手段(38)の出力データ
    より制御データ(MB0、MB1)を生成する第2デー
    タ変換部(34)と、前記制御データ(MB0、MB
    1)に基づいてデータの掻き混ぜを行う第12、第14
    スクランブル手段(39、41)と、前記第10スクラ
    ンブル手段(37)の出力データより制御データ(MA
    0、MA1)を生成する第3データ変換部(35)と、
    前記制御データ(MA0、MA1)に基づいてデータの
    掻き混ぜを行う第13、第15スクランブル手段(4
    0、42)と、前記第12から第15スクランブル手段
    の出力データより暗号化、復号化に用いる各種制御デー
    タを生成する第4データ変換部(36)を有し、 前記単数もしくは複数の乱数(CDn)の内の一つを前
    記第1セレクター(31)にて選択し、その選択データ
    (SCDA)を前記第10スクランブル手段(37)で
    掻き混ぜてデータ(CA0)を生成すると共に、前記乱
    数(CDn)の任意の2組の排他的論理和の内の一つを
    前記第2セレクター(32)にて選択し、その選択デー
    タ(SCDB)を前記第11スクランブル手段(38)
    で掻き混ぜてデータ(CB0)を生成し、 また、前記データ(CA0)を前記第12スクランブル
    (39)で掻き混ぜてデータ(CA1)を生成すると共
    に、このデータ(CA1)を前記第14スクランブル手
    段(41)で掻き混ぜてデータ(CA2)を生成し、 前記データ(CB0)を前記第13スクランブル(4
    0)で掻き混ぜしてデータ(CB1)を生成すると共
    に、このデータ(CB1)を前記第15スクランブル手
    段(42)で掻き混ぜしてデータ(CB2)を生成し、 前記データ(CA1、CA2、CB1、CB2)より前
    記第4データ変換部(36)にて制御データ(MC0、
    MC1、MC2、MC3、MC4、MK0、MS0、M
    S1、MS2)を生成する請求項1から請求項10まで
    の何れかに記載の暗号生成装置または復号装置。
  13. 【請求項13】 前記第1データ変換部(33)は、前
    記共通鍵(KEY)を用い、当該共通鍵(KEY)を直
    接、もしくは排他的論理和、もしくは排他的論理和の組
    合せ、もしくは直接と排他的論理和の組合せにて各々所
    定ビット構成の制御データ(SLA、SLB、MR0、
    MR1)を生成する請求項11または請求項12の何れ
    かに記載の暗号生成装置または復号装置。
  14. 【請求項14】 前記第2データ変換部(34)は、前
    記第11スクランブル手段(38)の出力データ(CB
    0)を用い、当該データ(CB0)を直接、もしくは排
    他的論理和、もしくは排他的論理和の組合せ、もしくは
    直接と排他的論理和の組合せにて各々所定ビット構成の
    制御データ(MB0、MB1)を生成する請求項11ま
    たは請求項12の何れかに記載の暗号生成装置または復
    号装置。
  15. 【請求項15】 前記第3データ変換部(35)は、前
    記第10スクランブル手段(37)の出力データ(CA
    0)を用い、当該データ(CA0)を直接、もしくは排
    他的論理和、もしくは排他的論理和の組合せ、もしくは
    直接と排他的論理和の組合せにて各々所定ビット構成の
    制御データ(MA0、MA1)を生成する請求項11ま
    たは請求項12の何れかに記載の暗号生成装置または復
    号装置。
  16. 【請求項16】 前記第4データ変換部(36)は、前
    記第12スクランブル手段(39)の出力データ(CA
    1)および前記第14スクランブル手段(41)の出力
    データ(CA2)および前記第13スクランブル手段
    (40)の出力データ(CB1)および前記第15スク
    ランブル手段(42)の出力データ(CB2)を用い、
    これらデータ(CA1、CA2、CB1、CB2)を直
    接、もしくは排他的論理和、もしくは排他的論理和の組
    合せ、もしくは直接と排他的論理和の組合せにて各々所
    定ビット構成の制御データ(MC0、MC1、MC2、
    MC3、MC4、MK0、MS0、MS1、MS2)を
    生成する請求項11または請求項12の何れかに記載の
    暗号生成装置または復号装置。
  17. 【請求項17】 前記スクランブル手段は、データのシ
    フト量を示す前記制御データを入力としたデコーダー
    (51)と、当該デコーダー(51)の出力に対応して
    設けられ、前記スクランブル手段の入力データを各々デ
    コード出力に応じたビット数だけシフトした出力を得る
    セレクター(52)を備える請求項1から請求項16ま
    での何れかに記載の暗号生成装置または復号装置。
  18. 【請求項18】 さらに、データのシフト方向を制御す
    るデータ変換部(53)を備える請求項17に記載の暗
    号生成装置または復号装置。
  19. 【請求項19】 請求項17または請求項18に記載の
    スクランブル手段を複数シリーズに接続した請求項1か
    ら請求項16までの何れかに記載の暗号生成装置または
    復号装置。
  20. 【請求項20】 前記スクランブル手段は、制御データ
    で指定され、前記スクランブル手段の入力データを非置
    換または所定のビット単位で置換する複数の置換器(6
    1)で構成される請求項1から請求項16までの何れか
    に記載の暗号生成装置または復号装置。
  21. 【請求項21】 請求項20に記載のスクランブル手段
    を複数シリーズに接続した請求項1から請求項16まで
    の何れかに記載の暗号生成装置または復号装置。
  22. 【請求項22】 前記スクランブル手段は、制御データ
    で指定され、前記スクランブル手段の入力データを非反
    転または所定のビット単位で反転する反転器(71)で
    構成される請求項1から請求項16までの何れかに記載
    の暗号生成装置または復号装置。
  23. 【請求項23】 請求項22に記載のスクランブル手段
    を複数シリーズに接続した請求項1から請求項16まで
    の何れかに記載の暗号生成装置または復号装置。
  24. 【請求項24】 請求項17から請求項19までの何れ
    かに記載のスクランブル手段、および/または請求項2
    0または請求項21の何れかに記載のスクランブル手
    段、および/または請求項22または請求項23の何れ
    かに記載のスクランブル手段を備える請求項1から請求
    項16までの何れかに記載の暗号生成装置または復号装
    置。
  25. 【請求項25】 前記乱数(CDn)として自然乱数を
    用いることを特徴とする請求項1から請求項24までの
    何れかに記載の暗号生成装置または復号装置。
  26. 【請求項26】 請求項1から請求項25の何れかに記
    載の暗号生成装置および復号装置を備えた暗号/複号器
    (81)と、 入力データバス(DB_IN)より、ブロックデータ
    (BS)および暗号化されたブロックデータ(RBC
    S)および共通鍵(KEY)および単数もしくは複数の
    乱数(CDn)の各種データを保持し、前記暗号/復号
    器(81)に出力する複数のレジスター(88)と、 前記各レジスター(88)へのデータ書き込みを制御す
    るデコーダー(82)を備え、 ブロックデータ(BS)の暗号化と暗号化されたブロッ
    クデータ(RBCS)の復号化を行う暗号/復号装置。
  27. 【請求項27】 さらに、書込信号(WR)を遅延する
    遅延器(83)と、 この遅延出力で前記暗号/復号器(81)の暗号化出力
    (BCS)を保持するレジスター(85)と復号化出力
    (RBS)を保持するレジスター(84)と、 これらの保持データの何れかを選択して出力データバス
    (DB_OUT)に出力するセレクター(86)を備え
    る請求項26に記載の暗号/復号装置。
  28. 【請求項28】 さらに、前記ブロックデータ(BS)
    もしくは暗号化されたブロックデータ(RBCS)を任
    意のブロック単位でカウントして前記暗号/復号器(8
    1)に出力するカウンター(87)を備える請求項26
    または請求項27の何れかに記載の暗号/復号装置。
  29. 【請求項29】 前記カウンター(87)は、任意の時
    間に、且つ任意の値に初期設定可能とする請求項28に
    記載の暗号/復号装置。
  30. 【請求項30】 請求項1から請求項25の何れかに記
    載の暗号生成装置および復号装置を備えた暗号/複号器
    (91)と、 ブロックデータ(BS)および暗号化されたブロックデ
    ータ(RBCS)を保持する第11レジスター(93)
    と、 共通鍵(KEY)および単数もしくは複数の乱数(CD
    n)の各種データを暗号化動作および復号化動作に応じ
    てそれぞれ別々に保持する暗号化用/復号化用の複数の
    対レジスター(94a/94b〜98a/98b)と、 前記ブロックデータ(BS)を任意のブロック単位でカ
    ウントする第11カウンター(99a)および暗号化さ
    れたブロックデータ(RBCS)を任意のブロック単位
    でカウントする第12カウンター(99b)と、 暗号化動作および復号化動作に応じて前記各対レジスタ
    ー(94a/94b〜98a/98b)へのデータ書き
    込みと前記第11、第12カウンター(99a、99
    b)のカウント動作を制御するデコーダー(92)と、 前記複数の対レジスター(94a/94b〜98a/9
    8b)と前記第1、第2カウンター(99a、99b)
    に保持された各種データを暗号化動作、或いは復号化動
    作に応じて選択して、前記暗号/復号器(91)に出力
    する複数のセレクター(111〜116)を備え、 且つ、暗号化動作時には、復号化の条件設定を可能と
    し、また、復号化動作時には、暗号化の条件設定を可能
    として、ブロックデータ(BS)の暗号化と暗号化され
    たブロックデータ(RBCS)の復号化、および暗号化
    と復号化の時分割処理を行う暗号/復号装置。
  31. 【請求項31】 暗号化動作時に、前記第11レジスタ
    ー(93)にブロックデータ(BS)が保持されると共
    に、前記各レジスター(94a〜98a)と前記第11
    カウンター(99a)への復号化の条件設定が成され、
    復号化動作時に、前記第11レジスター(93)に暗号
    化されたブロックデータ(BCS)が保持されると共
    に、前記各レジスター(94b〜98b)と前記第12
    カウンター(99b)への復号化の条件設定が成される
    請求項30に記載の暗号/復号装置。
  32. 【請求項32】 前記第11、第12カウンター(99
    a、99b)は、任意の時間に、且つ任意の値に初期設
    定可能とする請求項30または請求項31の何れかに記
    載の暗号/復号装置。
  33. 【請求項33】 暗号化動作時には、受信したブロック
    データ(BS)とこのブロックデータ(BS)の暗号化
    データ(BCS)をさらに暗号/復号器(91)で復号
    化した復号化データ(RBS)とを比較して暗号化、復
    号化の検証を行うと共に、復号化動作時には、受信した
    暗号化データ(RBCS)とこの暗号化データ(RBC
    S)の復号化データ(RBS)をさらに暗号/復号器
    (91)で暗号化した暗号化データ(BCS)とを比較
    し、暗号化、復号化の検証を行う第2比較器(106)
    を備える請求項30から請求項32までの何れかに記載
    の暗号/復号装置。
  34. 【請求項34】 さらに、乱数発生器(104)と、 当該乱数発生器(104)からの乱数(ROD)、また
    は、受信したブロックデータ(BS)および暗号化され
    たブロックデータ(RBCS)の何れかを選択し、暗号
    化・復号化データとして前記第11レジスター(93)
    に出力する第11セレクター(107)と、 前記乱数(ROD)、または、前記暗号/復号器(9
    1)からの暗号化データ(BCS)或いは復号化データ
    (RBS)、または外部データ(DA_BUS)の何れ
    かを選択し、条件設定データとして前記複数の対レジス
    ター(94a/94b〜98a/98b)と第11、第
    12カウンター(99a、99b)に出力する第12セ
    レクター(108)を備える請求項30から請求項33
    までの何れかに記載の暗号/復号装置。
  35. 【請求項35】 さらに、前記暗号/復号器(91)か
    らの暗号化データ(BCS)或いは復号化データ(RB
    S)の同期化を行い、暗号化、または復号化出力データ
    (BSD)として送出する第22レジスター(100)
    を備える請求項30から請求項34までの何れかに記載
    の暗号/復号装置。
  36. 【請求項36】 暗号化時にクリアーされる第23レジ
    スター(101)を備え、 暗号化動作時には、前記暗号/復号器(91)からの暗
    号化データ(BCS)と前記第23レジスター(10
    1)の出力(XBSD_0)の排他的論理和を暗号化毎
    に当該第23レジスター(101)に逐次積算し、暗号
    化終了時の積算データを通信エラーの検証用に暗号化出
    力データ(BSD)の最後尾に添付すると共に、 復号化時にクリアーされる第24レジスター(102)
    と第1比較器(105)を備え、 復号動作時には、受信データと前記第24レジスター
    (102)の出力(XRSD)の排他的論理和を復号化
    毎に当該第24レジスター(102)に復号化終了まで
    逐次積算し、この積算データと受信データの最後尾の検
    証用データを前記第1比較器(105)で比較して通信
    エラーの検証を行う請求項30から請求項35までの何
    れかに記載の暗号/復号装置。
JP2002098487A 2002-04-01 2002-04-01 暗号生成装置および復号装置および暗号/復号装置 Pending JP2003298573A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002098487A JP2003298573A (ja) 2002-04-01 2002-04-01 暗号生成装置および復号装置および暗号/復号装置
PCT/JP2003/003689 WO2003083806A1 (en) 2002-04-01 2003-03-26 Encryptor/decryptor and encrypting/decrypting device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002098487A JP2003298573A (ja) 2002-04-01 2002-04-01 暗号生成装置および復号装置および暗号/復号装置

Publications (1)

Publication Number Publication Date
JP2003298573A true JP2003298573A (ja) 2003-10-17

Family

ID=29387957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002098487A Pending JP2003298573A (ja) 2002-04-01 2002-04-01 暗号生成装置および復号装置および暗号/復号装置

Country Status (1)

Country Link
JP (1) JP2003298573A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008056667A1 (fr) * 2006-11-10 2008-05-15 Laputa, Inc. Système de gestion d'informations et système de cryptage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008056667A1 (fr) * 2006-11-10 2008-05-15 Laputa, Inc. Système de gestion d'informations et système de cryptage
JP5230439B2 (ja) * 2006-11-10 2013-07-10 裕典 若山 情報管理システム

Similar Documents

Publication Publication Date Title
EP0615361A1 (en) System and method for high speed encryption using multiple keystream generator
TW200904113A (en) Codec-independent encryption of material that represents stimuli intended for human perception
KR20070039161A (ko) 암호화 시스템, 방법 및 결합 함수
JP4025722B2 (ja) データ暗号化のための方法および装置
Gafsi et al. High securing cryptography system for digital image transmission
CN113408013A (zh) 多种算法规则混合的加解密芯片构架
Hussain et al. Proposing an encryption/decryption scheme for IoT communications using binary-bit sequence and multistage encryption
EP1351430B1 (en) Expansion key generating device, encryption device and encryption system
EP2413305B1 (en) Data processing device and data processing method
Shinde et al. A review of various encryption techniques
JP2003298573A (ja) 暗号生成装置および復号装置および暗号/復号装置
Hafsa et al. Secure transmission of medical images using improved hybrid cryptosystem: authentication, confidentiality and integrity
JP4556252B2 (ja) 暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収システムに用いられるicカード、車載機および路側機
Praveen et al. Implementation of DES using pipelining concept with skew core key scheduling in secure transmission of images
Saqib et al. A compact and efficient FPGA implementation of the DES algorithm
JPH05249891A (ja) 暗号処理装置およびこれを用いる暗号処理方法
KR101845554B1 (ko) 암호 함수 수행을 위한 방법 및 장치
JP2004004603A (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
JP2004117429A (ja) 暗号/復号器およびこれを用いた暗号化/復号化装置
KR100494560B1 (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
JP2003330366A (ja) 暗号生成装置および復号装置および暗号/復号装置
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기
Sakharkar Survey of cryptographic techniques to certify sharing of information in cloud computing
JP3172397B2 (ja) 暗号通信装置及び暗号通信システム
JP4230152B2 (ja) 暗号回路