JPH10232606A - 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置 - Google Patents

暗号化方法及び復号化方法並びに暗号化装置及び復号化装置

Info

Publication number
JPH10232606A
JPH10232606A JP9345090A JP34509097A JPH10232606A JP H10232606 A JPH10232606 A JP H10232606A JP 9345090 A JP9345090 A JP 9345090A JP 34509097 A JP34509097 A JP 34509097A JP H10232606 A JPH10232606 A JP H10232606A
Authority
JP
Japan
Prior art keywords
function
round
encryption
decryption
predetermined
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
JP9345090A
Other languages
English (en)
Inventor
Hideo Shimizu
秀夫 清水
Atsushi Shinpo
淳 新保
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP9345090A priority Critical patent/JPH10232606A/ja
Publication of JPH10232606A publication Critical patent/JPH10232606A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 暗号化処理と復号化処理で同一構造のラウン
ド関数を用いかつ両処理の構造を容易かつ簡易な構成で
可変できる暗号化方法を提供すること。 【解決手段】 所定のラウンド関数を用いたデータ変換
を所定回数繰り返して暗号化データを生成する暗号化方
法において、n回(nは3以上)適用が単位変換となる
関数f(x)、すなわちf(f(…f(x)…))=x
(ただしf(f(x))=xは除く)を満足する関数f
(x)を前記ラウンド関数として用いることを特徴とす
る。また、当該暗号化アルゴリズムは所定数のラウンド
を有するもので、各ラウンドごとに前記関数f(x)の
適用回数mを1≦m≦n−1の範囲で可変にする。さら
に、前記各ラウンドにおける適用回数mは鍵情報として
与える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、特殊な条件を満足
するラウンド関数を用いることで、安全性を保ったまま
装置規模を小さくすることが可能な可変構造アルゴリズ
ムを持つ暗号化方法及び復号化方法並びに暗号化装置及
び復号化装置に関する。
【0002】
【従来の技術】現在、コンピュータや記憶装置あるいは
通信網など、情報を電子化して処理、保存、通信などす
る技術がかなり高度化されるとともに、ますます研究開
発が盛んになってきている。また、このような技術は、
実際に、様々な分野において様々な形で利用されてい
る。中でも、情報を第3者から秘匿した状態で蓄積や転
送などするための基盤技術である暗号技術の重要性は非
常に高まっており、盛んに研究・開発が行われていると
ともに、電子課金の情報、機密情報、著作権に係る情報
あるいはプライバシーに関する情報などを扱うシステム
に実際に利用されている。特に、種々の暗号アルゴリズ
ムのうち秘密鍵ブロック暗号アルゴリズムは、適用のし
やすさ、比較的安全性に対する評価技術が進歩している
ことから、様々な局面で実用に供されている。
【0003】この秘密鍵ブロック暗号には、同じ構造を
有する変換(ラウンド関数)を入力データに対して繰り
返し適用する積暗号という形で構成されるものがある。
これは、ラウンド関数を繰り返し適用することで解読を
より困難にするもので、ラウンド関数の使用により装置
規模が小さくなる利点もある。
【0004】また、この場合、暗号化変換と復号化変換
で同一の構造のラウンド関数を用いることができれば、
暗号化/復号化の両機能を搭載する装置ではその両機能
に要する装置規模を半分にすることができる。
【0005】暗号化変換と復号化変換でラウンド関数の
構造を同一にするためには、 F(F(x))=x (1) を満足する関数Fが用いられる。式(1)を満足するよ
うな関数は、インボリューション関数と呼ばれ、関数と
逆関数は同一の式で表すことができるという性質を持っ
ている。インボリューション関数をラウンド関数として
持つ秘密鍵ブロック暗号はインボリューション型暗号と
呼ばれることがある。
【0006】このような構成を持つ秘密鍵ブロック暗号
アルゴリズムとしてDES(特公昭59−36463号
公報、特公昭59−45269号公報)がよく知られて
いる。
【0007】一方、1990年になり、差分攻撃(E.
Biham、 A.Shamir、Diffentia
l cryptanlysis of DES−lik
esryptosystems、 advances
in cryptography、proceedin
gs of CRYPTO´90、 pp.2−21、
LNCS 537、 Springer−Verla
g.)や線形攻撃(M.Matui、 Linear
cryptanalysis method for
DES cipher、 advances in c
ryptography、proceedings o
f EUROCRYPT´93、pp.386−39
7、 LNCS 765、 Springer−Ver
lag.)などの秘密鍵ブロック暗号に対する新しい解
読法が提示され、秘密鍵ブロック暗号の安全性に関する
評価技術が格段の進歩を遂げた。
【0008】そこで、それらの新しい解読法が通用しな
い秘密鍵ブロック暗号が研究され、可変構造暗号(特開
平4−170576)などのいくつかの提案がされてい
る。これら可変構造暗号などの秘密鍵ブロック暗号で
は、本質的に鍵のような外部パラメータに依存して暗号
化アルゴリズムの構造を可変にすれば解析が困難になる
という原理に基づいている。
【0009】しかしながら、このような構造可変型の暗
号化アルゴリズムを用いて装置を構成した場合、装置規
模が大きくなるという問題点があった。また、従来の秘
密鍵ブロック暗号では、暗号化に要する手間と復号に要
する手間を制御することができなかった。これはインボ
リューション暗号では、暗号化と復号が同一の構成なの
で、暗号化と復号の手間は同一だからである。装置規模
に関するインボリューション型暗号の長所は一方ではこ
のような短所を生み出している。暗号化に要する時間と
復号に要する時間を制御可能であれば、速度の面で制約
のある端末を使う場合等、様々な局面で、データを暗号
化したことによる負荷を分散することが可能になる。従
来、このような技術は、公開鍵暗号では知られていた
が、秘密鍵ブロック暗号では、このようなことを実現で
きる技術は存在しなかった。
【0010】
【発明が解決しようとする課題】上述したように従来の
秘密鍵ブロック暗号は、インボリューション関数を用い
た構成では、装置規模の小さな秘密鍵ブロック暗号を構
成できるという特徴があるが、新しい解読法に対抗する
ために構造やパラメータを可変にすると装置規模が大き
くなってしまうという問題があった。また、従来の秘密
鍵ブロック暗号では、暗号化に要する時間と復号に要す
る時間を制御することはできなかった。
【0011】本発明は、上記事情を考慮してなされたも
ので、暗号化処理と復号化処理で同一構造のラウンド関
数を用いかつ両処理の構造を容易かつ簡易な構成で可変
できる暗号化方法及び復号化方法並びに暗号化装置及び
復号化装置を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明は、所定のラウン
ド関数を用いたデータ変換を所定回数繰り返して暗号化
データを生成する暗号化方法において、任意の関数f
(x)について、yi+1=f(yi )とし、y1 =f
(p)とした場合に、yn =p(nは3以上のいずれか
の整数)を満足する関数f(x)を前記ラウンド関数と
して用いることを特徴とする。
【0013】好ましくは、所定数のラウンドを有し、各
ラウンドごとに前記関数f(x)の適用回数mを1≦m
≦n−1の範囲で可変にしたことを特徴とする。さらに
好ましくは、前記各ラウンドにおける適用回数mは、鍵
情報として与えられたものであることを特徴とする。
【0014】また、本発明は、所定のラウンド関数を用
いたデータ変換を所定回数繰り返して暗号化データのも
ととなったデータを生成する復号化方法において、任意
の関数f(x)について、yi+1 =f(yi )とし、y
1 =f(p)とした場合に、yn =p(nは3以上のい
ずれかの整数)を満足する関数f(x)を前記ラウンド
関数として用いることを特徴とする。
【0015】好ましくは、所定数のラウンドを有し、各
ラウンドごとに前記関数f(x)の適用回数sを1≦s
≦n−1の範囲で可変にしたことを特徴とする。さらに
好ましくは、前記各ラウンドにおける適用回数sは、鍵
情報として与えられたものであることを特徴とする。
【0016】また、本発明は、所定のラウンド関数を用
いたデータ変換を所定回数繰り返して暗号化データを生
成する暗号化装置において、任意の関数f(x)につい
て、yi+1 =f(yi )とし、y1 =f(p)とした場
合に、yn =p(nは3以上のいずれかの整数)を満足
する所定の関数f(x)を前記ラウンド関数としてデー
タ変換する手段と、各ラウンドにおける前記関数f
(x)の適用回数m(1≦m≦n−1)を示す情報を記
憶する手段と、記憶された前記各ラウンドにおける適用
回数mを示す情報に基づいて前記データ変換を繰り返し
実行させる手段とを備えたことを特徴とする。
【0017】また、本発明は、所定のラウンド関数を用
いたデータ変換を所定回数繰り返して暗号化データのも
ととなったデータを生成する復号化装置において、任意
の関数f(x)について、yi+1 =f(yi )とし、y
1 =f(p)とした場合に、yn =p(nは3以上のい
ずれかの整数)を満足する所定の関数f(x)を前記ラ
ウンド関数としてデータ変換する手段と、各ラウンドに
おける前記関数f(x)の適用回数s(1≦s≦n−
1)を示す情報を記憶する手段と、記憶された前記各ラ
ウンドにおける適用回数sを示す情報に基づいて前記デ
ータ変換を繰り返し実行させる手段とを備えたことを特
徴とする。
【0018】また、本発明は、コンピュータに、処理対
象のデータに対して、yi+1 =f(yi )としy1 =f
(p)とした場合にyn =p(nは3以上のいずれかの
整数)を満足する所定のラウンド関数f(x)を用いた
データ変換をnより小さい所定の回数繰り返させるため
の手順を含むプログラムを記録したコンピュータ読取り
可能な記録媒体である。
【0019】また、本発明は、コンピュータに、暗号化
対象のデータに対して、yi+1 =f(yi )としy1 =
f(p)とした場合にyn =p(nは3以上のいずれか
の整数)を満足する所定のラウンド関数f(x)を用い
たデータ変換をnより小さい所定の回数繰り返させて、
暗号化データを生成させるための手順を含むプログラム
を記録したコンピュータ読取り可能な記録媒体である。
【0020】また、本発明は、コンピュータに、復号化
対象のデータに対して、yi+1 =f(yi )としy1 =
f(p)とした場合にyn =p(nは3以上のいずれか
の整数)を満足する所定のラウンド関数f(x)を用い
たデータ変換をnより小さい所定の回数繰り返させて、
復号化データを生成させるための手順を含むプログラム
を記録したコンピュータ読取り可能な記録媒体である。
【0021】好ましくは、前記プログラムはコンピュー
タに前記所定の回数を定めさせる手順を含むものである
ようにしてもよい。また、本発明は、コンピュータに所
定のラウンド関数を用いたデータ変換処理を実行させる
ためのプログラムであって、コンピュータを、任意の関
数f(x)についてyi+1 =f(yi )としy1 =f
(p)とした場合にyn =p(nは3以上のいずれかの
整数)を満足する所定の関数f(x)をラウンド関数と
してデータ変換する手段、各ラウンドにおける前記関数
f(x)の適用回数m(1≦m≦n−1)を示す情報を
記憶する手段、および記憶された前記各ラウンドにおけ
る適用回数mを示す情報に基づいて前記データ変換を繰
り返し実行させる手段として機能させるためのプログラ
ムを記録したコンピュータ読取り可能な記録媒体であ
る。
【0022】また、本発明は、コンピュータに所定のラ
ウンド関数を用いたデータ変換を所定回数繰り返して暗
号化データを生成させるためのプログラムであって、コ
ンピュータを、任意の関数f(x)についてyi+1 =f
(yi )としy1 =f(p)とした場合にyn =p(n
は3以上のいずれかの整数)を満足する所定の関数f
(x)を前記ラウンド関数としてデータ変換する手段、
各ラウンドにおける前記関数f(x)の適用回数m(1
≦m≦n−1)を示す情報を記憶する手段と、および記
憶された前記各ラウンドにおける適用回数mを示す情報
に基づいて前記データ変換を繰り返し実行させる手段と
して機能させるためのプログラムを記録したコンピュー
タ読取り可能な記録媒体である。
【0023】また、本発明は、コンピュータに所定のラ
ウンド関数を用いたデータ変換を所定回数繰り返して暗
号化データのもととなったデータを生成させるための暗
号化プログラムであって、コンピュータを、任意の関数
f(x)についてyi+1 =f(yi )としy1 =f
(p)とした場合にyn =p(nは3以上のいずれかの
整数)を満足する所定の関数f(x)を前記ラウンド関
数としてデータ変換する手段、各ラウンドにおける前記
関数f(x)の適用回数s(1≦s≦n−1)を示す情
報を記憶する手段、および記憶された前記各ラウンドに
おける適用回数pを示す情報に基づいて前記データ変換
を繰り返し実行させる手段として機能させるためのプロ
グラムを記録したコンピュータ読取り可能な記録媒体で
ある。
【0024】なお、以上の装置に係る発明は方法に係る
発明としても成立し、方法に係る発明は装置に係る発明
としても成立する。また、装置または方法に係る本発明
は、コンピュータに当該発明に相当する手順を実行させ
るための(あるいはコンピュータを当該発明に相当する
手段として機能させるための、あるいはコンピュータに
当該発明に相当する機能を実現させるための)プログラ
ムを記録したコンピュータ読取り可能な記録媒体として
も成立する。
【0025】本発明によれば、任意の関数f(x)につ
いて、yi+1 =f(yi )とし、y1 =f(p)とした
場合に、yn =p(nは3以上のいずれかの整数)を満
足する関数f(x)、すなわちf(f(f(x)))=
xあるいはf(f(f(f(x))))=xのように3
回以上同じ変換を施すと元の値に戻る関数f(x)を、
積暗号のラウンド関数として用いることにより、この関
数の繰り返し適用回数を変えるだけで、暗号化および復
号化の構造を変化させることができる。
【0026】また、本発明によれば、3回以上同じ変換
を施すと元の値に戻る関数f(x)を積暗号のラウンド
関数として用いることにより、暗号化および復号化に同
じ構成の装置を用いることができるので、装置規模を小
さくすることができ、なおかつ鍵を与える順番を制御す
るだけで大規模な制御回路を付加することなく、可変構
造の暗号化装置、復号化装置を実現できる。
【0027】また、本発明によれば、構造自体を鍵とし
て実現することができるので、より安全であり、さら
に、暗号化と復号化の処理の負担を制御できるので、例
えば暗号化には処理能力の高い装置を復号化は処理能力
の乏しい装置を使うことができる。また、本発明によれ
ば、全体のラウンド関数の実行回数に比べて鍵の数を減
らせるので、中間鍵生成にかかる手間を軽減することが
できる。
【0028】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。本実施形態では、暗号化や復号
化で用いるラウンド関数として、任意の入力x(所定の
要素数のベクトル;例えば64ビットデータ)に対して
n回(nは3以上)適用することにより元の入力xを与
える関数(n回の適用が単位変換になる関数)を用い
る。例えば、3回の適用により元の入力に戻る関数fは
入力xに対してf(f(f(x)))=xを満足し、4
回の適用により元の入力に戻る関数fは入力xに対して
f(f(f(f(x))))=xを満足する。
【0029】3回の適用が単位変換に等しい関数fの一
例として、例えば、 f(x)=(x−3)/(x−2) が挙げられる。この関数fは、f(f(f(x)))=
xを満足する。
【0030】また、3回の適用が単位変換に等しい関数
fの他の例として、次に示す8×8の行列Cは、8ビッ
トからなるブロックBに転置処理を施すもので、C3
I(単位変換)を満たすものである。つまり、C3 B=
Bとなる。
【0031】
【数1】
【0032】また、4回の適用が単位変換に等しい関数
fの他の例として、次に示す8×8の行列Dは、8ビッ
トからなるブロックBに転置処理を施すもので、D4
I(単位変換)を満たすものである。つまり、D4 B=
Bとなる。
【0033】
【数2】
【0034】さらに、パラメトリックな関数ではなく、
変換テーブルを用いるなどノンパラメトリックな関数に
よるデータ変換も可能である。その他、n回(nは3以
上)の適用により元の入力を与える関数(n回の適用が
単位変換になる関数)には、種々のものが考えられる。
【0035】さて、ラウンド関数としてn回(nは3以
上)適用により元の入力を与える関数を使用する場合、
暗号化において入力データに対してm(1≦m≦n−
1)回の関数fを適用し、この結果を暗号化データと
し、復号化において、この暗号化データに対してさらに
s=n−m回の関数fを適用すると、もとの入力データ
を得ることができる。
【0036】ここで、暗号化アルゴリズムにおいて入力
データに対して関数fを適用する回数m(および復号化
アルゴリズムにおいて暗号データに対して関数fを適用
する回数n−m)を変化させることにより、1対の暗号
化アルゴリズムおよび復号化アルゴリズムの構造を変化
させることができる。この場合、m(あるいはn−m)
を示す情報は、暗号側と復号側の間で受け渡しする鍵情
報となり得る。
【0037】なお、変化可能な構造の種類は、アルゴリ
ズムを構成させるラウンド数の増加、上記のnの増加に
より、増加させることができる。例えばラウンド関数と
して3回の適用により元の入力を与える関数を用いる場
合に次のケースが考えられる。
【0038】図1(a)のように、暗号側で、入力xに
対し関数fを2回適用した場合、f(f(x))と、実
行した繰り返し数2(あるいは残りの繰り返し数1)と
を、復号側に渡す。復号側では、このf(f(x))に
fを1回適用することにより、f(f(f(x)))=
xを得ることができる。
【0039】一方、図1(b)のように、暗号側で、f
を1回適用した場合、f(x)と、実行した繰り返し数
1(あるいは残りの繰り返し数2)とを、復号側に渡
す。復号側では、このf(x)にfを2回適用すること
により、f(f(f(x)))=xを得ることができ
る。
【0040】このように、上記の関数fを適用する回数
m(あるいはn−m)を変えるだけで、暗号化アルゴリ
ズムと復号化アルゴリズムの構造を容易に制御すること
ができる。
【0041】しかも、アルゴリズムの構造を制御するた
めに、同じ関数の繰り返し数を可変とするだけであるの
で、特に回路量を増大させるようなこともない。また、
ラウンド関数としてn回適用で単位変換になる関数(た
だし、n≧3)を使用する場合、暗号化アルゴリズムと
復号化アルゴリズムにn回の演算を任意に振り分けるこ
とができるので、暗号側の処理量と復号側の処理量を制
御することができる。例えば、復号側の処理量を軽減す
るなどが可能となる。
【0042】なお、上記した関数fには、それ自体がラ
ウンドに依存する鍵となるパラメータを持つものと、そ
れ自体はパラメータを持たない固定されたものとがあ
る。前者の場合、関数f自体の持つパラメータと、上記
の暗号側での繰り返し数mあるいは復号側での繰り返し
数n−mとを、鍵情報として扱うことができる。また、
後者の場合でも、上記のmあるいはn−mを鍵情報とし
て扱うことができる。
【0043】さらに、後者の場合、例えば、パラメータ
を持たない関数fcと、鍵を用いたg(g(x))=x
を満たす関数gとを組にして、ラウンドを構成すること
も可能である。なお、この場合、暗号側と復号側とで、
関数fcと関数gの実行順序が逆になる。
【0044】また、上記のm(あるいはn−m)の扱い
については、次のように種々の方法が考えられる。 (1)m(あるいはn−m)の値は、外部から指示する
方法と、乱数により決定する方法等がある。 (2)m(あるいはn−m)の値は、一纏まりのデータ
(例えば1つのファイル)ごとに変更する方法、処理単
位であるブロック(例えば64ビットのデータ)ごとに
変更する方法、暗号通信するノード対ごとに取り決める
方法、暗号化されたデータを格納するリムーバブル記憶
媒体ごとに変更する方法など、種々の方法がある。 (3)m(あるいはn−m)を示す情報は、暗号側で決
定し復号側に指示する方法、復号側で決定し暗号側に指
示する方法、それ以外の主体が決定し暗号側と復号側に
指示する方法等がある。
【0045】さて、本実施形態では、上記のようなn回
(nは3以上)適用が単位変換になる関数fを用いて様
々な暗号化アルゴリズムと復号化アルゴリズムを構成す
ることができる。その際、アルゴリズムに、上記のよう
な関数fを少なくとも1つ含んでいれば、その構造を可
変にすることができる。例えば、アルゴリズムには以下
のような場合が考えられる。 (1)1種類の関数fのみからなるもの (2)複数の種類の関数fを混在させたもの(この場
合、種類の異なる関数として、元の入力xに戻るまでの
適用回数nが同一のものと異なるものとが存在し得る) (3)上記の(1)または(2)において、2回適用で
単位変換になる関数g、すなわちg(g(x))=xを
満たす関数gをも少なくとも1種類1ラウンド用いるも
の(なお、g(g(x))=xを満たす関数gは、変換
テーブルや排他的論理和を用いたものなど、種々のもの
が知られている。特に、DESで用いられているインボ
リューション関数は良く知られている。) (4)なお、暗号側で上記関数fの他に任意の関数H1
(x)と関数H2(x)を用い、復号側で上記関数fの
他に関数H1 (x)と関数H2 (x)の逆関数関数H1
-1(x)と関数H2 -1(x)を用いても構わない(H1
(x)=1または関数H2 =1の場合も含む)。この場
合の一例を図2(a)、(b)に示す。(a)が暗号
側、(b)が復号側である。
【0046】いずれの場合においても、同じ関数につい
て鍵などのパラメータのみ相違させた変換処理を何ラウ
ンド実行するかは任意に設定可能である。なお、1対の
暗号化アルゴリズムと復号化アルゴリズムの全ラウンド
数は、固定的に設定することも、可変にすることもでき
る。
【0047】ここで、図3と図4に、1種類の関数fの
みからなり、4ラウンドを有する暗号化アルゴリズムと
復号化アルゴリズムの例を示す。図3と図4は、各ラウ
ンドにおける関数fの適用回数を変化させたものであ
る。ここで、関数fは3回適用で単位変換になる関数で
あるものとする。
【0048】図3(a)においては、暗号側で、入力デ
ータに対し、まず鍵k1 を用いて関数fを2回、次に鍵
k2 を用いて関数fを1回、次に鍵k3 を用いて関数f
を2回、次に鍵k4 を用いて関数fを1回実行して、暗
号化データを生成する。そして、図3(b)のように復
号側では、この暗号化データに対し、まず鍵k4 を用い
て関数fを2回、次に鍵k3 を用いて関数fを1回、次
に鍵k2 を用いて関数fを2回、次に鍵k1 を用いて関
数fを1回実行して、もとのデータを得る。
【0049】このように、復号化アルゴリズムは、暗号
化アルゴリズムと同様の構成であるが、鍵を与える順番
が逆になっており、また各ラウンド内でのf関数の適用
回数が異なっているのが分かる。
【0050】また、図4(a)においては、暗号側で、
入力データに対し、鍵k1 を用いて関数fを2回、次に
鍵k2 を用いて関数fを2回、次に鍵k3 を用いて関数
fを2回、次に鍵k4 を用いて関数fを2回実行して、
暗号化データを生成する。そして、図4(b)のように
復号側では、この暗号化データに対し、鍵k4 を用いて
関数fを1回、次に鍵k3 を用いて関数fを1回、次に
鍵k2 を用いて関数fを1回、次に鍵k1 を用いて関数
fを1回実行して、もとのデータを得る。
【0051】このように、各ラウンドにおける関数fの
適用回数を制御することで、アルゴリズムの構造を変化
させることができる。なお、この場合、8種類の構造に
変化させることができる。
【0052】また、図3では、暗号側と復号側の処理が
同量であったが、図4では暗号側に比較して復号側の処
理が軽減されている。また、図5と図6には、2種類の
関数faとfbを使用し、各関数について2ラウンドを
有する暗号化アルゴリズムと復号化アルゴリズムの例を
示す。図5と図6は、各ラウンドにおける関数fの適用
回数を変化させたものである。ここで、関数faは3回
適用で単位変換になる関数であり、fbは4回適用で単
位変換になる関数であるとする。
【0053】図5(a)においては、暗号側で、入力デ
ータに対し、まず鍵ka1を用いて関数faを2回、次に
鍵kb1を用いて関数fbを2回実行し、さらに鍵ka2を
用いて関数faを1回、次に鍵kb2を用いて関数fbを
2回実行して、暗号化データを生成する。そして、図5
(b)のように復号側では、この暗号化データに対し、
まず鍵kb2を用いて関数fbを2回、次に鍵ka2を用い
て関数faを2回実行し、さらに鍵kb1を用いて関数f
bを2回、次に鍵ka1を用いて関数fbを1回実行し
て、暗号化データを生成する。
【0054】また、図6(a)においては、暗号側で、
入力データに対し、まず鍵ka1を用いて関数faを2
回、次に鍵kb1を用いて関数fbを3回実行し、さらに
鍵ka2を用いて関数faを2回、次に鍵kb2を用いて関
数fbを3回実行して、暗号化データを生成する。そし
て、図6(b)のように復号側で、この暗号化データに
対し、まず鍵kb2を用いて関数fbを1回、次に鍵ka2
を用いて関数faを1回実行し、さらに鍵kb1を用いて
関数fbを1回、次に鍵ka1を用いて関数fbを1回実
行して、暗号化データを生成する。
【0055】図5では、暗号側と復号側の処理が同量で
あったが、図6では暗号側に比較して復号側の処理が軽
減されている。次に、図7に、それ自体はパラメータを
持たない関数fcと、鍵を用いたg(g(x))=xを
満たす関数とを組にして、1ラウンドを構成するように
した例を示す。(a)は暗号側であり、(b)は復号側
である。
【0056】ここでは、fc(fc(fc(x)))=
xを満たすものとし、3ラウンドの変換を行うものとす
る。なお、関数fcの最も簡単な例としては、前述の行
列Cのような変換を行うものである。また、関数gの最
も簡単な例としては、処理対象のブロックデータと、鍵
データとの排他的論理和をとるものである。
【0057】なお、この場合、暗号側の1ラウンド内に
おけるfcとgの実行順序と、復号側の1ラウンド内に
おけるfcとgの実行順序とは逆になる。図7では、各
ラウンドにおける関数fcの適用回数を変化させた一例
として、暗号側のラウンド#1で2回、ラウンド#2で
1回、ラウンド#3で2回、ラウンド#4で1回の場合
を示している。
【0058】さて、以上説明してきた暗号化アルゴリズ
ムや復号化アルゴリズムを実行する装置は、全てソフト
ウェアで実現することも、ハードウェアを用いて実現す
ることも可能である。
【0059】以下では、上記の暗号化アルゴリズムや復
号化アルゴリズムを実行する情報処理装置をハードウェ
アを用いて実現する例について説明する。図8に、本実
施形態に係る情報処理装置の構成例を示す。(a)が暗
号側の構成であり、(b)が復号側の構成である。この
例では、図8に示されるように、暗号側の構成と復号側
の構成は同様である。
【0060】本構成例において、ラウンド数R、各ラウ
ンドrにおけるラウンド関数の繰り返し数m(r)、各
ラウンドrにおける鍵k(r)がパラメータとなり得る
(ここでr=1〜R)。
【0061】図8(a)の暗号側において、ラウンド関
数処理部2は、n回(nは3以上)適用が単位変換にな
る関数f(x)について、その1回分の処理を、与えら
れた鍵を用いて行う。
【0062】鍵保管部4は、各ラウンドにおける関数f
の繰り返し適用回数m(r)を示す情報M(r)と、各
ラウンドrにおける鍵k(r)とを記憶する。適用回数
を示す情報M(r)と鍵k(r)とは、前述したような
所定の方法で設定されたものが記憶されているものとす
る。
【0063】ここで、暗号側ではM(r)=m(r)と
し、復号側ではM(r)=n−m(r)としても良い。
また、復号側については既に実行した回数m(r)を使
用しも良い(この値から残りの実行回数が一意に決定さ
れる)。後者の場合、暗号側と復号側の情報の内容を同
じにすることができる。
【0064】あるいは、暗号側ではM(r)=m(r)
−1とし、復号側ではM(r)=n−m(r)−1とし
ても良い。また、復号側については既に実行した回数m
(r)−1を使用しても良い。この場合、n=3なら
ば、1ビットで表現可能である。また、後者の場合、暗
号側と復号側の適用回数を示す情報を同じ内容にするこ
とができる。
【0065】選択回路6は、処理対象となるデータの入
力時にのみ、この入力データをラウンド関数処理部2側
に伝え、その他ではラウンド関数を繰り返し実行するた
めに、選択回路6の出力をラウンド関数処理部2側に伝
える。
【0066】選択回路8は、最終段のラウンド関数の実
行までは、ラウンド関数処理部2の出力を選択回路4に
伝え、最終段のラウンド関数の実行結果を暗号化データ
として出力させる。
【0067】図示しない制御部は、繰り返し行われるデ
ータ変換の進行を制御するものであり、鍵保管部4に記
憶された適用回数m(r)を示す情報M(r)に基づい
て、鍵k(r)のうち当該ラウンドにおいてラウンド関
数処理部2で使用するものを指示するとともに、選択回
路6と選択回路8の切り替えを制御する。
【0068】また、図8(b)の復号側は、上記の暗号
側と同様であり、鍵保管部4に格納される情報の内容が
相違するだけであり、入力が暗号化データ、出力がもと
のデータとなる。
【0069】例えば、図8(a)において、ラウンド数
R=4とし、関数fがf(f(f(x)))=xを満た
すものとし、暗号側でM(r)=0の場合には1回の繰
り返しを示し、M(r)=1の場合には2回の繰り返し
を示すものとして、図9(a)のように、M(1)=
1、M(2)=0、M(3)=1、M(4)=0とし、
鍵k(1)=k1 、鍵k(2)=k2 、鍵k(3)=k
3 、鍵k(4)=k4 とする。各ラウンドにおけるMと
kの各ビットは1対1に対応しており、ラウンド毎の変
換を2回行うか1回行うかは、対応する制御鍵Mのビッ
ト位置の内容が1であるか0であるかによって決まる。
この場合、図3(a)に示した暗号化アルゴリズムを実
現することができる。
【0070】この暗号化アルゴリズムと対になる復号化
アルゴリズムについては、図9(b)のように、M
(1)=0、M(1)=1、M(1)=0、M(1)=
1とし、鍵k(1)=k4 、k(2)=k3 、k(3)
=k2 、k(4)=k1 とすると、図3(b)に示した
復号化アルゴリズムを実現することができる。
【0071】また、例えば、ラウンド数R=4とし、図
9(c)のようにパラメータを設定すると図4(a)に
示した暗号化アルゴリズムを実現することができ、図9
(d)のようにパラメータを設定すると図4(b)に示
した復号化アルゴリズムを実現することができる。
【0072】なお、復号側では、M(r)=1の場合に
は1回の繰り返しを示し、M(r)=0の場合には2回
の繰り返しを示すものとすると、例えば図9(b)のパ
ラメータは、M(1)=1、M(2)=0、M(3)=
1、M(4)=0となり、暗号側と同じ情報で表現する
ことができる。
【0073】このように、制御鍵となるのM(r)のビ
ット重み(1の数)を制御することで、暗号化アルゴリ
ズムおよび復号化アルゴリズムの構造を制御することが
できる。
【0074】また、制御鍵となるM(r)のビット重み
(1の数)を制御することで、暗号化アルゴリズムおよ
び復号化アルゴリズムの処理量を制御することができ
る。これは、例えば計算能力の乏しい環境で復号すると
きに復号側の負荷を減らす等に応用できる。
【0075】なお、図10に示すように、例えば図8の
構成を有するラウンド処理部20を、各ラウンド毎に設
け、各ラウンドの処理をパイプライン的に実行するよう
にしても良い。
【0076】次に、図11に、それ自体はパラメータを
持たない関数fcと、鍵を用いたg(g(x))=xを
満たす関数とを組にして、1ラウンドを構成するように
した例を示す。暗号側と復号側で構成は同様であるが、
暗号側の1ラウンド内におけるfcとgの実行順序と、
復号側の1ラウンド内におけるfcとgの実行順序とは
逆になる。
【0077】ラウンド関数処理部2は、n回(nは3以
上)適用が単位変換になる関数f(x)について、その
1回分の処理を、与えられた鍵を用いて行う。ラウンド
関数処理部30は、鍵を用いたg(g(x))=xを満
たす関数について、その1回分の処理を、与えられた鍵
を用いて行うもにである。
【0078】鍵保管部4は、各ラウンドにおける関数f
の繰り返し適用回数を示す情報M(r)と、各ラウンド
rにおける鍵k(r)とを記憶する。選択回路16は、
処理対象となるデータの入力時にのみ、この入力データ
をラウンド関数処理部2またはラウンド関数処理部30
側に伝え、その他ではラウンド関数を繰り返し実行する
ために、選択回路16の出力をラウンド関数処理部2側
に伝える。
【0079】選択回路18は、最終段のラウンド関数の
実行までは、ラウンド関数処理部2またはラウンド関数
処理部30の出力を選択回路14に伝え、最終段のラウ
ンド関数の実行結果を暗号化データとして出力させる。
【0080】なお、図示しない制御部は、繰り返し行わ
れるデータ変換の進行を制御するものであり、鍵保管部
4に記憶された適用回数を示す情報M(r)に基づい
て、鍵k(r)のうち当該ラウンドにおいてラウンド関
数処理部30で使用するものを指示するとともに、選択
回路16と選択回路18の切り替えを制御する。
【0081】例えば、暗号側においてg、fcの順に実
行するものとし、ラウンド数R=4とし、図9(a)の
ようにパラメータを設定すると図7(a)に示した暗号
化アルゴリズムを実現することができ、図9(b)のよ
うにパラメータを設定すると図7(b)に示した復号化
アルゴリズムを実現することができる。
【0082】以上の暗号化機能を搭載する情報処理装置
と復号化機能を搭載する情報処理装置は、ネットワーク
を介した通信を可能とする通信装置を備えても良いし、
リムーバブル記憶媒体を介したデータの受け渡しを可能
とするリムーバブル記憶媒体のドライブ装置を備えても
良い。
【0083】また、1台の情報処理装置に暗号化機能と
復号化機能の両方を搭載しても良いし、いずれか一方の
み搭載しても良い。1台の情報処理装置に暗号化機能と
復号化機能の両方を搭載する場合、暗号化回路と復号化
回路を独立に設けても良いし、回路を共通化して構成し
ても良い。
【0084】暗号対象のデータは、文書、音声、画像、
プログラムなど、どのようなものでも適用可能である。
本実施形態によれば、3回以上、同じ変換を施すと元の
値に戻る関数を、積暗号のラウンド関数として用いるこ
とにより、暗号化および復号化に同じ構成の装置を用い
ることができるので、装置規模を小さくすることがで
き、なおかつ鍵を与える順番を制御するだけで大規模な
制御回路を付加することなく、可変構造の暗号化装置、
復号化装置を実現できる。
【0085】また、構造自体を鍵として実現することが
できるので、より安全であり、さらに、暗号化と復号化
の処理の負担を制御できるので、例えば暗号化には処理
能力の高い装置を復号化は処理能力の乏しい装置を使う
ことができる。
【0086】また、全体のラウンド関数の実行回数に比
べて鍵の数を減らせるので、中間鍵生成にかかる手間を
軽減することができる。なお、ラウンド関数としてn回
適用が単位変換になる関数f(x)を用いた暗号方法や
復号方法は、本実施形態で示したもの以外にも種々のも
のが考えられ、またその場合における暗号装置や復号装
置の構成も種々のものが実現可能である。
【0087】なお、本発明は、コンピュータに所定の手
順を実行させるための(あるいはコンピュータを所定の
手段として機能させるための、あるいはコンピュータに
所定の機能を実現させるための)プログラムを記録した
コンピュータ読取り可能な記録媒体として実施すること
もできる。
【0088】以下では、コンピュータに上記の暗号化ア
ルゴリズムおよび/または復号化アルゴリズムを実行さ
せるためのプログラムあるいはそれらを含むアルゴリズ
ムを実行させるためのプログラムを記録したコンピュー
タ読取り可能な記録媒体から該プログラムを読み込んで
これをコンピュータのCPU上で実行させる場合につい
て簡単に説明する。
【0089】図12に、フレキシブルディスクやDVD
などの記録媒体に記録された暗号化機能および/または
復号化機能を含むプログラムをコンピュータにインスト
ールして実行する例を示す。図中、100はCPU、1
02は実行するプログラム、暗号化あるいは復号化の対
象などのデータ、鍵情報、暗号化あるいは復号化の処理
結果の暗号化されたあるいは復号化されたデータなどを
記憶するためのRAM、104は記録媒体に対して少な
くともプログラムなどの情報の読み出しを行うディスク
ドライブ装置、106はユーザインタフェースとしての
入出力装置、120はバスである。
【0090】まず、本発明を適用したプログラムの記録
されたディスクをディスクドライブ装置104にセット
し、ディスクドライブ装置104からディスクに記憶さ
れている所定のプログラムをコンピュータ内に読み込
む。なお、直接、RAM102に読み込んでもよいし、
一旦、ハードディスク装置(図示せず)に保存してから
実行時にRAM102に読み込んでもよい。
【0091】そして、RAM102に書き込まれた暗号
化プログラムあるいは復号化プログラムをCPU100
により実行することにより、前述したような暗号化機能
や復号化機能が実現できる。また、このプログラムの実
行により、暗号化されたデータあるいは復号化されたデ
ータが得られる。
【0092】なお、計算に用いるデータは例えば必要に
応じてその格納場所から(あるいは入出力装置106)
からRAM102に読み込まれる。このような機能は、
上記のプログラム中に記述されていてもよいし(その代
わりに、オペレーティングシステムに処理を依頼する命
令を記述しておいてもよいし)、別のプログラムによっ
て予めRAM102に格納しておいてもよい。
【0093】また、処理の結果得られた暗号化されたデ
ータあるいは復号化されたデータは、必要に応じて、例
えばハードディスク装置(図示せず)に書き込まれ、あ
るいは入出力装置106の表示画面に表示され、あるい
はネットワークへのインタフェース装置(図示せず)を
介して所定の通信相手に向けて送出される。このような
機能は、上記のプログラム中に記述されていてもよいし
(その代わりに、オペレーティングシステムに処理を依
頼する命令を記述しておいてもよいし)、別のプログラ
ムで実現されてもよい。
【0094】図12の構成は通常のコンピュータを想定
したものであるが、CPU100とRAM102を搭載
したICカードをコンピュータなどに接続しても図12
のような構成は実現可能である。
【0095】また、上記では記録媒体としてフレキシブ
ルディスクやDVDなどのディスクを例に上げたが、記
録媒体として他の形態のものを用いることも可能であ
る。例えば、記録媒体としてROMを用い、これをバス
120あるいは他のバスに接続するか、もしくはROM
から読み出したプログラムを、RAM102に書き込む
ようにすることも可能である。あるいは、記録媒体とし
てICカードを用い、図12のディスクドライブ104
の代わりにICカードリーダを用いてインストールする
ようにしてもよい。
【0096】なお、鍵情報は、例えば、プログラム中に
作り込まれている他、図示しないネットワークを通じて
取得したり、あるいはICカードに保存されているもの
を読み込んだり、あるいは入出力装置106から入力し
たり、様々な形態が利用可能である。
【0097】また、上記プログラムは、その一部の機能
として暗号化機能および/復号化機能を含むものであっ
てもよいし、特定のオペレーティングシステムを前提と
するものであってもよい。本発明は、上述した実施の形
態に限定されるものではなく、その技術的範囲において
種々変形して実施することができる。
【0098】
【発明の効果】本発明によれば、3回以上、同じ変換を
施すと元の値に戻る関数を、積暗号のラウンド関数とし
て用いることにより、この関数の繰り返し適用回数を変
えるだけで、暗号化および復号化の構造を変化させるこ
とができる。
【0099】また、本発明によれば、暗号化および復号
化に同じ構成の装置を用いることができるので、装置規
模を小さくすることができ、なおかつ鍵を与える順番を
制御するだけで大規模な制御回路を付加することなく、
可変構造の暗号化装置、復号化装置を実現できる。
【0100】また、本発明によれば、構造自体を鍵とし
て実現することができるので、より安全であり、さら
に、暗号化と復号化の処理の負担を制御できるので、例
えば暗号化には処理能力の高い装置を復号化は処理能力
の乏しい装置を使うことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る暗号化と復号化の基
本構成を説明するための図
【図2】本発明の一実施形態に係る暗号化と復号化の他
の構成を説明するための図
【図3】同実施形態に係る暗号化と復号化の一例を示す
【図4】同実施形態に係る暗号化と復号化の一例を示す
【図5】同実施形態に係る暗号化と復号化の一例を示す
【図6】同実施形態に係る暗号化と復号化の一例を示す
【図7】同実施形態に係る暗号化と復号化の一例を示す
【図8】同実施形態に係る情報処理装置の一例を示す図
【図9】鍵情報の例を示す図
【図10】同実施形態に係る情報処理装置の一例を示す
【図11】同実施形態に係る情報処理装置の一例を示す
【図12】同実施形態をプログラムを用いて実現する場
合について説明するための図
【符号の説明】
2,30…ラウンド関数処理部 4…鍵保管部 6,8…選択回路 20…ラウンド処理部

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】所定のラウンド関数を用いたデータ変換を
    所定回数繰り返して暗号化データを生成する暗号化方法
    において、 任意の関数f(x)について、yi+1 =f(yi )と
    し、y1 =f(p)とした場合に、yn =p(nは3以
    上のいずれかの整数)を満足する関数f(x)を前記ラ
    ウンド関数として用いることを特徴とする暗号化方法。
  2. 【請求項2】所定数のラウンドを有し、各ラウンドごと
    に前記関数f(x)の適用回数mを1≦m≦n−1の範
    囲で可変にしたことを特徴とする請求項1に記載の暗号
    化方法。
  3. 【請求項3】前記各ラウンドにおける適用回数mは、鍵
    情報として与えられたものであることを特徴とする請求
    項2に記載の暗号化方法。
  4. 【請求項4】所定のラウンド関数を用いたデータ変換を
    所定回数繰り返して暗号化データのもととなったデータ
    を生成する復号化方法において、 任意の関数f(x)について、yi+1 =f(yi )と
    し、y1 =f(p)とした場合に、yn =p(nは3以
    上のいずれかの整数)を満足する関数f(x)を前記ラ
    ウンド関数として用いることを特徴とする復号化方法。
  5. 【請求項5】所定数のラウンドを有し、各ラウンドごと
    に前記関数f(x)の適用回数sを1≦s≦n−1の範
    囲で可変にしたことを特徴とする請求項4に記載の復号
    化方法。
  6. 【請求項6】前記各ラウンドにおける適用回数sは、鍵
    情報として与えられたものであることを特徴とする請求
    項5に記載の復号化方法。
  7. 【請求項7】所定のラウンド関数を用いたデータ変換を
    所定回数繰り返して暗号化データを生成する暗号化装置
    において、 任意の関数f(x)について、yi+1 =f(yi )と
    し、y1 =f(p)とした場合に、yn =p(nは3以
    上のいずれかの整数)を満足する所定の関数f(x)を
    前記ラウンド関数としてデータ変換する手段と、 各ラウンドにおける前記関数f(x)の適用回数m(1
    ≦m≦n−1)を示す情報を記憶する手段と、 記憶された前記各ラウンドにおける適用回数mを示す情
    報に基づいて前記データ変換を繰り返し実行させる手段
    とを備えたことを特徴とする暗号化装置。
  8. 【請求項8】所定のラウンド関数を用いたデータ変換を
    所定回数繰り返して暗号化データのもととなったデータ
    を生成する復号化装置において、 任意の関数f(x)について、yi+1 =f(yi )と
    し、y1 =f(p)とした場合に、yn =p(nは3以
    上のいずれかの整数)を満足する所定の関数f(x)を
    前記ラウンド関数としてデータ変換する手段と、 各ラウンドにおける前記関数f(x)の適用回数s(1
    ≦s≦n−1)を示す情報を記憶する手段と、 記憶された前記各ラウンドにおける適用回数pを示す情
    報に基づいて前記データ変換を繰り返し実行させる手段
    とを備えたことを特徴とする復号化装置。
  9. 【請求項9】コンピュータに、処理対象のデータに対し
    て、yi+1 =f(yi )としy1 =f(p)とした場合
    にyn =p(nは3以上のいずれかの整数)を満足する
    所定のラウンド関数f(x)を用いたデータ変換をnよ
    り小さい所定の回数繰り返させるための手順を含むプロ
    グラムを記録したコンピュータ読取り可能な記録媒体。
  10. 【請求項10】前記プログラムはコンピュータに前記所
    定の回数を定めさせる手順を含むものであることを特長
    とする請求項9に記載のコンピュータ読取り可能な記録
    媒体。
  11. 【請求項11】コンピュータに所定のラウンド関数を用
    いたデータ変換処理を実行させるためのプログラムであ
    って、コンピュータを、任意の関数f(x)についてy
    i+1 =f(yi )としy1 =f(p)とした場合にyn
    =p(nは3以上のいずれかの整数)を満足する所定の
    関数f(x)をラウンド関数としてデータ変換する手
    段、各ラウンドにおける前記関数f(x)の適用回数m
    (1≦m≦n−1)を示す情報を記憶する手段、および
    記憶された前記各ラウンドにおける適用回数mを示す情
    報に基づいて前記データ変換を繰り返し実行させる手段
    として機能させるためのプログラムを記録したコンピュ
    ータ読取り可能な記録媒体。
JP9345090A 1996-12-20 1997-12-15 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置 Pending JPH10232606A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9345090A JPH10232606A (ja) 1996-12-20 1997-12-15 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-341760 1996-12-20
JP34176096 1996-12-20
JP9345090A JPH10232606A (ja) 1996-12-20 1997-12-15 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置

Publications (1)

Publication Number Publication Date
JPH10232606A true JPH10232606A (ja) 1998-09-02

Family

ID=26577048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9345090A Pending JPH10232606A (ja) 1996-12-20 1997-12-15 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置

Country Status (1)

Country Link
JP (1) JPH10232606A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100362170B1 (ko) * 2000-05-04 2002-11-23 한국전자통신연구원 라운드 키 생성 및 암호처리용 암호화장치
KR100425956B1 (ko) * 2000-07-15 2004-04-03 (주)시큐어피아 동작 진행 중 라운드 키 계산 방식을 이용한 seed 암호 및 복호 회로
JP2006025298A (ja) * 2004-07-09 2006-01-26 Oki Electric Ind Co Ltd 相互認証方法、相互認証装置、及び相互認証システム
KR100594265B1 (ko) * 2004-03-16 2006-06-30 삼성전자주식회사 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법.
KR100667189B1 (ko) 2005-12-10 2007-01-12 한국전자통신연구원 휴대 기기를 위한 aes 암호화 장치 및 방법
JP2010206796A (ja) * 2009-03-02 2010-09-16 Irdeto Access Bv 秘密のデータの送信機から受信機への安全な提供
KR101047265B1 (ko) 2007-10-10 2011-07-06 캐논 가부시끼가이샤 Aes 암호화/복호화 회로
US8958558B2 (en) 2009-03-02 2015-02-17 Irdeto B.V. Conditional entitlement processing for obtaining a control word

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100362170B1 (ko) * 2000-05-04 2002-11-23 한국전자통신연구원 라운드 키 생성 및 암호처리용 암호화장치
KR100425956B1 (ko) * 2000-07-15 2004-04-03 (주)시큐어피아 동작 진행 중 라운드 키 계산 방식을 이용한 seed 암호 및 복호 회로
KR100594265B1 (ko) * 2004-03-16 2006-06-30 삼성전자주식회사 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법.
JP2006025298A (ja) * 2004-07-09 2006-01-26 Oki Electric Ind Co Ltd 相互認証方法、相互認証装置、及び相互認証システム
KR100667189B1 (ko) 2005-12-10 2007-01-12 한국전자통신연구원 휴대 기기를 위한 aes 암호화 장치 및 방법
KR101047265B1 (ko) 2007-10-10 2011-07-06 캐논 가부시끼가이샤 Aes 암호화/복호화 회로
JP2010206796A (ja) * 2009-03-02 2010-09-16 Irdeto Access Bv 秘密のデータの送信機から受信機への安全な提供
US8958558B2 (en) 2009-03-02 2015-02-17 Irdeto B.V. Conditional entitlement processing for obtaining a control word
CN105872597A (zh) * 2009-03-02 2016-08-17 爱迪德技术有限公司 从发送器向接收器安全地提供保密数据
US9455834B2 (en) 2009-03-02 2016-09-27 Irdeto B.V. Securely providing secret data from a sender to a receiver
US9866381B2 (en) 2009-03-02 2018-01-09 Irdeto B.V. Conditional entitlement processing for obtaining a control word

Similar Documents

Publication Publication Date Title
CN113505894B (zh) 纵向联邦学习线性回归和逻辑回归模型训练方法及装置
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
US20160044003A1 (en) Secure computation using a server module
US7162032B2 (en) Encryption of programs represented as polynomial mappings and their computations
JPWO2019130528A1 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
Kh-Madhloom et al. ECG Encryption Enhancement Technique with Multiple Layers of AES and DNA Computing.
JP2012150399A (ja) プロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラム
JPH10232606A (ja) 暗号化方法及び復号化方法並びに暗号化装置及び復号化装置
JP2000066586A (ja) データ処理装置及び通信システム並びに記録媒体
JP7047838B2 (ja) 秘密計算装置、比較方法、比較プログラム、および秘密計算システム
JP5633563B2 (ja) 楕円曲線上のパラメータ化による暗号法
He et al. Quantum image encryption algorithm via optimized quantum circuit and parity bit-plane permutation
Buell Modern symmetric ciphers—Des and Aes
Afolabi et al. Implementation of an improved data encryption algorithm in a web based learning system
TWI746296B (zh) 同態多階視覺影像加密系統與方法及其應用
Ikhwan et al. Implementation of image file security using the advanced encryption standard method
Hussain Medical image encryption using multi chaotic maps
Nagase et al. A new quadripartite public-key cryptosystem
Artuğer A new S-box generator algorithm based on chaos and cellular automata
JP2006184831A (ja) 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム
Szmidt The cube attack on Courtois toy cipher
Suresh et al. Design of maintaining data security on IoT data transferred through IoT gateway system to cloud storage
Blaise et al. An Understanding and Perspectives of End-To-End Encryption
JP7194303B1 (ja) ディオファントス方程式及び人工知能が関与する暗号、復号、及び鍵生成の装置並びに方法
Meça Exploring Data Encryption Standard (DES) Through CrypTool Implementation: A Comprehensive Examination and Historical Perspective