JP2000244479A - 暗号化方法および装置、ならびに、復号化方法および装置 - Google Patents
暗号化方法および装置、ならびに、復号化方法および装置Info
- Publication number
- JP2000244479A JP2000244479A JP2000057103A JP2000057103A JP2000244479A JP 2000244479 A JP2000244479 A JP 2000244479A JP 2000057103 A JP2000057103 A JP 2000057103A JP 2000057103 A JP2000057103 A JP 2000057103A JP 2000244479 A JP2000244479 A JP 2000244479A
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption
- algorithm
- structured
- code
- 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)【要約】
【課題】 簡単な構成でより安全な暗号化を行えるよう
にする。 【解決手段】 例えばFEALやDESによる強い暗号
化手段2と直列に、弱い暗号化手段である構造化鍵手段
1が接続される。構造化鍵手段1は、鍵自体が暗号化を
行う構造とされ、公開されない鍵である。構造化鍵手段
1としては、入出力に特別な関係が存在しないビット転
置を用いるのがより好ましく、この場合、強い暗号化手
段2と構造化鍵手段1の両方を検査する以外に解読法が
無いといえる。入出力のビット数をBとした場合、両方
の検査を行うためには、2B・B!回の演算が必要とな
り、B=64ビットとすると、2B・B!≒10108回の
演算が必要となる。簡単な構成でより強い暗号化を行う
ことができる。
にする。 【解決手段】 例えばFEALやDESによる強い暗号
化手段2と直列に、弱い暗号化手段である構造化鍵手段
1が接続される。構造化鍵手段1は、鍵自体が暗号化を
行う構造とされ、公開されない鍵である。構造化鍵手段
1としては、入出力に特別な関係が存在しないビット転
置を用いるのがより好ましく、この場合、強い暗号化手
段2と構造化鍵手段1の両方を検査する以外に解読法が
無いといえる。入出力のビット数をBとした場合、両方
の検査を行うためには、2B・B!回の演算が必要とな
り、B=64ビットとすると、2B・B!≒10108回の
演算が必要となる。簡単な構成でより強い暗号化を行う
ことができる。
Description
【0001】
【発明の属する技術分野】この発明はコンピュータネッ
トワークシステムで通信されるデータの保護のために用
いられる暗号化方法および装置、ならびに、復号化方法
および装置に関する。
トワークシステムで通信されるデータの保護のために用
いられる暗号化方法および装置、ならびに、復号化方法
および装置に関する。
【0002】
【従来の技術】暗号化技術は、アタッカーにより情報が
盗用或いは漏洩されることを防止するとともに、相互認
証の基で確実に通信し合うことを可能にする。本格的に
到来するであろう大規模分散情報通信ネットワークシス
テムにおいて、情報を保護していくために、このような
暗号化技術の発達とその普及は不可欠である。
盗用或いは漏洩されることを防止するとともに、相互認
証の基で確実に通信し合うことを可能にする。本格的に
到来するであろう大規模分散情報通信ネットワークシス
テムにおいて、情報を保護していくために、このような
暗号化技術の発達とその普及は不可欠である。
【0003】暗号方式には、大別して慣用鍵方式(共通
鍵方式)と公開鍵方式とがある。慣用鍵方式では、暗号
化鍵と復号化鍵とが共通とされる。公開鍵方式では、暗
号化鍵と復号化鍵とが異なり、暗号化鍵が公開される。
鍵方式)と公開鍵方式とがある。慣用鍵方式では、暗号
化鍵と復号化鍵とが共通とされる。公開鍵方式では、暗
号化鍵と復号化鍵とが異なり、暗号化鍵が公開される。
【0004】暗号方式には、種々の方式が提案されてい
る。その中で実用的な符号としては、慣用鍵方式の暗号
化方式においては、DES(Data Encryption Standar
d)方式と、FEAL(Fast Data Encipherment Algoli
sm)方式があり、公開鍵暗号化方式においては、RSA
(Rivest Shamir Adleman)方式がある。
る。その中で実用的な符号としては、慣用鍵方式の暗号
化方式においては、DES(Data Encryption Standar
d)方式と、FEAL(Fast Data Encipherment Algoli
sm)方式があり、公開鍵暗号化方式においては、RSA
(Rivest Shamir Adleman)方式がある。
【0005】DES方式やFEAL方式は、強い暗号化
を行うアルゴリズムにより暗号化が行われるため、虱み
潰し以外に解読できないとされいる。このような強い暗
号化方式では、入力される平文と出力される暗号文及び
鍵と出力される暗号文との関係がランダムに結ぶものと
言える。このような関係は、入力される平文をp、鍵を
Kとした時、 f(p,K)=Rand(p,K) と表せる。
を行うアルゴリズムにより暗号化が行われるため、虱み
潰し以外に解読できないとされいる。このような強い暗
号化方式では、入力される平文と出力される暗号文及び
鍵と出力される暗号文との関係がランダムに結ぶものと
言える。このような関係は、入力される平文をp、鍵を
Kとした時、 f(p,K)=Rand(p,K) と表せる。
【0006】更に、このように強い暗号化方式では、入
力される平文のビット変化高に対する出力される暗号文
のビット変化高及び鍵のビット変化高に対する出力され
る暗号文のビット変化高がランダムであり、 f(Δp,ΔK)=Rand(Δp,ΔK) であるように構成されている。
力される平文のビット変化高に対する出力される暗号文
のビット変化高及び鍵のビット変化高に対する出力され
る暗号文のビット変化高がランダムであり、 f(Δp,ΔK)=Rand(Δp,ΔK) であるように構成されている。
【0007】一般に、このような暗号化方式のアルゴリ
ズムは、インボリューション構造を持つ。インボリュー
ション構造は、 c=f(p),p=f-1(c) において、 f=f-1 が成立する構造である。インボリューション構造を持つ
場合には、暗号化と復号化が同様の処理プロセスで行え
る。EX−ORをとるアルゴリズム(mod2の加算を
行うアルゴリズム)は、インボリューション構造の簡単
な例である。
ズムは、インボリューション構造を持つ。インボリュー
ション構造は、 c=f(p),p=f-1(c) において、 f=f-1 が成立する構造である。インボリューション構造を持つ
場合には、暗号化と復号化が同様の処理プロセスで行え
る。EX−ORをとるアルゴリズム(mod2の加算を
行うアルゴリズム)は、インボリューション構造の簡単
な例である。
【0008】
【発明が解決しようとする課題】暗号化方式としては、
上述したように、種々のものが提案されている。そし
て、信頼性の保証とハードウェアの共通化をはかれるた
めに、暗号化方式を標準化することが検討されている。
上述したように、種々のものが提案されている。そし
て、信頼性の保証とハードウェアの共通化をはかれるた
めに、暗号化方式を標準化することが検討されている。
【0009】ところが、超並列処理コンピュータの開発
等、コンピュータ技術の発展により、上述した従来の暗
号化方式では、十分安全であるとは言えなくなってきて
いる。このことが、暗号化方式を標準化していく上での
一つの障害となっている。
等、コンピュータ技術の発展により、上述した従来の暗
号化方式では、十分安全であるとは言えなくなってきて
いる。このことが、暗号化方式を標準化していく上での
一つの障害となっている。
【0010】つまり、暗号の強さのひとつのバロメータ
として鍵のビット長がある。すなわち、鍵のビット長が
長くなればなるほど、虱み潰しで解読される危険性が少
なくなる。したがって、鍵のビット長を増加していくこ
とで、暗号強度を増加できる。
として鍵のビット長がある。すなわち、鍵のビット長が
長くなればなるほど、虱み潰しで解読される危険性が少
なくなる。したがって、鍵のビット長を増加していくこ
とで、暗号強度を増加できる。
【0011】ところが、鍵のビット数が増えると、処理
が複雑化して、コストパフォーマンスが悪くなる。適当
な妥協点として、DES方式やFEAL方式では、従
来、ビット長を64ビットとしている。
が複雑化して、コストパフォーマンスが悪くなる。適当
な妥協点として、DES方式やFEAL方式では、従
来、ビット長を64ビットとしている。
【0012】このようにした場合、例えば、DES方式
では、虱み潰しで暗号を解読するのに、255回の演算が
必要である。FEALでは、虱み潰しで暗号を解読する
のに、264回の演算が必要である。したがって、並列処
理を行わず、1μsで1回の速度で演算を行って解読す
る場合には、虱み潰しで解読を行うのに、DES方式で
は1100年程かかり、FEAL方式では51万年程か
かることになり、DES方式やFEAL方式は、十分安
全な暗号といえる。
では、虱み潰しで暗号を解読するのに、255回の演算が
必要である。FEALでは、虱み潰しで暗号を解読する
のに、264回の演算が必要である。したがって、並列処
理を行わず、1μsで1回の速度で演算を行って解読す
る場合には、虱み潰しで解読を行うのに、DES方式で
は1100年程かかり、FEAL方式では51万年程か
かることになり、DES方式やFEAL方式は、十分安
全な暗号といえる。
【0013】ところが、近年のコンピータ処理速度の向
上は目覚ましく、106の並列処理で演算を行うことが
実現可能になった場合には、虱み潰しで解読を行うの
に、DES方式では9.6時間程、6.1カ月程で良い
ことになる。
上は目覚ましく、106の並列処理で演算を行うことが
実現可能になった場合には、虱み潰しで解読を行うの
に、DES方式では9.6時間程、6.1カ月程で良い
ことになる。
【0014】したがって、この発明の目的は、このよう
な超並列型のコンピュータの開発など、将来の演算速度
の向上に備えて、より安全な暗号化を行える暗号化方法
および装置、ならびに、復号化方法および装置を提供す
ることにある。
な超並列型のコンピュータの開発など、将来の演算速度
の向上に備えて、より安全な暗号化を行える暗号化方法
および装置、ならびに、復号化方法および装置を提供す
ることにある。
【0015】
【課題を解決するための手段】この発明は、入力コード
をx、キーコードをk、任意の入力コードのビット変化
高をΔx、任意のキーコードのビット変化高をΔkとし
たとき、f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う際の鍵
として、アルゴリズムの鍵と独立で且つ鍵自体がビット
転置のアルゴリズムをなす構造化鍵を用いるようにした
暗号化方法である。
をx、キーコードをk、任意の入力コードのビット変化
高をΔx、任意のキーコードのビット変化高をΔkとし
たとき、f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う際の鍵
として、アルゴリズムの鍵と独立で且つ鍵自体がビット
転置のアルゴリズムをなす構造化鍵を用いるようにした
暗号化方法である。
【0016】また、この発明は、入力コードをx、キー
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う暗号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした暗号化装置で
ある。
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う暗号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした暗号化装置で
ある。
【0017】また、この発明は、入力コードをx、キー
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う際の鍵
として、アルゴリズムの鍵と独立で且つ鍵自体がビット
転置のアルゴリズムをなす構造化鍵を用いるようにした
復号化方法である。
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う際の鍵
として、アルゴリズムの鍵と独立で且つ鍵自体がビット
転置のアルゴリズムをなす構造化鍵を用いるようにした
復号化方法である。
【0018】また、この発明は、入力コードをx、キー
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う復号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした復号化装置で
ある。
コードをk、任意の入力コードのビット変化高をΔx、
任意のキーコードのビット変化高をΔkとしたとき、f
=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う復号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした復号化装置で
ある。
【0019】上述したように、この発明では、DES方
式やFEAL方式のように強い暗号化を行うアルゴリズ
ムと直列に、鍵自体が暗号化アルゴリズムの構造化鍵を
付加することにより、暗号化強度が強化される。
式やFEAL方式のように強い暗号化を行うアルゴリズ
ムと直列に、鍵自体が暗号化アルゴリズムの構造化鍵を
付加することにより、暗号化強度が強化される。
【0020】
【発明の実施の形態】この発明の実施の一形態につい
て、以下の順序に従って説明する。 a.この発明が適用できる暗号化方法 a1.構造化鍵について a2.構造化鍵としてEX−ORを用いた場合の考察 a3.構造化鍵としてビット転置器用いた場合の考察
て、以下の順序に従って説明する。 a.この発明が適用できる暗号化方法 a1.構造化鍵について a2.構造化鍵としてEX−ORを用いた場合の考察 a3.構造化鍵としてビット転置器用いた場合の考察
【0021】a.この発明が適用できる暗号化方法 a1.構造化鍵について 現代暗号規約において、暗号に対する信用性や安全性を
はかるために、以下のような規約が提案されている 鍵以外の暗号化処理が公開されている 解読者は、鍵以外のすべての情報を知っているとし
て、鍵の虱み潰し解読法又は計算量的安全な方法以外に
解読法が知られていない このような規約を遵守した上で、より強い暗号化を行う
方法を考察することにする。
はかるために、以下のような規約が提案されている 鍵以外の暗号化処理が公開されている 解読者は、鍵以外のすべての情報を知っているとし
て、鍵の虱み潰し解読法又は計算量的安全な方法以外に
解読法が知られていない このような規約を遵守した上で、より強い暗号化を行う
方法を考察することにする。
【0022】従来の暗号化アルゴリズムでは、鍵が単純
なコードだけである。より強い暗号化を行うために、こ
れに加えて構造化された鍵を用いることが考えられる。
すなわち、DES方式やFEAL方式のように強い暗号
化アルゴリズムと直列に、鍵自体が暗号化を行う構造の
鍵を設けることが考えられる。このように、構造化され
た鍵を用いれば、解読がより困難になると考えられる。
なコードだけである。より強い暗号化を行うために、こ
れに加えて構造化された鍵を用いることが考えられる。
すなわち、DES方式やFEAL方式のように強い暗号
化アルゴリズムと直列に、鍵自体が暗号化を行う構造の
鍵を設けることが考えられる。このように、構造化され
た鍵を用いれば、解読がより困難になると考えられる。
【0023】このような構造化鍵は秘密にされる。そし
て、構造化鍵以外の全ての暗号化処理は、現代暗号化規
約に則って公開される。構造化鍵は、記録媒体に記憶さ
せ、秘密とされる関係上、単純な構造であることが望ま
しい。
て、構造化鍵以外の全ての暗号化処理は、現代暗号化規
約に則って公開される。構造化鍵は、記録媒体に記憶さ
せ、秘密とされる関係上、単純な構造であることが望ま
しい。
【0024】図1は、このような構造化鍵を用いた暗号
化の処理を示すものである。図1において、1は構造化
鍵手段、2は暗号化手段である。構造化鍵手段1と暗号
化手段2とが直列に配置される。構造化鍵手段1と暗号
化手段2は、直列の配置であれば、暗号化手段2を前に
配置してもよいし、暗号化手段2の前後に構造化手段1
を配置することも考えられる。
化の処理を示すものである。図1において、1は構造化
鍵手段、2は暗号化手段である。構造化鍵手段1と暗号
化手段2とが直列に配置される。構造化鍵手段1と暗号
化手段2は、直列の配置であれば、暗号化手段2を前に
配置してもよいし、暗号化手段2の前後に構造化手段1
を配置することも考えられる。
【0025】構造化鍵手段1は、アルゴリズムgによ
り、入力される平文pを暗号化し、中間コードp’を生
成するものである。この構造化鍵1でどのようなアルゴ
リズムで暗号化がなされているかは、秘密とされる。
り、入力される平文pを暗号化し、中間コードp’を生
成するものである。この構造化鍵1でどのようなアルゴ
リズムで暗号化がなされているかは、秘密とされる。
【0026】暗号化手段2には、構造化鍵手段1から出
力される中間コードp’が与えられるとともに、鍵Kが
与えられる。暗号化手段2は、中間コードp’を、鍵K
を用いて、アルゴリズムfにより強い暗号化を行い、暗
号文cを生成するものである。この暗号化手段2のアル
ゴリズムは、公開することができる。
力される中間コードp’が与えられるとともに、鍵Kが
与えられる。暗号化手段2は、中間コードp’を、鍵K
を用いて、アルゴリズムfにより強い暗号化を行い、暗
号文cを生成するものである。この暗号化手段2のアル
ゴリズムは、公開することができる。
【0027】図2は、このような構造化鍵を用いて暗号
化された暗号文を復号する復号化の処理を示すものであ
る。復号化は、図1の示す暗号化の処理に対応してい
る。
化された暗号文を復号する復号化の処理を示すものであ
る。復号化は、図1の示す暗号化の処理に対応してい
る。
【0028】図2において、3は復号化手段、4は構造
化手段である。復号化手段3は、鍵Kを用いて、アルゴ
リズムf-1により暗号文cから中間コードp’を生成す
るものである。構造化鍵手段4には、復号化手段3で復
号された中間コードp’が与えられる。構造化鍵手段4
は、中間コードp’から平文pを生成するものである。
これにより、暗号文cから平文pが解読される。
化手段である。復号化手段3は、鍵Kを用いて、アルゴ
リズムf-1により暗号文cから中間コードp’を生成す
るものである。構造化鍵手段4には、復号化手段3で復
号された中間コードp’が与えられる。構造化鍵手段4
は、中間コードp’から平文pを生成するものである。
これにより、暗号文cから平文pが解読される。
【0029】ここで、アルゴリズムf及びアルゴリズム
gについて説明する。アルゴリズムfは、強い暗号化を
行うものである。このアルゴリズムfは、以下のような
条件を満たしている。
gについて説明する。アルゴリズムfは、強い暗号化を
行うものである。このアルゴリズムfは、以下のような
条件を満たしている。
【0030】 f=f-1(インボリューション構造)
又はf-1が存在する。 入力p’、鍵Kとすると、 f(p’,K)=Rand(p’,K) つまり、p’やKに対して出力f(p’,K)がランダ
ムに対応する。 入力のビット変化量をΔp’、鍵のビット変化量を
ΔKとすると、 f(Δp’,ΔK)=Rand(Δp’,ΔK) つまり、Δp’やΔKに対して、出力変化量もランダム
に対応する。 暗号化は、 c=f(p’) で表せ、復号化は、 p’=f-1(c) で表せる。但し、インボリューション構造ならば、p’
=f(c)である。 入力p’や出力cが知られている時、鍵Kの虱み潰
し検査により鍵Kは解読されるがp’又はcの一方が未
知の時、その一方と鍵Kは解読不可能な構造をとる。
又はf-1が存在する。 入力p’、鍵Kとすると、 f(p’,K)=Rand(p’,K) つまり、p’やKに対して出力f(p’,K)がランダ
ムに対応する。 入力のビット変化量をΔp’、鍵のビット変化量を
ΔKとすると、 f(Δp’,ΔK)=Rand(Δp’,ΔK) つまり、Δp’やΔKに対して、出力変化量もランダム
に対応する。 暗号化は、 c=f(p’) で表せ、復号化は、 p’=f-1(c) で表せる。但し、インボリューション構造ならば、p’
=f(c)である。 入力p’や出力cが知られている時、鍵Kの虱み潰
し検査により鍵Kは解読されるがp’又はcの一方が未
知の時、その一方と鍵Kは解読不可能な構造をとる。
【0031】このようなアルゴリズムfとしては、DE
S方式やFEAL方式を用いることができる。
S方式やFEAL方式を用いることができる。
【0032】構造化鍵手段1で行うアルゴリズムgは、
以下のような構造を持つものである。 g=g-1又はg-1が存在する。 入力pのビット変化高Δpに対して、 g(Δp)≠Rand(Δp) であっても良い。 入力pと出力p’の両方が知られた時、gの構造が
知られても良いが、gの構造やg内の変数が知られない
時、pとp’の一方が知られても、他方を知ることがで
きない。
以下のような構造を持つものである。 g=g-1又はg-1が存在する。 入力pのビット変化高Δpに対して、 g(Δp)≠Rand(Δp) であっても良い。 入力pと出力p’の両方が知られた時、gの構造が
知られても良いが、gの構造やg内の変数が知られない
時、pとp’の一方が知られても、他方を知ることがで
きない。
【0033】アルゴリズムgとしては、きわめて単純な
構造、例えば、EX−OR構造、ビット転置、換字表等
が考えられる。後述するように、構造化鍵として用いる
アルゴリズムgとしては、ビット転置が好ましく、EX
−OR構造では、暗号化を十分強化することはできな
い。
構造、例えば、EX−OR構造、ビット転置、換字表等
が考えられる。後述するように、構造化鍵として用いる
アルゴリズムgとしては、ビット転置が好ましく、EX
−OR構造では、暗号化を十分強化することはできな
い。
【0034】a2.構造化鍵としてEX−ORを用いた
場合の考察 強い暗号化を行う暗号化処理に対する構造化鍵として、
全くランダムに選ばれた鍵kによりEX−ORをとるア
ルゴリズムを採用した場合について考察する。
場合の考察 強い暗号化を行う暗号化処理に対する構造化鍵として、
全くランダムに選ばれた鍵kによりEX−ORをとるア
ルゴリズムを採用した場合について考察する。
【0035】図3は、構造化鍵のアルゴリズムgとし
て、EX−ORをとる構造とした場合の例を示すもので
ある。図3において、11は構造化鍵手段であり、この
場合には、この構造化鍵手段11は、鍵kと入力pとの
EX−ORをとる回路である。暗号化処理手段12は、
DES方式やFEAL方式のような強い暗号化を行う暗
号化回路である。
て、EX−ORをとる構造とした場合の例を示すもので
ある。図3において、11は構造化鍵手段であり、この
場合には、この構造化鍵手段11は、鍵kと入力pとの
EX−ORをとる回路である。暗号化処理手段12は、
DES方式やFEAL方式のような強い暗号化を行う暗
号化回路である。
【0036】このように、EX−ORを取るアルゴリズ
ムを、強い暗号化方法のアルゴリズムに対する構造化鍵
とした場合の暗号強度について考察していくことにす
る。なお、便宜上f=f-1とみなす。また、以下におい
て、加算記号「+」は、排他論理和を表すものとする。
ムを、強い暗号化方法のアルゴリズムに対する構造化鍵
とした場合の暗号強度について考察していくことにす
る。なお、便宜上f=f-1とみなす。また、以下におい
て、加算記号「+」は、排他論理和を表すものとする。
【0037】このような暗号化は、平文をp、EX−O
R回路から出力される中間コードをp’、暗号文をcと
すると、 c=f(p’,K),p’=p+k で示される。また、復号化は、 p=k+p’, p’=f(c、k) であり、ここで、fはランダム関数である。上式をまと
めると、暗号化は、 c=f(p+k,K)=Rand(p+k,K) と表せ、復号化は、 p=k+f(c,K)=k+Rand(c,K) と表せる。
R回路から出力される中間コードをp’、暗号文をcと
すると、 c=f(p’,K),p’=p+k で示される。また、復号化は、 p=k+p’, p’=f(c、k) であり、ここで、fはランダム関数である。上式をまと
めると、暗号化は、 c=f(p+k,K)=Rand(p+k,K) と表せ、復号化は、 p=k+f(c,K)=k+Rand(c,K) と表せる。
【0038】上式から、以下のことがわかる。すなわ
ち、暗号化手続きは、2つの鍵kとKとのランダム関数
によるものの、復号化手続きは、ひとつの鍵Kのランダ
ム関数によるもののため、復号化の方向では、解読にお
いて、Kの虱み潰しは必要だが、kの虱み潰しを行う必
要はない。
ち、暗号化手続きは、2つの鍵kとKとのランダム関数
によるものの、復号化手続きは、ひとつの鍵Kのランダ
ム関数によるもののため、復号化の方向では、解読にお
いて、Kの虱み潰しは必要だが、kの虱み潰しを行う必
要はない。
【0039】つまり、復号化の方向においては、 f(c,K)+p=k=一定 という関係が成立する。このため、アタッカーは、既知
なるi個のサンプル(c i,pi)を用いて、図4に示す
ように、アルゴリズムfの処理を行う回路13とEX−
ORをとる回路14とからなる構造の処理回路によって
鍵Kを検索できる。すなわち、Kの虱み潰しで、全ての
サンプルi個において出力が一定となった時、その時の
出力(k)とKが鍵として知られる。したがって、この
手法の解読手数は、i・2Bである(B:鍵及び入出力
コードのビット数)。
なるi個のサンプル(c i,pi)を用いて、図4に示す
ように、アルゴリズムfの処理を行う回路13とEX−
ORをとる回路14とからなる構造の処理回路によって
鍵Kを検索できる。すなわち、Kの虱み潰しで、全ての
サンプルi個において出力が一定となった時、その時の
出力(k)とKが鍵として知られる。したがって、この
手法の解読手数は、i・2Bである(B:鍵及び入出力
コードのビット数)。
【0040】関数fは、ランダム関数であるため、出力
(k)が1回一定となった時、その時の出力(k)と鍵
(K)が本物でない確率(誤り率)は、コード数2B個
内のひとつのコードをとる確率2-Bに同等な程低い。つ
まり、i=2でも十分解読可能と言える。
(k)が1回一定となった時、その時の出力(k)と鍵
(K)が本物でない確率(誤り率)は、コード数2B個
内のひとつのコードをとる確率2-Bに同等な程低い。つ
まり、i=2でも十分解読可能と言える。
【0041】以上のような考察結果から、構造化鍵とし
て、EX−ORをとるような構成では、十分に暗号強度
を強化することにはならない。
て、EX−ORをとるような構成では、十分に暗号強度
を強化することにはならない。
【0042】a3.構造化鍵としてビット転置器用いた
場合の考察 構造化鍵としてビット転置器を採用した場合について考
察する。ビット転置器は、図5に示すように、入力コー
ドの各ビットをランダムに入れ替えるものである。ビッ
ト転置器のアルゴリズムg(p)は、 g(p)=Rand(p) g(Δp)≠Rand(Δp) g≠g-1 として表せる。
場合の考察 構造化鍵としてビット転置器を採用した場合について考
察する。ビット転置器は、図5に示すように、入力コー
ドの各ビットをランダムに入れ替えるものである。ビッ
ト転置器のアルゴリズムg(p)は、 g(p)=Rand(p) g(Δp)≠Rand(Δp) g≠g-1 として表せる。
【0043】図6は、構造化鍵としてビット転置器を用
いた場合の暗号化処理を示し、図7は、その復号化処理
を示している。図6に示す暗号化処理において、21は
構造化鍵手段としてのビット転置器である。ビット転置
器21により、アルゴリズムgにより、入力のビットが
転置される。22は暗号化手段である。暗号化手段22
は、アルゴリズムfにより、強い暗号化を行う。このア
ルゴリズムとしては、DES方式やFEAL方式が用い
られる。
いた場合の暗号化処理を示し、図7は、その復号化処理
を示している。図6に示す暗号化処理において、21は
構造化鍵手段としてのビット転置器である。ビット転置
器21により、アルゴリズムgにより、入力のビットが
転置される。22は暗号化手段である。暗号化手段22
は、アルゴリズムfにより、強い暗号化を行う。このア
ルゴリズムとしては、DES方式やFEAL方式が用い
られる。
【0044】また、図7に示す復号化処理において、2
3は復号化手段であり、復号化手段23でアルゴリズム
fにより、暗号文cから中間コードp’が生成される。
この中間コードp’が逆ビット転置器24に供給され、
逆ビット転置器24でアルゴリズムg-1により、逆ビッ
ト変換される。
3は復号化手段であり、復号化手段23でアルゴリズム
fにより、暗号文cから中間コードp’が生成される。
この中間コードp’が逆ビット転置器24に供給され、
逆ビット転置器24でアルゴリズムg-1により、逆ビッ
ト変換される。
【0045】この場合の暗号化は、暗号化手段22のア
ルゴリズムをf、ビット転置器21のアルゴリズムを
g、入力される平文をp、中間コードをp’、暗号文を
cとすると、 c=f(p’,k)=f(g(p),K) として表せる。また、復号化は、 p=g-1(p’)=g-1(f(c、K)) として表せる。
ルゴリズムをf、ビット転置器21のアルゴリズムを
g、入力される平文をp、中間コードをp’、暗号文を
cとすると、 c=f(p’,k)=f(g(p),K) として表せる。また、復号化は、 p=g-1(p’)=g-1(f(c、K)) として表せる。
【0046】fで示されるアルゴリズムは、強い暗号化
を行っているので、入力変数のビット変化高(ΔpやΔ
K及びΔc)に対して、出力がランダムに対応付けられ
るため、ビット変化高に対する解読攻撃に対しては、ア
ルゴリズムfの鍵Kを虱み潰しにより求め、アルゴリズ
ムgの結線を虱み潰しにより求める以外に解読できな
い。また、アルゴリズムgは、その入力と出力に特別な
関係が存在しないので、結局、ビット変化高の攻撃以外
の攻撃に対しても、アルゴリズムfとアルゴリズムgの
両方の検査以外に解読法はないと言える。
を行っているので、入力変数のビット変化高(ΔpやΔ
K及びΔc)に対して、出力がランダムに対応付けられ
るため、ビット変化高に対する解読攻撃に対しては、ア
ルゴリズムfの鍵Kを虱み潰しにより求め、アルゴリズ
ムgの結線を虱み潰しにより求める以外に解読できな
い。また、アルゴリズムgは、その入力と出力に特別な
関係が存在しないので、結局、ビット変化高の攻撃以外
の攻撃に対しても、アルゴリズムfとアルゴリズムgの
両方の検査以外に解読法はないと言える。
【0047】入力及び出力のビット数をBとすると、ア
ルゴリズムfの鍵Kを虱み潰しで捜す場合、2B回の演
算が必要であり、アルゴリズムgの結線の虱み潰し回数
はB!であるから、このようなアルゴリズムで暗号化を
行った場合、虱み潰しで解読するのに、両方で2B・B
!回の演算が必要になる。B=64ビットとすると、 B!≒1089 2B・B!≒10108 となる。この場合には、1回の処理速度を1μsとし
て、106の並列処理を行ったとしても、虱み潰しで解
読を行うのに、約1089年必要になる。
ルゴリズムfの鍵Kを虱み潰しで捜す場合、2B回の演
算が必要であり、アルゴリズムgの結線の虱み潰し回数
はB!であるから、このようなアルゴリズムで暗号化を
行った場合、虱み潰しで解読するのに、両方で2B・B
!回の演算が必要になる。B=64ビットとすると、 B!≒1089 2B・B!≒10108 となる。この場合には、1回の処理速度を1μsとし
て、106の並列処理を行ったとしても、虱み潰しで解
読を行うのに、約1089年必要になる。
【0048】図8は、このように構造化鍵を用いて暗号
強度を強化して通信を行う一例の構成を示す。図8にお
いて、通信を行うコンピュータシステム31には、構造
化鍵手段32及びその構造化鍵手段32を管理するため
の鍵管理と、暗号/復号器の鍵管理を行う鍵管理手段3
3が設けられている。この構造化鍵手段32及び鍵管理
手段33は、例えばソフトウェアで処理される。暗号/
復号器35及びモデム36は、コントロールライン37
を介してコンピュータシステム31と結ばれている。
強度を強化して通信を行う一例の構成を示す。図8にお
いて、通信を行うコンピュータシステム31には、構造
化鍵手段32及びその構造化鍵手段32を管理するため
の鍵管理と、暗号/復号器の鍵管理を行う鍵管理手段3
3が設けられている。この構造化鍵手段32及び鍵管理
手段33は、例えばソフトウェアで処理される。暗号/
復号器35及びモデム36は、コントロールライン37
を介してコンピュータシステム31と結ばれている。
【0049】コンピュータシステム31から回線34を
介してデータを出力する場合には、コンピュータシステ
ム31からのデータがこの構造化鍵手段32のアルゴリ
ズムgにより、中間コードに変換される。この中間コー
ドが暗号/復号器35に供給される。そして、暗号/復
号器35により、アルゴリズムfにより暗号化され、こ
の暗号化されたデータがモデム36を介して回線34に
出力される。
介してデータを出力する場合には、コンピュータシステ
ム31からのデータがこの構造化鍵手段32のアルゴリ
ズムgにより、中間コードに変換される。この中間コー
ドが暗号/復号器35に供給される。そして、暗号/復
号器35により、アルゴリズムfにより暗号化され、こ
の暗号化されたデータがモデム36を介して回線34に
出力される。
【0050】回線34を介して伝えられてきたデータを
コンピュータシステム31で受信する場合には、回線3
4を介して伝えられてきたデータがモデム36を介して
暗号/復号器35に供給される。暗号/復号器35で、
アルゴリズムfにより送られてきたデータが復号され、
中間コードが生成される。この中間コードがコンピュー
タシステム31の構造化鍵手段32に供給される。構造
化鍵手段32で中間コードからデータが復号される。
コンピュータシステム31で受信する場合には、回線3
4を介して伝えられてきたデータがモデム36を介して
暗号/復号器35に供給される。暗号/復号器35で、
アルゴリズムfにより送られてきたデータが復号され、
中間コードが生成される。この中間コードがコンピュー
タシステム31の構造化鍵手段32に供給される。構造
化鍵手段32で中間コードからデータが復号される。
【0051】
【発明の効果】この発明によれば、DES方式やFEA
L方式のように強い暗号化を行うアルゴリズムと直列
に、鍵自体が暗号化アルゴリズムの構造化鍵を付加する
ことにより、暗号化強度を強化でき、データの安全性を
高めることができる。
L方式のように強い暗号化を行うアルゴリズムと直列
に、鍵自体が暗号化アルゴリズムの構造化鍵を付加する
ことにより、暗号化強度を強化でき、データの安全性を
高めることができる。
【図1】構造化鍵を用いた暗号化の説明に用いるブロッ
ク図である。
ク図である。
【図2】構造化鍵を用いた暗号の復号化の説明に用いる
ブロック図である。
ブロック図である。
【図3】構造化鍵としてEX−ORを用いた場合の説明
に用いるブロック図である。
に用いるブロック図である。
【図4】構造化鍵としてEX−ORを用いた場合の解読
の説明に用いるブロック図である。
の説明に用いるブロック図である。
【図5】ビット転置器の説明に用いる略線図である。
【図6】構造化鍵としてビット転置器を用いた場合の暗
号化処理の説明に用いるブロック図である。
号化処理の説明に用いるブロック図である。
【図7】構造化鍵としてビット転置器を用いた場合の復
号化処理の説明に用いるブロック図である。
号化処理の説明に用いるブロック図である。
【図8】構造化鍵を用いて暗号/復号を行うような一例
の構成を示すブロック図である。
の構成を示すブロック図である。
1・・・構造化鍵手段、2・・・暗号化手段、3・・・
復号化手段、4・・・構造化鍵手段、11・・・構造化
鍵手段としてのEX−OR回路、14・・・EX−OR
回路、21・・・ビット転置器、24・・・逆ビット転
置器
復号化手段、4・・・構造化鍵手段、11・・・構造化
鍵手段としてのEX−OR回路、14・・・EX−OR
回路、21・・・ビット転置器、24・・・逆ビット転
置器
Claims (4)
- 【請求項1】 入力コードをx、キーコードをk、任意
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う際の鍵
として、上記アルゴリズムの鍵と独立で且つ鍵自体がビ
ット転置のアルゴリズムをなす構造化鍵を用いるように
した暗号化方法。 - 【請求項2】 入力コードをx、キーコードをk、任意
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの暗号化を行う暗号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした暗号化装置。 - 【請求項3】 入力コードをx、キーコードをk、任意
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う際の鍵
として、上記アルゴリズムの鍵と独立で且つ鍵自体がビ
ット転置のアルゴリズムをなす構造化鍵を用いるように
した復号化方法。 - 【請求項4】 入力コードをx、キーコードをk、任意
の入力コードのビット変化高をΔx、任意のキーコード
のビット変化高をΔkとしたとき、 f=f-1又はf-1が存在し、 f(x,k)=Rand(x,k) f(Δx,Δk)=Rand(Δx,Δk) を満足するようなアルゴリズムfの復号化を行う復号化
装置と直列に、独立な構造化鍵のビット転置を行うアル
ゴリズムの処理回路を配置するようにした復号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000057103A JP2000244479A (ja) | 2000-01-01 | 2000-03-02 | 暗号化方法および装置、ならびに、復号化方法および装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000057103A JP2000244479A (ja) | 2000-01-01 | 2000-03-02 | 暗号化方法および装置、ならびに、復号化方法および装置 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18378388A Division JP3164347B2 (ja) | 1988-07-23 | 1988-07-23 | Icタグ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000244479A true JP2000244479A (ja) | 2000-09-08 |
Family
ID=18577954
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000057103A Pending JP2000244479A (ja) | 2000-01-01 | 2000-03-02 | 暗号化方法および装置、ならびに、復号化方法および装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000244479A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008516502A (ja) * | 2004-10-07 | 2008-05-15 | アクサルト・エス・アー | 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成 |
-
2000
- 2000-03-02 JP JP2000057103A patent/JP2000244479A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008516502A (ja) * | 2004-10-07 | 2008-05-15 | アクサルト・エス・アー | 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4459703B2 (ja) | キーボードまたは関連デバイスとの機密保護機能のある通信 | |
| CN101291325B (zh) | 对消息加密的方法以及对消息解密的方法 | |
| US8300828B2 (en) | System and method for a derivation function for key per page | |
| US20210266175A1 (en) | Device for data encryption and integrity | |
| US6996233B2 (en) | System and method for encrypting and verifying messages using three-phase encryption | |
| JPH0227389A (ja) | 暗号化方法及び該暗号方法を用いた暗号化装置/復号化装置 | |
| US7894608B2 (en) | Secure approach to send data from one system to another | |
| Wu | The misuse of RC4 in Microsoft Word and Excel | |
| US7499552B2 (en) | Cipher method and system for verifying a decryption of an encrypted user data key | |
| KR20080025121A (ko) | 비대칭 개인키로부터 비밀키 생성 | |
| Kalka et al. | A comprehensive review of tlsnotary protocol | |
| WO2021245931A1 (ja) | 秘匿情報処理システム、暗号化装置、暗号化方法及び暗号化プログラム | |
| JPH0946332A (ja) | Rsa型手順により暗号化された通信文用通信システム | |
| CN117221878B (zh) | 一种基于无线网络设备的信息安全管控方法及装置 | |
| JP2000004223A (ja) | 暗号・認証システム | |
| CN117375836A (zh) | 基于rsa加密算法的长文本分段加解密方法及系统 | |
| Kaur et al. | Cryptography in cloud computing | |
| JP2000244479A (ja) | 暗号化方法および装置、ならびに、復号化方法および装置 | |
| Mattsson | Collision-Based Attacks on Block Cipher Modes-Exploiting Collisions and Their Absence | |
| Timilsina et al. | Analysis of Hybrid Cryptosystem Developed Using Blowfish and ECC with Different Key Size | |
| JP7700960B2 (ja) | 情報処理装置、方法及びプログラム | |
| JP3164347B2 (ja) | Icタグ | |
| JP2015082077A (ja) | 暗号化装置、制御方法、及びプログラム | |
| US20260121827A1 (en) | Lightweight fault countermeasure for post-quantum kems | |
| Rahmani | Cryptographic algorithms and protocols |