JPH06138820A - 暗号化装置及び暗号復号装置 - Google Patents
暗号化装置及び暗号復号装置Info
- Publication number
- JPH06138820A JPH06138820A JP29248992A JP29248992A JPH06138820A JP H06138820 A JPH06138820 A JP H06138820A JP 29248992 A JP29248992 A JP 29248992A JP 29248992 A JP29248992 A JP 29248992A JP H06138820 A JPH06138820 A JP H06138820A
- Authority
- JP
- Japan
- Prior art keywords
- plaintext
- block
- ciphertext
- less
- blocks
- 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
Links
Abstract
(57)【要約】
【目的】 セクタやフレームなどの固定データ長のデー
タをデータ長を変化することなく暗号化する。 【構成】 入力平文を分割部10でkビットごとの平文
ブロックに分割し、その平文ブロックを分離部11でn
以上のものとn未満のものとに分離し、n以上の平文ブ
ロックをビツト反転部12でビット反転してn未満の平
文ブロックに変換し、両n未満平文ブロックを公開鍵
e,nでRSA暗号化する。その暗号化ブロック中のn
未満に変換したものに対応するものはn〜2k の値に1
対1の写像を写像部13で行い、そのn以上の値と変換
されないn未満平文ブロックに対する暗号化ブロックと
を、分割平文ブロックの対応するものの順に合成部14
で合成して暗号文を出力する。
タをデータ長を変化することなく暗号化する。 【構成】 入力平文を分割部10でkビットごとの平文
ブロックに分割し、その平文ブロックを分離部11でn
以上のものとn未満のものとに分離し、n以上の平文ブ
ロックをビツト反転部12でビット反転してn未満の平
文ブロックに変換し、両n未満平文ブロックを公開鍵
e,nでRSA暗号化する。その暗号化ブロック中のn
未満に変換したものに対応するものはn〜2k の値に1
対1の写像を写像部13で行い、そのn以上の値と変換
されないn未満平文ブロックに対する暗号化ブロックと
を、分割平文ブロックの対応するものの順に合成部14
で合成して暗号文を出力する。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、m進数(m:2以
上)でk桁(k:自然数)より十分長いデータを平文と
し、その平文をm進数でk桁の除数nを使用しべき乗剰
余計算を利用するRSA公開鍵暗号アルゴリズム(以下
RSA暗号と略す)等で知られている暗号化装置及び暗
号復号装置に関するものである。
上)でk桁(k:自然数)より十分長いデータを平文と
し、その平文をm進数でk桁の除数nを使用しべき乗剰
余計算を利用するRSA公開鍵暗号アルゴリズム(以下
RSA暗号と略す)等で知られている暗号化装置及び暗
号復号装置に関するものである。
【0002】
【従来の技術】従来の公開鍵暗号アルゴリズムとして代
表例として、RSA暗号が知られている。公開鍵暗号ア
ルゴリズムの特徴として、暗号化鍵を公表することがで
きる(暗号化鍵を秘密に配送する必要がないという長所
を持っている)。ここで、RSA暗号について、この発
明に関連する事項だけを示す。詳細な説明は、社団法人
電子情報通信学会発行現代暗号理論第6章を参照のこ
と。
表例として、RSA暗号が知られている。公開鍵暗号ア
ルゴリズムの特徴として、暗号化鍵を公表することがで
きる(暗号化鍵を秘密に配送する必要がないという長所
を持っている)。ここで、RSA暗号について、この発
明に関連する事項だけを示す。詳細な説明は、社団法人
電子情報通信学会発行現代暗号理論第6章を参照のこ
と。
【0003】RSA暗号は、2つの大きな素数の合成数
(実システムでは、2の600乗程度)の素因数分解の
困難さに安全性の根拠をおいている。べき乗剰余の計算
により暗号化/復号を行う暗号である。ここで、暗号化
をE、復号をD、平文をM、暗号文をC、暗号化鍵を
e,n、復号鍵をd,nとする。e,nは公開し、dは
復号側が秘密にしておく。
(実システムでは、2の600乗程度)の素因数分解の
困難さに安全性の根拠をおいている。べき乗剰余の計算
により暗号化/復号を行う暗号である。ここで、暗号化
をE、復号をD、平文をM、暗号文をC、暗号化鍵を
e,n、復号鍵をd,nとする。e,nは公開し、dは
復号側が秘密にしておく。
【0004】暗号化側と復号側の処理は C=E(M)=Me mod n・・・・・ 暗号化側の処理 M=D(C)=Cd mod n・・・・・ 復号側の処理 のように行なう。なお、0≦M≦n−1なる任意の整数
Mに対して D(E(M))=M つまり、 MedM≡1(mod n) が成り立つ。
Mに対して D(E(M))=M つまり、 MedM≡1(mod n) が成り立つ。
【0005】パラメータの生成 (i)相異なる2つの大きな素数p,qを選び、その積
n=pqを計算する。 (ii)(p−1)と(q−1)の最小公倍数Lを計算
し、Lと互いに素でLより小さな任意の整数eを求め
る。 (iii)ed≡1(mod L)をユークリッド互除法により
解き、dを求める。
n=pqを計算する。 (ii)(p−1)と(q−1)の最小公倍数Lを計算
し、Lと互いに素でLより小さな任意の整数eを求め
る。 (iii)ed≡1(mod L)をユークリッド互除法により
解き、dを求める。
【0006】このようなRSA公開鍵暗号アルゴリズム
等のべき乗剰余を利用した、公開鍵暗号システムは、ア
ルゴリズムの特徴からk桁の除数n未満の正数のみの暗
号化に制限されている。そこで、k桁より十分長い桁数
あるいは、連続して発生するデータを暗号化しようとす
ると、データをn未満のデータに区切る必要がでてく
る。その区切られたデータは、除数nの桁数kであるか
も知れないし、k−1桁であるかも知れない。図7Aに
m=2、n=21、k=5のときの具体例を示す。最初
のk=5桁(10110)はn=21以上であるからk
−1=4桁の(1011)で区切り、次の5桁(001
00)は21以下であるから5桁(00100)で区切
り、次の5桁(11101)は21以上であるから4桁
(1110)で区切る。以下同様にk=5桁がk−1=
4桁に区切る。
等のべき乗剰余を利用した、公開鍵暗号システムは、ア
ルゴリズムの特徴からk桁の除数n未満の正数のみの暗
号化に制限されている。そこで、k桁より十分長い桁数
あるいは、連続して発生するデータを暗号化しようとす
ると、データをn未満のデータに区切る必要がでてく
る。その区切られたデータは、除数nの桁数kであるか
も知れないし、k−1桁であるかも知れない。図7Aに
m=2、n=21、k=5のときの具体例を示す。最初
のk=5桁(10110)はn=21以上であるからk
−1=4桁の(1011)で区切り、次の5桁(001
00)は21以下であるから5桁(00100)で区切
り、次の5桁(11101)は21以上であるから4桁
(1110)で区切る。以下同様にk=5桁がk−1=
4桁に区切る。
【0007】また、ある区切りのデータがk−1桁であ
ったとしても暗号化されたデータは、k桁になる可能性
もある。従って、元のデータに対し暗号化されたデータ
は、桁数が増加することになる。これとは逆にk桁のデ
ータを暗号化すると、k−1桁に減少する場合もある。
さらに、このような暗号化データの復号を容易にするた
め桁揃えを行なうために、k−1桁の暗号化データに対
しては、先頭ビットの頭に0を1桁挿入しておかないと
復号出来なくなる。図7Bに、図7Aの各区切りデータ
をそれぞれ暗号化したデータを示し、その各暗号化デー
タ中のk−1=4桁のものについては先頭にDを挿入し
たものを図7Cに示す。このようにして全体の暗号文の
桁数は平文の桁数よりも増加する。
ったとしても暗号化されたデータは、k桁になる可能性
もある。従って、元のデータに対し暗号化されたデータ
は、桁数が増加することになる。これとは逆にk桁のデ
ータを暗号化すると、k−1桁に減少する場合もある。
さらに、このような暗号化データの復号を容易にするた
め桁揃えを行なうために、k−1桁の暗号化データに対
しては、先頭ビットの頭に0を1桁挿入しておかないと
復号出来なくなる。図7Bに、図7Aの各区切りデータ
をそれぞれ暗号化したデータを示し、その各暗号化デー
タ中のk−1=4桁のものについては先頭にDを挿入し
たものを図7Cに示す。このようにして全体の暗号文の
桁数は平文の桁数よりも増加する。
【0008】
【発明が解決しようとする課題】コンピュータデータの
記録・伝送方法にはさまざまな方法が採用されている
が、その共通の特徴として、ある一定のデータ長を単位
(セクタ・フレーム)として記録・伝送される場合が多
い。このようにある一定長のデータに暗号をかけるとき
に必要なことは、もとの平文と暗号文とでデータの増減
がないことである。特に暗号文が平文に比べて増加する
ことは、増加した分暗号文は、もとの平文のあったセク
タ・フレーム等と同一の場所にすべての情報を記録する
ことは、不可能である。例を取って言い換えると、全セ
クタにデータが記録されているフロッピーディスクに暗
号をかけることは不可能であると言うことになる。
記録・伝送方法にはさまざまな方法が採用されている
が、その共通の特徴として、ある一定のデータ長を単位
(セクタ・フレーム)として記録・伝送される場合が多
い。このようにある一定長のデータに暗号をかけるとき
に必要なことは、もとの平文と暗号文とでデータの増減
がないことである。特に暗号文が平文に比べて増加する
ことは、増加した分暗号文は、もとの平文のあったセク
タ・フレーム等と同一の場所にすべての情報を記録する
ことは、不可能である。例を取って言い換えると、全セ
クタにデータが記録されているフロッピーディスクに暗
号をかけることは不可能であると言うことになる。
【0009】しかしRSA暗号をデータ通信やデータ蓄
積に使用しようとしたとき、先に述べたようにもとのデ
ータ(以下平文と言う)と暗号化された平文(以下暗号
文と言う)との桁数が必ずしも一致するとは限らないた
め、磁気ディスク等のセクタや通信システムのフレーム
長などの固定されたブロックデータに対して暗号処理を
すると、もとの暗号文が元のセクタや、フレーム長に入
らなくなるため、従来においては、データ長が固定化さ
れている装置やシステムはRSA暗号を適用出来なかっ
た。
積に使用しようとしたとき、先に述べたようにもとのデ
ータ(以下平文と言う)と暗号化された平文(以下暗号
文と言う)との桁数が必ずしも一致するとは限らないた
め、磁気ディスク等のセクタや通信システムのフレーム
長などの固定されたブロックデータに対して暗号処理を
すると、もとの暗号文が元のセクタや、フレーム長に入
らなくなるため、従来においては、データ長が固定化さ
れている装置やシステムはRSA暗号を適用出来なかっ
た。
【0010】この発明の目的は、データ通信やデータ蓄
積等のデータに公開鍵暗号アルゴリズムを利用し暗号を
かけたとき、平文データと暗号化データが常に同じ桁数
となる公開鍵暗号システムの暗号化装置及び暗号復号装
置を提供することにある。
積等のデータに公開鍵暗号アルゴリズムを利用し暗号を
かけたとき、平文データと暗号化データが常に同じ桁数
となる公開鍵暗号システムの暗号化装置及び暗号復号装
置を提供することにある。
【0011】
【課題を解決するための手段】請求項1の発明によれば
入力平文は平文分割手段でk桁ごとのブロックに区切ら
れ、その区切られた平文ブロックはn以上の平文ブロッ
クとn未満の平文ブロックとに平文分離手段により分離
され、その分離されたn以上の平文ブロックは各桁反転
手段により、各桁の数値とm−1との差の絶対値がとら
れてn未満の平文ブロックに変換される。このn未満に
変換された平文ブロック及び変換されないn未満の平文
ブロックは暗号化手段により公開暗号化鍵e,nを用い
てn未満の暗号化ブロックに変換され、n未満に変換さ
れた平文ブロックに対する暗号化ブロックは写像手段に
よりn以上の値に1対1に写像(変換)される。各暗号
化ブロックと各写像されたn以上の値とは、平文分割手
段で分割された平文ブロックの対応するものの順に合成
手段により合成されて暗号化文として出力される。
入力平文は平文分割手段でk桁ごとのブロックに区切ら
れ、その区切られた平文ブロックはn以上の平文ブロッ
クとn未満の平文ブロックとに平文分離手段により分離
され、その分離されたn以上の平文ブロックは各桁反転
手段により、各桁の数値とm−1との差の絶対値がとら
れてn未満の平文ブロックに変換される。このn未満に
変換された平文ブロック及び変換されないn未満の平文
ブロックは暗号化手段により公開暗号化鍵e,nを用い
てn未満の暗号化ブロックに変換され、n未満に変換さ
れた平文ブロックに対する暗号化ブロックは写像手段に
よりn以上の値に1対1に写像(変換)される。各暗号
化ブロックと各写像されたn以上の値とは、平文分割手
段で分割された平文ブロックの対応するものの順に合成
手段により合成されて暗号化文として出力される。
【0012】請求項2の発明によれば入力暗号文は暗号
文分割手段によりk桁ごとの暗号文ブロックに分割さ
れ、その分割された暗号文ブロックはn未満の暗号文ブ
ロックと、n以上の暗号文ブロックとに暗号文分離手段
により分離され、そのn以上の暗号文ブロックは暗号化
処理で行われた写像と逆の写像が逆写像手段により行わ
れてn未満の暗号文ブロックとされる。この逆写像され
たn未満の暗号文ブロック及び逆写像されないn未満の
暗号文ブロックが復号手段により秘密鍵dと公開暗号化
鍵nとを用いて平文ブロックに復号される。逆写像によ
りn未満となった暗号文ブロックは各桁反転手段により
その各桁の数値とm−1との差の絶対値をとることによ
りn以上の平文ブロックに変換される。そのn以上の平
文ブロックと、上記変換されない平文ブロックとが、上
記分割された暗号文ブロックの対応するものの順に合成
手段により合成されて復号平文として出力される。
文分割手段によりk桁ごとの暗号文ブロックに分割さ
れ、その分割された暗号文ブロックはn未満の暗号文ブ
ロックと、n以上の暗号文ブロックとに暗号文分離手段
により分離され、そのn以上の暗号文ブロックは暗号化
処理で行われた写像と逆の写像が逆写像手段により行わ
れてn未満の暗号文ブロックとされる。この逆写像され
たn未満の暗号文ブロック及び逆写像されないn未満の
暗号文ブロックが復号手段により秘密鍵dと公開暗号化
鍵nとを用いて平文ブロックに復号される。逆写像によ
りn未満となった暗号文ブロックは各桁反転手段により
その各桁の数値とm−1との差の絶対値をとることによ
りn以上の平文ブロックに変換される。そのn以上の平
文ブロックと、上記変換されない平文ブロックとが、上
記分割された暗号文ブロックの対応するものの順に合成
手段により合成されて復号平文として出力される。
【0013】上述の暗号化において、分割した平文ブロ
ック(例えばセクタ、フレーム単位)のデータ長の約数
か倍数の何れかを上記nとすることにより平文の桁数を
変化させずに暗号文を生成する。つまり例えば平文を単
位(セクタ、フレーム等)で平文ブロックに分割し、そ
の平文ブロックを2進数表現したときpビットで、nを
2進数表現したときjビットであったとすると、 j=pk (k=…1/3,1/2,1,2,3,…) が成立するようにする。
ック(例えばセクタ、フレーム単位)のデータ長の約数
か倍数の何れかを上記nとすることにより平文の桁数を
変化させずに暗号文を生成する。つまり例えば平文を単
位(セクタ、フレーム等)で平文ブロックに分割し、そ
の平文ブロックを2進数表現したときpビットで、nを
2進数表現したときjビットであったとすると、 j=pk (k=…1/3,1/2,1,2,3,…) が成立するようにする。
【0014】n以上の平文ブロックに関して、m進数の
場合、その平文ブロックの各桁の数値とm−1との差の
絶対値(2進数の場合、全ビット反転と同じ意味)をと
ることにより、n未満の平文ブロックになる理由を図1
を利用して説明する。mがkビットであると言うこと
は、最上位ビットの数値は0ではない(即ち1)であ
る。なぜなら最上位ビットが0であるということは、そ
のビットはないものとして考えば、nがk−1ビットあ
るいはそれ以下であるといえる。また、1の反転は0で
あるから上記各桁とm−1との差の絶対値をとることに
より最上位ビットが0となったということは、n以上の
ブロックはいかなる数値であっても必ずn未満のブロッ
クに変換されるので、n以上のデータブロック(図1A
の元データブロックの斜線部分に相当)の全ビット反転
をすれば、必ずn未満の値(図1Bの全ビット反転の斜
線部分に相当)に写像されることがわかる。図1Bの全
ビット反転の斜線部分を暗号化すると図1Cの暗号化の
斜線部分に拡散される。さらに拡散されたデータに小さ
い順にnから2k までの番号を割り当てることにより、
図1Cの暗号化の斜線部分を図1Dの写像の斜線部分
(nから2k の間)に1対1の写像をすることが出来
る。
場合、その平文ブロックの各桁の数値とm−1との差の
絶対値(2進数の場合、全ビット反転と同じ意味)をと
ることにより、n未満の平文ブロックになる理由を図1
を利用して説明する。mがkビットであると言うこと
は、最上位ビットの数値は0ではない(即ち1)であ
る。なぜなら最上位ビットが0であるということは、そ
のビットはないものとして考えば、nがk−1ビットあ
るいはそれ以下であるといえる。また、1の反転は0で
あるから上記各桁とm−1との差の絶対値をとることに
より最上位ビットが0となったということは、n以上の
ブロックはいかなる数値であっても必ずn未満のブロッ
クに変換されるので、n以上のデータブロック(図1A
の元データブロックの斜線部分に相当)の全ビット反転
をすれば、必ずn未満の値(図1Bの全ビット反転の斜
線部分に相当)に写像されることがわかる。図1Bの全
ビット反転の斜線部分を暗号化すると図1Cの暗号化の
斜線部分に拡散される。さらに拡散されたデータに小さ
い順にnから2k までの番号を割り当てることにより、
図1Cの暗号化の斜線部分を図1Dの写像の斜線部分
(nから2k の間)に1対1の写像をすることが出来
る。
【0015】ほとんどのセクタは128,256,51
2,1024byteなどの1024bit(=128
byte)の倍数である。そこで、nが1024bit
になるようにp,qを決めれば、(ii)を満たすことに
なる。あとは、通常のRSA暗号アルゴリズムと同様に
して暗号化鍵e,n・復号鍵dの生成をすればよい。
2,1024byteなどの1024bit(=128
byte)の倍数である。そこで、nが1024bit
になるようにp,qを決めれば、(ii)を満たすことに
なる。あとは、通常のRSA暗号アルゴリズムと同様に
して暗号化鍵e,n・復号鍵dの生成をすればよい。
【0016】
【実施例】この発明の暗号化装置及び暗号復号装置を用
いた公開鍵暗号システムを図2に示す。暗号化処理側で
は、従来のRSA暗号化処理部1に加えて暗号化拡張処
理部2を、復号処理側では、同様に、RAS復号処理部
3に加えて復号拡張処理部4を備える。暗号化処理側で
の平文7の暗号化は暗号化鍵5(e,n)を利用して暗
号化拡張処理部2およびRSA暗号化処理部1で行なわ
れて暗号文8を得る。この暗号文8が例えば磁気ディス
クに書き戻される。復号処理側での暗号文8の復号は、
復号鍵6(d,n)を利用して復号拡張処理部4および
RSA復号処理部3で行なわれて復号文(=平文)9を
得る。従来のシステムでは、暗号化拡張処理部2、復号
拡張処理部4がなかった。
いた公開鍵暗号システムを図2に示す。暗号化処理側で
は、従来のRSA暗号化処理部1に加えて暗号化拡張処
理部2を、復号処理側では、同様に、RAS復号処理部
3に加えて復号拡張処理部4を備える。暗号化処理側で
の平文7の暗号化は暗号化鍵5(e,n)を利用して暗
号化拡張処理部2およびRSA暗号化処理部1で行なわ
れて暗号文8を得る。この暗号文8が例えば磁気ディス
クに書き戻される。復号処理側での暗号文8の復号は、
復号鍵6(d,n)を利用して復号拡張処理部4および
RSA復号処理部3で行なわれて復号文(=平文)9を
得る。従来のシステムでは、暗号化拡張処理部2、復号
拡張処理部4がなかった。
【0017】請求項1の発明の暗号化装置の実施例を図
3に示し、これと図4とを利用してその動作を説明す
る。入力平文7を平文分割部10でnのビット長kと同
一のkビットごとに平文ブロックに分割する。分割した
平文ブロックは、平文分離部11で、n以上の平文ブロ
ックとn未満の平文ブロックとに分ける(図4では、A
の上部と下部の斜線をかけた部分に相当)。
3に示し、これと図4とを利用してその動作を説明す
る。入力平文7を平文分割部10でnのビット長kと同
一のkビットごとに平文ブロックに分割する。分割した
平文ブロックは、平文分離部11で、n以上の平文ブロ
ックとn未満の平文ブロックとに分ける(図4では、A
の上部と下部の斜線をかけた部分に相当)。
【0018】n以上の平分ブロックはそのままでは、暗
号化することが出来ないので、ビット反転部(各桁反転
部)12によりすべてのビットを反転することにより、
n未満の平分ブロック(図4B)に変換する。そのn未
満に変換された平分ブロックと、変換されないn未満の
平分ブロックとをRSA暗号化処理部1で暗号化する
(図4C)。変換されないn未満の平文ブロックの暗号
化ブロックは直接データ合成部14に伝達する。全ビッ
ト反転をされたのちに暗号化された暗号化ブロックは写
像部13でn以上の値に写像する(図4D)。図4の具
体例では、暗号化ブロックの各値に小さい順にnから2
k までの番号を割り当てる。この写像の方法は、小さい
順でなくともよいが、盗聴者が小さい順に写像したこと
を知ったとしても、暗号化強度の低下に依存しないの
で、便宜上1通りに決めておいても問題はない。
号化することが出来ないので、ビット反転部(各桁反転
部)12によりすべてのビットを反転することにより、
n未満の平分ブロック(図4B)に変換する。そのn未
満に変換された平分ブロックと、変換されないn未満の
平分ブロックとをRSA暗号化処理部1で暗号化する
(図4C)。変換されないn未満の平文ブロックの暗号
化ブロックは直接データ合成部14に伝達する。全ビッ
ト反転をされたのちに暗号化された暗号化ブロックは写
像部13でn以上の値に写像する(図4D)。図4の具
体例では、暗号化ブロックの各値に小さい順にnから2
k までの番号を割り当てる。この写像の方法は、小さい
順でなくともよいが、盗聴者が小さい順に写像したこと
を知ったとしても、暗号化強度の低下に依存しないの
で、便宜上1通りに決めておいても問題はない。
【0019】写像部13を経た暗号化ブロックをデータ
合成部14に直接供給した暗号化ブロックとを、平文分
割部10で分割されたブロック列の順に合成して暗号文
8として出力する(図4E)。この暗号文は例えば入力
平文が記録されていた磁気ディスクに書き戻す。請求項
2の発明の暗号復号装置の実施例を図5に示し、この動
作を図6を参照して説明する。
合成部14に直接供給した暗号化ブロックとを、平文分
割部10で分割されたブロック列の順に合成して暗号文
8として出力する(図4E)。この暗号文は例えば入力
平文が記録されていた磁気ディスクに書き戻す。請求項
2の発明の暗号復号装置の実施例を図5に示し、この動
作を図6を参照して説明する。
【0020】入力暗号文8を暗号文分割部15で(kビ
ットごとの暗号文ブロックに分割する。つぎに、暗号文
分離部16で暗号文ブロックがn未満か、n以上かによ
り暗号化ブロックを分離させる(図6Aの斜線なし部分
と斜線部分)。n未満の暗号文ブロックは、そのままR
SA復号処理部3で復号してデータ合成部19に伝達す
る。一方、n以上の暗号文ブロックは、逆写像部17で
パラメータをもとに暗号化時とは逆の写像を行なう(図
6B)。この逆写像部17で用いるパラメータは暗号化
鍵n,eの値から生成する。この生成方法は、nから2
k までのすべての値を暗号処理と全く同様にして、暗号
化データを生成する。これをメモリに保持しておき、n
から2k の平文とそれらの暗号文との関係付けが出来る
ようにしておく。
ットごとの暗号文ブロックに分割する。つぎに、暗号文
分離部16で暗号文ブロックがn未満か、n以上かによ
り暗号化ブロックを分離させる(図6Aの斜線なし部分
と斜線部分)。n未満の暗号文ブロックは、そのままR
SA復号処理部3で復号してデータ合成部19に伝達す
る。一方、n以上の暗号文ブロックは、逆写像部17で
パラメータをもとに暗号化時とは逆の写像を行なう(図
6B)。この逆写像部17で用いるパラメータは暗号化
鍵n,eの値から生成する。この生成方法は、nから2
k までのすべての値を暗号処理と全く同様にして、暗号
化データを生成する。これをメモリに保持しておき、n
から2k の平文とそれらの暗号文との関係付けが出来る
ようにしておく。
【0021】この逆写像された暗号文ブロックをRSA
復号処理部3で復号してビット反転部18で全ビット反
転し(図6D)、その反転したデータをデータ合成部1
9に伝達する。データ合成部19では、2つの経路を経
て復号化されたブロックを、暗号文分割部15で分割し
たブロック列の順に戻して復号文を得る。以上で、暗号
化処理時の平文の暗号化、および復号処理時の暗号文の
復号が成立する。
復号処理部3で復号してビット反転部18で全ビット反
転し(図6D)、その反転したデータをデータ合成部1
9に伝達する。データ合成部19では、2つの経路を経
て復号化されたブロックを、暗号文分割部15で分割し
たブロック列の順に戻して復号文を得る。以上で、暗号
化処理時の平文の暗号化、および復号処理時の暗号文の
復号が成立する。
【0022】
【発明の効果】この発明によれば、暗号化しようとする
データ長の約数の何れかを選択することにより、暗号強
度を低下させることなく、m進数表現で暗号鍵nと同じ
桁数のデータの暗号化および復号をすることが出来、暗
号化により平文の桁数を増加させることがない。よって
固定データ長のセクタ・フレームに平文と同様に暗号文
を対応させることができる。
データ長の約数の何れかを選択することにより、暗号強
度を低下させることなく、m進数表現で暗号鍵nと同じ
桁数のデータの暗号化および復号をすることが出来、暗
号化により平文の桁数を増加させることがない。よって
固定データ長のセクタ・フレームに平文と同様に暗号文
を対応させることができる。
【図1】この発明を利用するとn以上の2k までの値が
暗号化出来る根拠を説明する図。
暗号化出来る根拠を説明する図。
【図2】この発明を施した公開鍵暗号システムを示すブ
ロック図。
ロック図。
【図3】請求項1の発明の暗号化装置の実施例を示すブ
ロック図。
ロック図。
【図4】図3の装置の動作の説明に具体的な値を当ては
めた図。
めた図。
【図5】請求項2の発明の暗号復号装置の実施例を示す
ブロック図。
ブロック図。
【図6】図3の装置の動作の説明に具体的な値を当ては
めた図。
めた図。
【図7】従来のRSA暗号を用いた暗号化の動作を説明
する図。
する図。
Claims (2)
- 【請求項1】 m進数(m:2以上)でk桁(k:自然
数)より十分長いデータを平文とし、その平文をm進数
でk桁の除数nを使用しべき乗剰余計算を利用する公開
鍵暗号法の暗号化装置において、 入力平文をk桁ごとのブロックに区切る平文分割手段
と、 その平文分割手段でk桁に分割された平文ブロックをn
以上の平文ブロックとn未満の平文ブロックとに分離す
る平文分離手段と、 その平文分離手段で分離されたn以上の平文ブロック
を、その各桁の数値とm−1との差の絶対値をとること
よりn未満の平文ブロックに変換する各桁反転手段と、 公開暗号化鍵e,nを用いて上記n未満の平文ブロック
及び上記n未満に変換された平文ブロックをn未満の暗
号化ブロックに変換する暗号化手段と、 上記変換されたn未満の平文ブロックに対する上記暗号
化ブロックをn以上の値に1対1に写像する写像手段
と、 上記変換されることなく暗号化されたブロックと上記写
像されたn以上の値とを上記平文分割手段により分割さ
れた平文ブロックの対応するものの順序に合成する合成
手段と、 を具備する暗号化装置。 - 【請求項2】 m進数(m:2以上)でk桁(k:自然
数)より十分長いデータを平文とし、その平文をm進数
でk桁の除数nを使用しべき乗剰余計算を利用する公開
鍵暗号法により暗号化された暗号文の復号装置におい
て、 入力暗号文をk桁ごとのブロックに区切る暗号文分割手
段と、 その暗号分割手段で分割された暗号ブロックをn以上の
暗号文ブロックとn未満の暗号文ブロックとに分割する
暗号文分離手段と、 上記n以上の暗号文ブロックに対して暗号化処理で行な
われた写像と逆の写像を行なってn未満の暗号文ブロッ
クにする逆写像手段と、 秘密鍵dと公開暗号化鍵nを用いてこの逆写像されたn
未満の暗号文ブロック及び上記n未満の暗号文ブロック
を平文ブロックに復号する復号手段と、 上記逆写像によりn未満となった暗号文ブロックに対す
る復号平文ブロックを、その各桁の数値とm−1との差
を絶対値をとることよりn以上の平文ブロックに変換す
る各桁反転手段と、 上記変換されたn以上の平文ブロックと、上記変換され
ない復号平文ブロックとを上記暗号文分割手段により分
割された暗号ブロックの対応するものの順序に合成する
合成手段と、 を具備する暗号復号装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29248992A JPH06138820A (ja) | 1992-10-30 | 1992-10-30 | 暗号化装置及び暗号復号装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29248992A JPH06138820A (ja) | 1992-10-30 | 1992-10-30 | 暗号化装置及び暗号復号装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06138820A true JPH06138820A (ja) | 1994-05-20 |
Family
ID=17782486
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29248992A Pending JPH06138820A (ja) | 1992-10-30 | 1992-10-30 | 暗号化装置及び暗号復号装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06138820A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011521292A (ja) * | 2008-05-20 | 2011-07-21 | イルデト・コーポレート・ビー・ヴイ | 暗号システム |
| JP2012032740A (ja) * | 2010-08-03 | 2012-02-16 | Chugoku Electric Power Co Inc:The | 暗号装置及びその方法 |
| CN113676437A (zh) * | 2020-05-14 | 2021-11-19 | 中国移动通信集团云南有限公司 | 参数解析方法、参数获取方法、参数设置方法以及装置 |
-
1992
- 1992-10-30 JP JP29248992A patent/JPH06138820A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011521292A (ja) * | 2008-05-20 | 2011-07-21 | イルデト・コーポレート・ビー・ヴイ | 暗号システム |
| US8724802B2 (en) | 2008-05-20 | 2014-05-13 | Irdeto Corporate B.V. | Cryptographic system |
| JP2012032740A (ja) * | 2010-08-03 | 2012-02-16 | Chugoku Electric Power Co Inc:The | 暗号装置及びその方法 |
| CN113676437A (zh) * | 2020-05-14 | 2021-11-19 | 中国移动通信集团云南有限公司 | 参数解析方法、参数获取方法、参数设置方法以及装置 |
| CN113676437B (zh) * | 2020-05-14 | 2023-08-18 | 中国移动通信集团云南有限公司 | 参数获取方法、参数设置方法以及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6081598A (en) | Cryptographic system and method with fast decryption | |
| EP0792041B1 (en) | Method and apparatus for block encryption | |
| JP3901909B2 (ja) | 暗号化装置およびプログラムを記録した記録媒体 | |
| US6396926B1 (en) | Scheme for fast realization of encrytion, decryption and authentication | |
| US7221757B2 (en) | Method and system for accelerated data encryption | |
| US6415032B1 (en) | Encryption technique using stream cipher and block cipher | |
| US20070195948A1 (en) | Method and device for the encryption and decryption of data | |
| US7469048B2 (en) | Methods for point compression for jacobians of hyperelliptic curves | |
| JP2002535878A (ja) | 公開鍵および秘密鍵による暗号化方法 | |
| KR101313869B1 (ko) | 보안성을 향상시키는 순열 데이터 변환 | |
| CN102187617B (zh) | 密码系统 | |
| JP4427693B2 (ja) | データ処理装置および方法、並びにデータ復号処理装置および方法 | |
| WO2006095891A1 (ja) | データ処理装置 | |
| WO2019220900A1 (ja) | 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム | |
| JPH0946332A (ja) | Rsa型手順により暗号化された通信文用通信システム | |
| JPH06138820A (ja) | 暗号化装置及び暗号復号装置 | |
| US20070277043A1 (en) | Methods for Generating Identification Values for Identifying Electronic Messages | |
| JPH06282227A (ja) | 公開鍵暗号化装置及び公開鍵復号装置 | |
| EP1734493B1 (en) | Padding application method to ensure the security of the ntru encryption | |
| EP1043863B1 (en) | Method for the cryptographic conversion of L-bit input blocks of digital data info into L-bit output blocks | |
| EP1529390B1 (en) | Method and system for accelerated data encryption | |
| JP4208230B2 (ja) | 配列出力装置、配列出力方法、暗号化装置、および復号化装置 | |
| KR20020003059A (ko) | 정수 또는 다항식 행열을 이용한 공개키 암호시스템 | |
| JPH06259011A (ja) | 公開鍵暗号化装置および復号装置 | |
| JP2000151577A (ja) | 暗号化、復号化装置 |