JP3242231B2 - 暗号化装置 - Google Patents
暗号化装置Info
- Publication number
- JP3242231B2 JP3242231B2 JP22600193A JP22600193A JP3242231B2 JP 3242231 B2 JP3242231 B2 JP 3242231B2 JP 22600193 A JP22600193 A JP 22600193A JP 22600193 A JP22600193 A JP 22600193A JP 3242231 B2 JP3242231 B2 JP 3242231B2
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- result
- bit
- register
- bits
- 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.)
- Expired - Lifetime
Links
Description
ディジタルデータの暗号化装置に関するものである。
FEAL−8暗号アルゴリズム(宮口、白石、清水「F
EAL−8暗号アルゴリズム」NTT研究実用化報告第
37巻第4/5号、1988)があった。図7は、FE
AL−8暗号アルゴリズムのデータランダム化部であ
る。図7において、17は64ビットの平文、18は6
4ビットの暗号文、19、20、21、22は拡大鍵の
一部をパラメータとして入力信号を変換して出力する処
理ブロック、7は排他的論理和、23は256ビットの
拡大鍵を保存する拡大鍵ラッチである。19、20、2
1、22は同一の処理を行う。図8は、19、20、2
1、22の内部処理を表している。24は32ビットの
入力信号、25は32ビットの出力信号である。26は
8ビットの入力信号を加算したのち、2ビットローテー
トシフトを行う処理関数であり、27は8ビットの入力
信号を加算し、この結果に1を加えたのちに、2ビット
ローテートシフトを行う処理関数である。
た平文は拡大鍵ラッチ23から出力された拡大鍵の第0
ビットから第63ビットまでの64ビットと排他的論理
和され、さらにその結果の下位32ビットが上位32ビ
ットと排他的論理和され次の段に出力される。次に前段
出力の下位32ビットは、処理ブロック19に入力され
る。この入力信号の第8ビットから第15ビットまでの
8ビットは、拡大鍵ラッチ23から出力された拡大鍵の
第64ビットから第71ビットまでの8ビットと排他的
論理和され、その後に入力信号の第0ビットから第7ビ
ットまでの8ビットと排他的論理和される。同様に、第
16ビットから第23ビットまでの8ビットは、拡大鍵
ラッチ23から出力された拡大鍵の第72ビットから第
79ビットまでの8ビットと排他的論理和され、その後
に入力信号の第24ビットから第31ビットまでの8ビ
ットと排他的論理和される。
ビットは第16ビットから第23ビットまでの8ビット
を用いて27によって演算処理を行う。第16ビットか
ら第23ビットまでの8ビットは出力された第8ビット
から第15ビットまでの8ビットを用いて26によって
処理を行う。第0ビットから第7ビットまでの8ビット
は出力された第8ビットから第15ビットまでの8ビッ
トを用いて26によって処理を行う。第24ビットから
第31ビットまでの8ビットは出力された第16ビット
から第23ビットまでの8ビットを用いて27によって
処理を行う。以上の処理によって出力される第0ビット
から第31ビットまでの32ビットを出力信号25とす
る。次に処理ブロック19の出力信号25は前段出力の
上位32ビットと排他的論理和され、さらに上位32ビ
ットと下位32ビットを入れ換えて次の段に出力され
る。
ック20に入力され、拡大鍵ラッチ23から出力された
拡大鍵の第80ビットから第95ビットまでの16ビッ
トを用いて処理ブロック19と同様に処理を行う。次に
処理ブロック20の出力信号25は前段出力の上位32
ビットと排他的論理和され、さらに上位32ビットと下
位32ビットを入れ換えて次の段に出力される。以下同
様の操作を合計8回実行し、そののち上位32ビットと
下位32ビットを入れ換え、下位32ビットを上位32
ビットと排他的論理和し、さらに拡大鍵ラッチ23から
出力された拡大鍵の第192ビットから第255ビット
と排他的論理和したものが暗号文18として出力され
る。
としては、たとえばMULTI−2暗号アルゴリズム
(宝木、佐々木、中川「マルチメディア向け高速暗号方
式」マルチメディア通信と分散処理40−5、198
9)があった。図9は、MULTI−2暗号アルゴリズ
ムのデータランダム化部である。図9において、28は
64ビットの平文、29は64ビットの暗号文、30、
31、32、33、34、35は拡大鍵の一部をパラメ
ータとして入力信号を変換して出力する処理ブロック、
7は排他的論理和、36は256ビットの拡大鍵を保存
する拡大鍵ラッチである。また、図10は処理ブロック
30、33の内部処理を表し、図11は処理ブロック3
1、34の内部処理を表し、図12は処理ブロック3
2、35の内部処理を表している。
た平文28は上位32ビットと下位32ビットに分割さ
れ、上位32ビットは下位32ビットに排他的論理和さ
れる。次に下位32ビットは処理ブロック30に入力さ
れ、拡大鍵の第0ビットから第31ビットまでの32ビ
ットを用いて処理される。処理ブロック30では図10
のように、入力された32ビットデータxは指定された
拡大鍵と加算され、この結果をyとする。そしてyとy
を左1ビットローテートされたものが加算されてから1
を引かれ、この結果zとする。このzとzを左4ビット
ローテートされたものが排他的論理和され出力となる。
この処理ブロック30の出力は上位32ビットに排他的
論理和される。
入力され、拡大鍵の第32ビットから第95ビットまで
の64ビットを用いて処理される。処理ブロック31で
は図11のように、入力された32ビットデータxは指
定された拡大鍵の上位32ビットと加算され、この結果
をyとする。そしてyとyを左2ビットローテートされ
たものが加算されてから1を加えられ、この結果をzと
する。zとzを左8ビットローテートされたものが排他
的論理和され、この結果をaとする。次にaは指定され
た拡大鍵の下位32ビットと加算され、この結果をbと
する。そしてbを左1ビットローテートされたものがb
で減算され、この結果をcとする。このcと処理ブロッ
ク31に入力されたxを論理和した値とcを左16ビッ
トローテートされたものが排他的論理和され出力とな
る。この処理ブロック31の出力は下位32ビットに排
他的論理和される。
入力され、拡大鍵の第96ビットから第127ビットま
での32ビットを用いて処理される。処理ブロック32
では図12のように、入力された32ビットデータxは
指定された拡大鍵と加算され、この結果をyとする。そ
してyとyを左2ビットローテートされたものが加算さ
れてから1を加えられ出力となる。この処理ブロック3
2の出力は上位32ビットに排他的論理和される。以上
のように処理ブロック33、34、35についても同様
の処理を行い、その結果を暗号文29として出力され
る。
のように構成されるので、図13のように暗号化装置の
処理過程において加算演算が発生した場合に加算結果の
キャリーは無視している。このため、FEAL−8の場
合は、処理ブロックで入出力間に線形性が保たれてしま
い、選択平文攻撃が可能な通信路においては盗聴者が拡
大鍵をすべて求めることができるという問題点が指摘さ
れている。また、Multi−2の場合では、線形性を
失わせるために、通常の加算演算を行った後に、処理デ
ータを数ビットローテートさせて元のデータと加算また
は減算を行っている。この結果、加算または減算演算2
回分の伝送遅延が発生するという問題点も指摘される。
るためになされたもので、加算結果をある除数で除算を
行い、その商または剰余を加算結果に加えることにより
ランダム性を高めることを目的とする。
加算演算の場合だけではなく減算演算の場合にも起こり
得ることから、減算結果をある除数で除算を行い、その
商または剰余を減算結果から引くことによりランダム性
を高めることを目的とする。
いて、除数を暗号化に用いる秘密鍵または秘密鍵より生
成した拡大鍵の情報によって決定することによりランダ
ム性を高めることを目的とする。第3の発明は、第1の
発明の演算回路において、除数を平文または暗号化途中
のデータの情報によって決定することによりランダム性
を高めることを目的とする。第4の発明は、第1の発明
の演算回路において、除数を暗号化に用いる秘密鍵また
は秘密鍵より生成した拡大鍵の情報と平文または暗号化
途中のデータの情報の両方によって決定することにより
ランダム性を高めることを目的とする。
置の加算回路において、加算結果をある除数で除算を行
い、その商または剰余を加算結果に加えることによりラ
ンダム性を高める手段を備えたことを特徴とする。ま
た、暗号化装置の減算回路において、減算結果をある除
数で除算を行い、その商または剰余を減算結果から引く
ことによりランダム性を高める手段を備えたことを特徴
とする。
いて、除数を暗号化に用いる秘密鍵または秘密鍵より生
成した拡大鍵の情報によって決定することによりランダ
ム性を高める手段を備えたことを特徴とする。
いて、除数を平文または暗号化途中のデータの情報によ
って決定することによりランダム性を高める手段を備え
たことを特徴とする。
いて、除数を暗号化に用いる秘密鍵または秘密鍵より生
成した拡大鍵の情報と平文または暗号化途中のデータの
情報の両方によって決定することによりランダム性を高
める手段を備えたことを特徴とする。
装置の加算回路において、加算結果を秘密鍵または秘密
鍵より生成した拡大鍵の情報と平文、暗号化途中データ
の少なくとも1つの情報によって決定した除数で除算を
行い、その商または剰余を加算結果に加えることでラン
ダム性を高めることができる。nビット演算回路の場合
は、2n を除数として除算を行ったのち商を加算結果に
加えることにより、加算演算でキャリーが生じたなら
ば、加算結果に1を加えることと同等の処理が行える。
これにより、1を加えることでキャリーが起こらない場
合との区別をつけることによりランダム性を高めること
ができる。
減算結果を秘密鍵または秘密鍵より生成した拡大鍵の情
報と平文、暗号化途中データの少なくとも1つの情報に
よって決定した除数で除算を行い、その商または剰余を
減算結果から引くことでランダム性を高めることができ
る。nビット演算回路の場合は、2n を除数として除算
を行ったのち商を減算結果から引くことにより、減算演
算でボローが生じたならば、減算結果から1を引くこと
と同等の処理が行える。これにより、1を引くことでボ
ローが起こらない場合との区別をつけることによりラン
ダム性を高めることができる。
る。図1は、加算演算回路が8ビット演算回路の場合で
あり、各段に入力される暗号化途中データの下位3ビッ
トをアドレスとして除数を選択し、加算結果をこの除数
を用いて除算を行い、その剰余を加算結果に加えるよう
な加算演算回路を持つ暗号化回路の具体例である。ここ
では簡単に説明するため、16ビットの平文から16ビ
ットの暗号文を作成する4段式の場合を例にして説明す
る。図において、1は16ビットの平文、2は16ビッ
トの暗号文、3、4、5、6は拡大鍵の一部をパラメー
タとして入力信号を変換する処理ブロックFであり、今
回の具体例ではFを「入力信号8ビットと各段に指定さ
れた拡大鍵を加算演算する関数」としている。7は排他
的論理和、8は4段分の拡大鍵を保持する拡大鍵ラッチ
である。拡大鍵は、1段目から4段目に対応して“f
0”“96”“c3”“5e”を指定しているものとす
る。9は除数データラッチであり、平文または暗号化途
中データの下位3ビットをアドレスとして除数をセレク
トして出力する。
トのデータを“00、00”とした場合を以下に説明す
る。平文“00、00”は、上位8ビットと下位8ビッ
トに分割され、“00”、“00”となる。下位8ビッ
トの“00”は処理ブロック3すなわちFに入力され、
1段目の拡大鍵“f0”と加算される。ここで、入力平
文の下位3ビット“0”をアドレスとして除数データラ
ッチから“2f”を除数としてセレクトする。そして、
加算結果“f0”を除数“2f”で除算を行い、その剰
余“05”を加算結果“f0”に再度加算し、その結果
“f5”を処理ブロック3の出力とする。出力された
“f5”は、上位8ビット“00”に排他的論理和され
る。次に上位8ビットと下位8ビットを入れ換えて“0
0、f5”が1段目の出力とされる。
理ブロック4すなわちFに入力され、2段目の拡大鍵
“96”と加算される。ここで、1段目出力の下位3ビ
ット“5”をアドレスとして除数データラッチから“6
a”を除数としてセレクトする。そして、加算結果“8
b”を除数“6a”で除算を行い、その剰余“21”を
加算結果“8b”に再度加算し、その結果“ac”を処
理ブロック4の出力とする。出力された“ac”は、上
位8ビット“00”に排他的論理和される。次に上位8
ビットと下位8ビットを入れ換えて“f5、ac”が2
段目の出力とされる。
理ブロック5すなわちFに入力され、3段目の拡大鍵
“c3”と加算される。ここで、2段目出力の下位3ビ
ット“4”をアドレスとして除数データラッチから“5
3”を除数としてセレクトする。そして、加算結果“6
f”を除数“53”で除算を行い、その剰余“1c”を
加算結果“6f”に再度加算し、その結果“8b”を処
理ブロック5の出力とする。出力された“8b”は、上
位8ビット“f5”に排他的論理和される。次に上位8
ビットと下位8ビットを入れ換えて“ac、7e”が3
段目の出力とされる。
理ブロック6すなわちFに入力され、4段目の拡大鍵
“5e”と加算される。ここで、3段目出力の下位3ビ
ット“6”をアドレスとして除数データラッチから“9
e”を除数としてセレクトする。そして、加算結果“d
c”を除数“9e”で除算を行い、その剰余“3e”を
加算結果“dc”に再度加算し、その結果“1a”を処
理ブロック6の出力とする。出力された“1a”は、上
位8ビット“ac”に排他的論理和され、“b6、7
e”が暗号文として出力される。
鍵から鍵スケジュール部を経て出力された拡大鍵をパラ
メータとして入力し、暗号化する情報を暗号化して出力
する処理ブロックを一つ以上含む暗号化方式であって、
処理過程において加算結果を平文または暗号化途中デー
タの情報によって決定した除数で除算を行い、その剰余
を加算結果に加える加算回路を一つ以上持つことを特徴
とした暗号化方式を説明した。
いて説明する。図2は、加算演算回路が8ビット演算回
路の場合であり、加算演算でキャリーが生じた場合に、
キャリーを加算結果に加える処理を有する加算回路を持
った暗号化回路の具体例である。これは、28 (=25
6)を除数として除算を行った後に商を加算結果に再度
加える処理が加算演算で、キャリーが生じたならば加算
結果に1を加えるという簡単な処理と同等であることを
利用するものである。ここでは簡単に説明するため、1
6ビットの平文から16ビットの暗号文を作成する4段
式の場合を例にして説明する。
1は16ビットの暗号文、12、13、14、15は拡
大鍵の一部をパラメータとして入力信号を変換する処理
ブロックFであり、今回の具体例ではFを「入力信号8
ビットと各段に指定された拡大鍵を加算する関数」とし
ている。ここで言う加算とは、実施例1の特別な例であ
り、加算演算でキャリーが生じたならば加算結果に1を
加えるような場合であり、図3または図4のような回路
構成で実現する。7は排他的論理和、16は4段分の拡
大鍵を保持する拡大鍵ラッチである。拡大鍵は、1段目
から4段目に対応して“f0”“96”“c3”“5
e”を指定しているものとする。
演算の除数が2n であり、商を加算する場合の回路構成
の具体例である。図において、37、38は入力データ
を保持するNビットレジスタ、39、40はNビット加
算器、41、42は加算結果を保持するNビットレジス
タ、43は加算時に起こるキャリー、44はキャリーを
セレクト信号とした2−1セレクタ、45は加算回路の
演算結果を保持するNビットレジスタである。
た2つのNビットデータがそれぞれNビットレジスタ3
7、38に保持され、そのデータを加算器39で加算し
てNビットレジスタ41に結果を保持する。同時にNビ
ットレジスタ37、38のデータと“1”を加算器40
で加算してNビットレジスタ42に保持する。この時、
加算器39で起こるキャリー43をセレクト信号として
用い、2−1セレクタ44によってNビットレジスタ4
1、42のいずれか一方が選択され、Nビットレジスタ
45に保持され、加算回路から出力される。キャリーが
起こらない場合はNビットレジスタ41が選択され、キ
ャリーが起こった場合はNビットレジスタ42が選択さ
れるものとする。
演算の除数が2n であり、商を加算する場合の回路構成
の具体例である。図において、46、47は入力データ
を保持するNビットレジスタ、48はNビット加算器、
49は加算結果を保持するNビットレジスタ、43は加
算時に起こるキャリー、50は入力データにキャリーを
加える加算器、51は加算回路の演算結果を保持するN
ビットレジスタである。
た2つのNビットデータがそれぞれNビットレジスタ4
6、47に保持され、そのデータを加算器48で加算し
てNビットレジスタ49に結果が保持される。加算器4
8のキャリー43とNビットレジスタ49のデータが加
算器50によって加えられ、Nビットレジスタ51に保
持され、結果として加算回路から出力される。
トのデータを“00、00”とした場合を以下に説明す
る。平文“00、00”は、上位8ビットと下位8ビッ
トに分割され、“00”、“00”となる。下位8ビッ
トの“00”は処理ブロック12すなわちFに入力さ
れ、1段目の拡大鍵“f0”と加算される。この場合、
加算演算の際にキャリーは起こらないから加算結果“f
0”を処理ブロック12の出力とする。出力された“f
0”は上位8ビット“00”に排他的論理和される。次
に上位8ビットと下位8ビットを入れ換えて“00、f
0”が1段目の出力とされる。
理ブロック13すなわちFに入力され、2段目の拡大鍵
“96”と加算される。この場合、加算演算の際にキャ
リーが起こるから加算結果“86”に1が加えられ“8
7”を処理ブロック13の出力とする。出力された“8
7”は上位8ビット“00”に排他的論理和される。次
に上位8ビットと下位8ビットを入れ換えて“f0、8
7”が2段目の出力とされる。
理ブロック14すなわちFに入力され、3段目の拡大鍵
“c3”と加算される。この場合、加算演算の際にキャ
リーが起こるから加算結果“4a”に1が加えられ“4
b”を処理ブロック14の出力とする。出力された“4
b”は上位8ビット“f0”に排他的論理和される。次
に上位8ビットと下位8ビットを入れ換えて“87、b
b”が3段目の出力とされる。
理ブロック15すなわちFに入力され、4段目の拡大鍵
“5e”と加算される。この場合、加算演算の際にキャ
リーが起こるから加算結果“19”に1が加えられ“1
a”を処理ブロック15の出力とする。出力された“1
a”は上位8ビット“87”に排他的論理和され、“b
b、9d”が暗号文として出力される。
鍵から鍵スケジュール部を経て出力された拡大鍵をパラ
メータとして入力し、暗号化する情報を暗号化して出力
する処理ブロックを一つ以上含む暗号化方式であって、
処理過程においてキャリーが生じたならば加算結果に1
加える加算回路(図3、図4)を一つ以上持つことを特
徴とした暗号化方式を説明した。
をnビット演算回路で2n を除数として除算を行ったの
ちに商を加算結果に加える処理、すなわち、加算演算で
キャリーが生じたならば、加算結果に1を加えることと
同等の処理を持つ具体的な回路構成について説明した。
図3は、伝送遅延を少なくすることを特徴とした回路構
成であり、図4は、2回目が1を加えるかどうかの加算
であるので、演算の処理回数を少なくすることを特徴と
した回路構成である。
号化途中のデータの下位3ビットをアドレスとして除数
データラッチから除数をセレクトしているが、このアド
レスを秘密鍵または秘密鍵によって生成される拡大鍵の
情報から決定してもよい。次にその一例として各段の拡
大鍵の上位3ビットを除数データラッチのアドレスとす
る場合を図5を用いて説明する。
路の場合であり、各段の拡大鍵の上位3ビットをアドレ
スとして除数を選択し、加算結果をこの除数を用いて除
算を行い、その剰余を加算結果に加えるような加算演算
回路を持つ暗号化回路の具体例である。ここでは簡単に
説明するため、16ビットの平文から16ビットの暗号
文を作成する4段式の場合を例にして説明する。図にお
いて、100は16ビットの平文、200は16ビット
の暗号文、9は除数データラッチであり、拡大鍵の上位
3ビットをアドレスとして除数をセレクトして出力す
る。その他の構成は実施例1の図1と同様である。
トのデータを“00、00”とした場合を以下に説明す
る。平文“00、00”は、上位8ビットと下位8ビッ
トに分割され、“00”、“00”となる。下位8ビッ
トの“00”は処理ブロック3すなわちFに入力され、
1段目の拡大鍵“f0”と加算される。ここで、拡大鍵
の上位3ビット“7”をアドレスとして除数データラッ
チから“0d”を除数としてセレクトする。そして、加
算結果“f0”を除数“0d”で除算を行い、その剰余
“06”を加算結果“f0”に再度加算し、その結果
“f6”を処理ブロック3の出力とする。出力された
“f6”は、上位8ビット“00”に排他的論理和され
る。次に上位8ビットと下位8ビットを入れ換えて“0
0、f6”が1段目の出力とされる。
理ブロック4すなわちFに入力され、2段目の拡大鍵
“96”と加算される。ここで、拡大鍵の上位3ビット
“4”をアドレスとして除数データラッチから“53”
を除数としてセレクトする。そして、加算結果“8c”
を除数“53”で除算を行い、その剰余“39”を加算
結果“8c”に再度加算し、その結果“c5”を処理ブ
ロック4の出力とする。出力された“c5”は、上位8
ビット“00”に排他的論理和される。次に上位8ビッ
トと下位8ビットを入れ換えて“f6、c5”が2段目
の出力とされる。
理ブロック5すなわちFに入力され、3段目の拡大鍵
“c3”と加算される。ここで、拡大鍵上位3ビット
“6”をアドレスとして除数データラッチから“9e”
を除数としてセレクトする。そして、加算結果“88”
を除数“9e”で除算を行い、その剰余“88”を加算
結果“88”に再度加算し、その結果“10”を処理ブ
ロック5の出力とする。出力された“10”は、上位8
ビット“f6”に排他的論理和される。次に上位8ビッ
トと下位8ビットを入れ換えて“c5、e6”が3段目
の出力とされる。
理ブロック6すなわちFに入力され、4段目の拡大鍵
“5e”と加算される。ここで、拡大鍵の上位3ビット
“2”をアドレスとして除数データラッチから“4c”
を除数としてセレクトする。そして、加算結果“44”
を除数“4c”で除算を行い、その剰余“44”を加算
結果“44”に再度加算し、その結果“88”を処理ブ
ロック6の出力とする。出力された“88”は、上位8
ビット“c5”に排他的論理和され、“4d、e6”が
暗号文として出力される。
密鍵から鍵スケジュール部を経て出力された拡大鍵をパ
ラメータとして入力し、暗号化する情報を暗号化して出
力する処理ブロックを一つ以上含む暗号化方式であっ
て、処理過程において加算結果を秘密鍵または秘密鍵に
よって生成される拡大鍵の情報によって決定した除数で
除算を行い、その剰余を加算結果に加える加算回路を一
つ以上持つことを特徴とした暗号化方式を説明した。な
お、この実施例では拡大鍵の上位3ビットを使ってアド
レスを決定しているが、何等かの特別な計算によりアド
レスを決定してもよい。
に用いる秘密鍵または秘密鍵より生成した拡大鍵の情報
と、平文または暗号化途中のデータの情報の両方を用い
てもよい。例えば、図1において平文または暗号化途中
のデータの下位3ビットと拡大鍵の下位3ビットを排他
的論理和し、これをアドレスとして除数データラッチ9
から除数をセレクトすればよい。この場合、平文または
暗号化途中のデータは上段から“00”、“f5”、
“16”、“2b”であり、その下位3ビットは、それ
ぞれ“0”、“5”、“6”、“3”である。また、拡
大鍵は上段から“f0”、“96”、“c3”、“5
e”であり、これの下位3ビットは、それぞれ“0”、
“6”、“3”、“6”となる。それぞれの下位3ビッ
トを排他的論理和することにより、アドレス“0”、
“3”、“5”、“5”が決定でき、除数データラッチ
9から除数“2f”、“b1”、“6a”、“6a”を
セレクトできる。他の処理は、実施例1の場合と同じで
あるので説明は省略する。
う場合について示したが、加算演算の代わりに減算演算
にしてもよい。減算演算した場合、減算結果を秘密鍵ま
たは秘密鍵より生成した拡大鍵の情報と平文、暗号化途
中データの少なくとも1つの情報によって決定した除数
で除算を行い、その商または剰余を減算結果から引くこ
とでランダム性を高めることができる。nビット演算回
路の場合は、2n を除数として除算を行ったのち商を減
算結果から引くことにより、減算演算でボローが生じた
ならば、減算結果から1を引くことと同等の処理が行え
る。これにより、1を引くことでボローが起こらない場
合との区別をつけることによりランダム性を高めること
ができる。
の入力は2入力となっていたが、3入力、4入力・・・
であってもよい。3入力の場合の一例を図6に示す。図
6において300は24ビットの平文、400は24ビ
ットの暗号文、301、302、303、304は拡大
鍵の一部をパラメータとして入力信号を変換する処理ブ
ロックFであり、今回の具体例ではFを、「入力信号
(8ビット)の2入力と各段に指定された拡大鍵を加算
し、平文または暗号化途中データの下位3ビットをアド
レスとして除数を選択し、加算結果をこの除数を用いて
除算を行い、その剰余を加算結果に加える関数」とす
る。7、8、9は、図1と同様である。実施例1との違
いは平文300が24ビットであり、これを8ビットず
つに3分割し、うち2組のデータを処理ブロックF30
1〜304の入力データとし、その出力を残る1組の8
ビットデータと排他的論理和する点である。3組の8ビ
ットデータは各段毎にローテートされる。このローテー
トの方法は任意に決めてよい。その他の処理は実施例1
と同様である。
ータの暗号化の場合を示したが、本装置の前後にA/D
変換器及びD/A変換器を用いればアナログデータの暗
号化も可能である。
の発明の暗号化装置において、演算結果を秘密鍵または
秘密鍵より生成した拡大鍵の情報と平文、暗号化途中デ
ータの少なくとも1つの情報によって決定した除数で除
算を行い、その商または剰余を演算結果に対して演算す
ることで高いランダム性を得ることができ、これによっ
て解読の危険性を減少させることができる。その特別な
場合としてnビット加算演算回路の場合は、2n を除数
として除算を行ったのちに商を加算結果に再度加えるこ
とが、加算演算でキャリーが生じたならば、加算結果に
1を加えることと同等の処理である。この処理により、
1を加えることでキャリーが起こらない場合との区別を
つけることによりランダム性を高めることができる。
n を除数として除算を行ったのちに商を減算結果から再
度引くことが、減算演算でボローが生じたならば、減算
結果から1を引くことと同等の処理である。この処理に
より、1を引くことでボローが起こらない場合との区別
をつけることにより、ランダム性を高めることができ
る。
を示す図である。
を示す図である。
を示す図である。
を示す図である。
を示す図である。
を示す図である。
る。
ある。
ある。
ある。
Claims (10)
- 【請求項1】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵の情報によって決定された除数で除算を行
い、上記除算された結果得られた商を上記演算結果に対
して演算する第2の演算部とを備えたことを特徴とする
暗号化装置。 - 【請求項2】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵の情報によって決定された除数で除算を行
い、上記除算された結果得られた剰余を上記演算結果に
対して演算する第2の演算部とを備えたことを特徴とす
る暗号化装置。 - 【請求項3】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵より生成した拡大鍵の情報によって決定さ
れた除数で除算を行い、上記除算された結果得られた商
を上記演算結果に対して演算する第2の演算部とを備え
たことを特徴とする暗号化装置。 - 【請求項4】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵より生成した拡大鍵の情報によって決定さ
れた除数で除算を行い、上記除算された結果得られた剰
余を上記演算結果に対して演算する第2の演算部とを備
えたことを特徴とする暗号化装置。 - 【請求項5】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、平文また
は暗号化途中のデータの情報によって決定された除数で
除算を行い、上記除算された結果得られた商を上記演算
結果に対して演算する第2の演算部とを備えたことを特
徴とする暗号化装置。 - 【請求項6】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、平文また
は暗号化途中のデータの情報によって決定された除数で
除算を行い、上記除算された結果得られた剰余を上記演
算結果に対して演算する第2の演算部とを備えたことを
特徴とする暗号化装置。 - 【請求項7】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵の情報と、平文または暗号化途中のデータ
の情報との両方によって決定された除数で除算を行い、
上記除算された結果得られた商を上記演算結果に対して
演算する第2の演算部とを備えたことを特徴とする暗号
化装置。 - 【請求項8】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵の情報と、平文または暗号化途中のデータ
の情報との両方によって決定された除数で除算を行い、
上記除算された結果得られた剰余を上記演算結果に対し
て演算する第2の演算部とを備えたことを特徴とする暗
号化装置。 - 【請求項9】 データの暗号化装置において、1つまた
はそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵より生成した拡大鍵の情報と、平文または
暗号化途中のデータの情報との両方によって決定された
除数で除算を行い、上記除算された結果得られた商を上
記演算結果に対して演算する第2の演算部とを備えたこ
とを特徴とする暗号化装置。 - 【請求項10】 データの暗号化装置において、1つま
たはそれ以上の演算回路を有し、上記演算回路は、 当該回路への入力に対し所定の演算を行う第1の演算部
と、 上記第1の演算部により演算された演算結果を記憶する
レジスタと、 上記レジスタに記憶された演算結果に対して、暗号化に
用いる秘密鍵より生成した拡大鍵の情報と、平文または
暗号化途中のデータの情報との両方によって決定された
除数で除算を行い、上記除算された結果得られた剰余を
上記演算結果に対して演算する第2の演算部とを備えた
ことを特徴とする暗号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22600193A JP3242231B2 (ja) | 1993-09-10 | 1993-09-10 | 暗号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22600193A JP3242231B2 (ja) | 1993-09-10 | 1993-09-10 | 暗号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0777935A JPH0777935A (ja) | 1995-03-20 |
JP3242231B2 true JP3242231B2 (ja) | 2001-12-25 |
Family
ID=16838239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22600193A Expired - Lifetime JP3242231B2 (ja) | 1993-09-10 | 1993-09-10 | 暗号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3242231B2 (ja) |
-
1993
- 1993-09-10 JP JP22600193A patent/JP3242231B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0777935A (ja) | 1995-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
US5351299A (en) | Apparatus and method for data encryption with block selection keys and data encryption keys | |
US5499299A (en) | Modular arithmetic operation system | |
JP2862030B2 (ja) | 暗号化方式 | |
EP0454187B1 (en) | Data randomization equipment | |
EP1081889A2 (en) | Extended key generator, encryption / decryption unit, extended key generation method, and storage medium | |
US7801307B2 (en) | Method of symmetric key data encryption | |
KR19990002840A (ko) | 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘 | |
US7024560B2 (en) | Power-residue calculating unit using Montgomery algorithm | |
US20030016823A1 (en) | Method and apparatus of using irrational numbers in random number generators for cryptography | |
US4969190A (en) | Encrypting system of data | |
EP1059760A1 (en) | Method for the block-encryption of discrete data | |
JP3012732B2 (ja) | ブロック暗号処理装置 | |
JP2950485B2 (ja) | ストリーム暗号処理装置 | |
JP2001051832A (ja) | 乗算剰余演算方法および乗算剰余回路 | |
JP3242231B2 (ja) | 暗号化装置 | |
EP1202488B1 (en) | Encryption sub-key generation circuit | |
JP3389210B2 (ja) | 拡大鍵生成装置、暗復号装置、拡大鍵生成方法、及び記憶媒体 | |
US7142673B1 (en) | Method for the cryptographic conversion of L-bit input blocks of digital data into L-bit output blocks | |
WO1999038142A1 (fr) | Procede et appareil pour effectuer une operation arithmetique et support d'enregistrement dudit procede | |
JPH09269727A (ja) | 暗号化方法および暗号化装置 | |
JPH0895490A (ja) | 秘密鍵暗号方法及び装置 | |
JP2864813B2 (ja) | 暗号化装置及び復号化装置 | |
JPS6350883A (ja) | 分割整数剰余計算機 | |
JPH1152850A (ja) | 暗号変換方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20011002 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040520 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071019 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081019 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 Year of fee payment: 12 |