(57)【要約】【課題】線形解読法に対して利得の高い線形ふるいマスクを精度よく抽出する。【解決手段】暗号評価装置１００は、予め入力された入力マスク２１０、線形ふるいマスク２３０および出力マスク２２０に対応する非線形変換処理の対応表２５０を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）と、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）をそれぞれ計算し、前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値３１０を計算する。Ｇａｉｎ値は、線形ふるいマスクの抽出のほか、ブロック暗号の線形ふるい法への安全性の判断に使用できる。【選択図】図１
2009282089.tif 000002
【特許請求の範囲】
【請求項１】
線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価装置であって、
入力マスク、線形ふるいマスクおよび出力マスクに対応する非線形変換処理の対応表を記憶する対応表記憶手段と、
前記非線形変換処理の対応表を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する線形確率計算手段と、
前記非線形変換処理の対応表を参照し、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する線形ふるい確率計算手段と、
前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算するＧａｉｎ値計算手段と、
を備えることを特徴とする暗号評価装置。
【請求項２】
更に、
入力マスクおよび線形ふるいマスクに関連する鍵の位置の定義を記憶する鍵の独立性の定義記憶手段と、
前記鍵の独立性の定義を参照して前記入力マスクに関連する鍵（線形鍵）と線形ふるいマスクに関連する鍵（ふるい鍵）との独立性を調べる鍵の独立性チェック手段と、
を備えることを特徴とする請求項１に記載の暗号評価装置。
【請求項３】
更に、入力マスク、出力マスク、線形ふるいマスクの組み合わせを一つ以上生成するマスク生成手段を備える請求項１又は２記載の暗号評価装置。
【請求項４】
更に、前記鍵の独立性チェック手段が独立性ありと判定し、かつ、Ｇａｉｎ値計算手段が１より大きいＧａｉｎ値を出力した際に、線形ふるいマスクの効果ありと判定し、それ以外は効果なしと判定するふるい適用効果判定手段を備える請求項２又は３に記載の暗号評価装置。
【請求項５】
更に、前記ふるい適用効果判定手段が線形ふるいマスクの効果ありと判定した場合に、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを出力するマスク情報出力手段を備える請求項４に記載の暗号評価装置。
【請求項６】
更に、前記ふるい適用効果判定手段が線形ふるいマスクの効果ありと判定した場合に、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを記憶するマスク記憶手段と、
前記マスク記憶手段からＧａｉｎ値が最大になるデータを選定する最良マスク選定手段と、
前記選定したデータを抽出する最良マスク情報抽出手段と、
を備える請求項４に記載の暗号評価装置。
【請求項７】
更に、線形ふるいマスクを適用するラウンドを入力するふるい適用ラウンド入力手段と、
線形ふるい確率ｐ＊の偏りをｐ＊−０．５として線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算する第２のＧａｉｎ値計算手段と、を備え、
前記線形ふるいマスクを適用するラウンドに応じて、前記Ｇａｉｎ値計算手段及び鍵の独立性チェック手段に代えて、線形ふるい確率ｐ＊の偏りをｐ＊−０．５とした第２のＧａｉｎ値計算手段を動作させる請求項１乃至６いずれか一に記載の暗号評価装置。
【請求項８】
更に、
暗号の入力データサイズをｎとすると、前記線形ふるい確率計算手段で計算した確率が２−ｎ以下の時は線形ふるい法への耐性有りと判定し、前記線形ふるい確率計算手段で計算した確率が２−ｎよりも大きい時は線形ふるい法への耐性無しと判定する安全性判定手段を備える請求項１乃至７いずれか一に記載の暗号評価装置。
【請求項９】
線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価プログラムであって、
予め保存された入力マスク、線形ふるいマスクおよび出力マスクに対応する非線形変換処理の対応表を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する線形確率計算処理と、
前記非線形変換処理の対応表を参照し、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する線形ふるい確率計算処理と、
前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算するＧａｉｎ値計算処理と、
をコンピュータに実行させることを特徴とする暗号評価プログラム。
【請求項１０】
更に、
予め保存された前記入力マスクおよび線形ふるいマスクに関連する鍵の独立性の定義を参照して前記入力マスクに関連する鍵（線形鍵）と線形ふるいマスクに関連する鍵（ふるい鍵）との独立性を調べる鍵の独立性チェック処理を前記コンピュータに実行させることを特徴とする請求項９に記載の暗号評価プログラム。
【請求項１１】
更に、入力マスク、出力マスク、線形ふるいマスクの組み合わせを一つ以上生成するマスク生成処理を前記コンピュータに実行させる請求項９又は１０に記載の暗号評価プログラム。
【請求項１２】
更に、鍵の独立性ありと判定し、かつ、Ｇａｉｎ値計算手段が１より大きいＧａｉｎ値を出力した際に、線形ふるいマスクの効果ありと判定し、それ以外は効果なしと判定するふるい適用効果判定処理を前記コンピュータに実行させる請求項１０又は１１に記載の暗号評価プログラム。
【請求項１３】
更に、前記ふるい適用効果判定処理において、線形ふるいマスクの効果ありと判定した場合に、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを出力するマスク情報出力処理を前記コンピュータに実行させる請求項１２に記載の暗号評価プログラム。
【請求項１４】
更に、前記ふるい適用効果判定処理において、線形ふるいマスクの効果ありと判定した場合に、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを記憶するマスク記憶処理と、
前記マスク記憶処理で記憶したデータの中からＧａｉｎ値が最大になるデータを選定する最良マスク選定処理と、
前記選定したデータを抽出する最良マスク情報抽出処理と、
の前記各処理を前記コンピュータに実行させる請求項１２に記載の暗号評価プログラム。
【請求項１５】
更に、線形ふるいマスクを適用するラウンドを入力するふるい適用ラウンド入力処理を前記コンピュータに実行させ、
前記線形ふるいマスクを適用するラウンドに応じて、前記Ｇａｉｎ値計算処理及び鍵の独立性チェック処理を中止し、線形ふるい確率ｐ＊の偏りをｐ＊−０．５として線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算する第２のＧａｉｎ値計算処理を実行する請求項９乃至１４いずれか一に記載の暗号評価プログラム。
【請求項１６】
更に、
暗号の入力データサイズをｎとすると、前記線形ふるい確率計算手段で計算した確率が２−ｎ以下の時は線形ふるい法への耐性有りと判定し、前記線形ふるい確率計算手段で計算した確率が２−ｎよりも大きい時は線形ふるい法への耐性無しと判定する安全性判定処理を前記コンピュータに実行させる請求項９乃至１５いずれか一に記載の暗号評価プログラム。
【請求項１７】
線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価方法であって、
暗号評価装置が、予め入力された入力マスク、線形ふるいマスクおよび出力マスクに対応する非線形変換処理の対応表を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する線形確率計算ステップと、
前記暗号評価装置が、前記非線形変換処理の対応表を参照し、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する線形ふるい確率計算ステップと、
前記暗号評価装置が、前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算するＧａｉｎ値計算ステップと、
を含むことを特徴とする暗号評価方法。
【請求項１８】
更に、前記暗号評価装置が、
前記入力マスクおよび線形ふるいマスクに関連する鍵の位置の定義を記憶する鍵の独立性の定義記憶ステップと、
前記鍵の独立性の定義を参照して前記入力マスクに関連する鍵（線形鍵）と線形ふるいマスクに関連する鍵（ふるい鍵）との独立性を調べる鍵の独立性チェックステップと、
の前記各ステップを実行する請求項１７に記載の暗号評価方法。
【請求項１９】
更に、前記暗号評価装置が、入力マスク、出力マスク、線形ふるいマスクの組み合わせを一つ以上生成するマスク生成ステップを含む請求項１７又は１８記載の暗号評価方法。
【請求項２０】
更に、前記暗号評価装置が、鍵の独立性ありと判定し、かつ、Ｇａｉｎ値が１より大きい場合に、前記線形ふるいマスクの効果ありと判定し、それ以外は効果なしと判定するふるい適用効果判定ステップを含む請求項１７乃至１９いずれか一に記載の暗号評価方法。
【請求項２１】
更に、前記ふるい適用効果判定ステップにおいて、前記線形ふるいマスクの効果ありと判定した場合に、前記暗号評価装置が、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを出力するマスク情報出力ステップを含む請求項２０に記載の暗号評価方法。
【請求項２２】
更に、前記暗号評価装置が、
前記ふるい適用効果判定ステップにおいて、前記線形ふるいマスクの効果ありと判定した場合に、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを記憶するマスク記憶ステップと、
前記マスク記憶ステップで記憶したデータの中から、Ｇａｉｎ値が最大になるデータを選定する最良マスク選定ステップと、
前記選定したデータを抽出する最良マスク情報抽出ステップと、
の前記各ステップを実行する請求項２０に記載の暗号評価方法。
【請求項２３】
更に、前記暗号評価装置が、線形ふるいマスクを適用するラウンドの入力を受け付けるふるい適用ラウンド入力ステップを含み、
前記暗号評価装置は、前記線形ふるいマスクを適用するラウンドに応じて、前記Ｇａｉｎ値計算ステップ及び鍵の独立性チェックステップに代えて、線形ふるい確率ｐ＊の偏りをｐ＊−０．５として線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算する第２のＧａｉｎ値計算ステップを実行する請求項１７乃至２２いずれか一に記載の暗号評価方法。
【請求項２４】
更に、前記暗号評価装置が、
暗号の入力データサイズをｎとすると、前記線形ふるい確率計算手段で計算した確率が２−ｎ以下の時は線形ふるい法への耐性有りと判定し、前記線形ふるい確率計算手段で計算した確率が２−ｎよりも大きい時は線形ふるい法への耐性無しと判定する安全性判定ステップを含む請求項１７乃至２３いずれか一に記載の暗号評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価装置、暗号評価方法及び暗号評価プログラムに関する。
【背景技術】
【０００２】
ブロック暗号の解析手法の一つとして、線形ふるい法が知られている。線形ふるい法は、ブロック暗号の代表的な解析手法である線形解読法（非特許文献１参照）の効率化手法と位置付けられる。
【０００３】
線形ふるい法では、入力データと線形ふるいマスクの線形和の値を用いて、入力データを分類（ｓｉｅｖｉｎｇ）することによって、線形解読法で利用される線形近似式の成立確率を大きくすることができ、線形解読法と比較して鍵を求めるために必要なデータ量を削減できる手法となっている（非特許文献２参照）。
【０００４】
はじめに、非特許文献１に記載の線形解読法の概要を説明する。線形解読法は平文と暗号文の間で線形近似式を構成し、その式の成立確率の偏りを利用することで鍵情報を求める方法である。以降、線形近似式の成立確率を線形確率と呼ぶ。線形解読法では、図１６のような暗号装置４００の平文Ｐ、暗号文Ｃ、鍵Ｋの関係を近似する。その時に得られる線形近似式はＰ・ΓＰ  ｘｏｒ  Ｃ・ΓＣ＝Ｋ・ΓＫとなる。
【０００５】
上記近似式のΓＰを入力マスク、ΓＣを出力マスクとする。ΓＰとΓＣはそれぞれＰとＣのどのビットを線形近似式で利用するか定めたものである。Ｐ・ΓＰは入力Ｐと入力マスクＰの内積を表し、ｘｏｒは排他的論理和を表す。線形近似式の線形確率が大きい場合、多くの平文／暗号文ペアを与え、線形近似式の左辺を計算すると、０になる回数と１になる回数はどちらかに偏る。０になることが多ければＫ・ΓＫは０と推定し、１になることが多ければＫ・ΓＫは１と推定する。このようにして、鍵情報を得ることができる。
【０００６】
次に線形近似式の偏りを利用した１ラウンド消去法について説明する。図１７に図１６の暗号装置４００の非線形関数４１０に対して、平文側に１ラウンド拡張した暗号装置５００を示す。非線形関数５２０の線形近似式がＸ２・ΓＸ２  ｘｏｒ  Ｃ・ΓＣ＝Ｋ２・ΓＫ２  と与えられているとする。Ｘ２は１ラウンド目の非線形関数５１０の出力となるので、鍵Ｋ１を仮定することで計算できる。上記の線形近似式の線形確率が大きい時、前述したように、多くの平文、暗号文ペアを与え、線形近似式の左辺を計算すると、仮定した鍵が正しければ左辺の値は０もしくは１に偏る。よって線形近似式の偏りが最大になる時に仮定した鍵が正解の鍵と知ることができる。鍵を求めるために必要なデータ量は線形確率に依存し、確率が大きいほど少ないデータ量で解読できる。よって、入力マスクと出力マスクの選び方が重要となる。
【０００７】
上記のような線形解読法により暗号強度評価法の改良を試みるものとして特許文献１が挙げられる。
【０００８】
次に、線形ふるい法の概要を説明する。線形ふるい法は線形ふるい条件を満たす平文／暗号文組を利用することによって、ふるいを適用するラウンドの線形確率を大きくする手法である。平文Ｐは線形ふるいマスクΓγとの線形和によってＰ・Γγ＝０あるいはＰ・Γγ＝１の条件で分類される。分類された平文データのうち、線形近似式の成立確率が大きくなるグループのデータを利用することで、そのラウンドの線形確率を大きくすることができる。以降、ふるいを適用後の線形確率のことを線形ふるい確率と呼ぶ。線形ふるい確率は入力マスク、出力マスク、線形ふるいマスクの組み合わせによって決まり、線形ふるい確率が大きいほど少ないデータ量で解読できるとされている。
【０００９】
次に、線形解読法と比較した時の線形ふるい法適用による必要データ量の削減効果について説明する。線形確率をｐ、同じ入力マスク、出力マスクを用いている状態での線形ふるい確率をｐ＊とした時、線形ふるいによる利得の度合いを示すＧａｉｎ値はそれぞれの確率の偏りを用いて次の式で定義されている。
【００１０】
【数１】
2009282089.tif 000003
【００１１】
上式のＧ＞１となる時、線形解読法に比べて、ふるい適用による必要データ量の削減が成功しているとされている。
【００１２】
【特許文献１】特開平９−１６０４８９号公報
【非特許文献１】Ｍ．Ｍａｔｓｕｉ，  “Ｌｉｎｅａｒ  Ｃｒｙｐｔａｎａｌｙｓｉｓ  Ｍｅｔｈｏｄ  ｆｏｒ  ＤＥＳ  Ｃｉｐｈｅｒ”，Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ  ＥＵＲＯＣＲＹＰＴ’９３，ＬＮＣＳ  ７６５，ｐｐ．３８６−３９７，１９９４．
【非特許文献２】Ｍ．Ｔａｋｅｄａ  Ｔ．Ｈａｍａｄｅ  Ｋ．Ｈｉｓａｍａｔｓｕ  ａｎｄ  Ｔ．Ｋａｎｅｋｏ  ，”Ｌｉｎｅａｒ  Ｃｒｙｐｔａｎａｌｙｓｉｓ  ｂｙ  Ｌｉｎｅａｒ  Ｓｉｅｖｅ  Ｍｅｔｈｏｄ”，ＩＥＩＣＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｆｕｎｄａｍｅｎｔａｌｓ  ｏｆ  Ｅｌｅｃｔｒｏｎｉｃｓ，Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，Ｅ８１−Ａ（１），ｐｐ．８２−８７，１９９８
【発明の開示】
【発明が解決しようとする課題】
【００１３】
非特許文献２では、非特許文献１のＤａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＤＥＳ）に対する線形解読法の最良近似のパスに対してふるいを適用することによりさらに線形確率を大きくする手法として提案している。しかしながら、非特許文献２の方法では、必要データ量を削減できない（線形解読法と比較して利得の少ない）線形ふるいマスクを、線形解読法と比較して利得の高いマスクとして抽出してしまい、ひいては暗号自体の評価も誤ってしまうという問題点がある。
【００１４】
その理由を以下に説明する。第１の理由は、線形鍵とふるい鍵の独立性を考慮していない点である。
【００１５】
線形鍵とふるい鍵の独立性について説明する。図９にふるいを適用するラウンドを２ラウンド目にし、平文側に１ラウンド拡張した場合の暗号装置６００を示す。図９において、線形ふるい条件がＸ２・Γγ２＝０、非線形関数６２０の線形近似式がＸ２・ΓＸ２  ｘｏｒ  Ｃ・ΓＣ＝Ｋ２・ΓＫ２と与えられているとする。この時の線形近似式の成立確率を求める際、２ラウンド目の入力データＸ２は１ラウンド目の非線形関数６１０の出力となり、Ｘ２を求めるには１ラウンド目の鍵を仮定しなければならない。その際に仮定する鍵が、入力マスクΓＸ２に関連する線形鍵Ｋ１Ｌと、線形ふるいマスクΓγ２に関連するふるい鍵Ｋ１Ｓとなる。鍵の独立性とは、Ｋ１ＬとＫ１Ｓが異なる鍵ビットの時を独立、Ｋ１ＬとＫ１Ｓの一部もしくはすべての鍵ビットが同じ時を非独立と考える。
【００１６】
上記は２ラウンド目にふるいを適用した場合であり、例えば３ラウンド目に適用しても１ラウンド目、２ラウンド目で仮定する鍵の独立性を同様に考える。
【００１７】
第２の理由は、Ｇａｉｎ値を求める式に誤りがある点である。前記したとおり、線形ふるい適用による効果の度合いはＧａｉｎ値によって決まるが、非特許文献２においてＧａｉｎ値を求める際、線形ふるい確率の偏りを、［数１］のとおりｐ＊−０．５としている。
【００１８】
鍵の仮定が影響しないように、最初のラウンドまたは最終ラウンドにふるいを適用する場合はｐ＊−０．５で正しいが、図９のように最初のラウンドまたは最終ラウンド以外のラウンドにふるいを適用し、鍵の仮定が影響するような場合は、ｐ＊−０．５にはならない。その原因は、上記で述べた鍵の独立性によって、鍵の仮定が誤っている時の線形近似式が持つ偏りが変わることが挙げられる。よって非特許文献２のＧａｉｎ値では、線形ふるいの効果を正確に表したものとなっていない。
【００１９】
以上のように、非特許文献２の方法では、線形解読法と比較して解読に必要データ量を削減できていないマスク組を効果あり（Ｇ＞１）と判断してしまう。本発明は、上記した事情に鑑みてなされたものであって、線形鍵とふるい鍵の独立性を考慮し、Ｇａｉｎ値を正確に求める式を用いることにより、線形解読法より解読するために必要なデータ量を削減できる線形ふるいマスクを正確に探索する装置（方法）及びこのようなマスクの存否を暗号の評価に用いる装置（方法）を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の第１の視点によれば、線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価装置であって、入力マスク、線形ふるいマスクおよび出力マスクに対応する非線形変換処理の対応表を記憶する対応表記憶手段と、前記非線形変換処理の対応表を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する線形確率計算手段と、前記非線形変換処理の対応表を参照し、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する線形ふるい確率計算手段と、前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算するＧａｉｎ値計算手段と、を備える暗号評価装置が提供される。
【００２１】
本発明の第２の視点によれば、線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価プログラムであって、予め保存された入力マスク、線形ふるいマスクおよび出力マスクに対応する非線形変換処理の対応表を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する線形確率計算処理と、前記非線形変換処理の対応表を参照し、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する線形ふるい確率計算処理と、前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算するＧａｉｎ値計算処理と、をコンピュータに実行させる暗号評価プログラムが提供される。
【００２２】
本発明の第３の視点によれば、線形ふるい法に用いる線形ふるいマスクの効率性を評価することにより、ブロック暗号の安全性を評価する暗号評価方法であって、暗号評価装置が、予め入力された入力マスク、線形ふるいマスクおよび出力マスクに対応する非線形変換処理の対応表を参照し、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する線形確率計算ステップと、前記暗号評価装置が、前記非線形変換処理の対応表を参照し、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する線形ふるい確率計算ステップと、前記暗号評価装置が、前記線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値を計算するＧａｉｎ値計算ステップと、を含む暗号評価方法が提供される。
【発明の効果】
【００２３】
本発明によれば、最初のラウンド又は最終ラウンド以外にふるいを適用し、鍵が入力マスク及び線形ふるいマスクに影響を与える場合において、線形ふるい適用による効果の度合いを正確に評価することが可能になる。また、このとき得られたＧａｉｎ値は、暗号アルゴリズムの線形ふるい法に対する安全性の評価に用いることもできる。その理由は、線形鍵とふるい鍵の独立性を考慮し、Ｇａｉｎの式を正しい式に変更したことにある。
【発明を実施するための最良の形態】
【００２４】
［発明の概要］
始めに本発明の概要について説明する。
【００２５】
図１は本発明の概要を説明するための図である。図１を参照すると、対応表記憶手段１０２と、線形確率計算手段１０４と、線形ふるい確率計算手段１０５と、Ｇａｉｎ値計算手段１０６とを備えた暗号評価装置１００が示されている。なお、上記構成は、暗号評価装置を構成するコンピュータに入力マスク、線形ふるいマスク及び出力マスクに対応する非線形変換処理の対応表を記憶させ、線形確率計算手段１０４、線形ふるい確率計算手段１０５及びＧａｉｎ値計算手段１０６として動作させることで、実現することができる。
【００２６】
線形確率計算手段１０４は、線形解読法による線形近似式の成立確率（線形確率ｐ）を計算する。線形ふるい確率計算手段１０５は、線形ふるい法による線形近似式の成立確率（線形ふるい確率ｐ＊）を計算する。Ｇａｉｎ値計算手段１０６は、線形ふるい確率ｐ＊の偏りをｐ＊−０．５とするのではなく、線形ふるい確率ｐ＊の偏りをｐ＊−ｐとして、線形解読法に対する線形ふるいマスクの利得を示すＧａｉｎ値３１０を計算する。
【００２７】
以上により、前述した最初のラウンドまたは最終ラウンド以外にふるいを適用し、鍵が入力マスク及び線形ふるいマスクに影響を与える場合における線形解読法に対する利得を示すＧａｉｎ値が適正に算出可能となる。
【００２８】
［第１の実施形態］
本実施形態では、図９のように２ラウンド目にふるいを適用し、非線形関数６２０をＤＥＳのＦ関数とした場合について説明する。ＤＥＳは６４ビットブロック暗号で図１０のようなＦｅｉｓｔｅｌ構造を持つ。
【００２９】
Ｆ関数は３２ビット入出力となっており、図１１のように拡大転置Ｅ、鍵Ｋｉの排他的論理和、Ｓ−ｂｏｘ、転置Ｐという構成になっている。
【００３０】
図１１の拡大転置Ｅは入力３２ビットに対して、Ｅ関数を用いて出力４８ビットを生成する拡大転置処理である。図１２は、ＤＥＳのＦ関数内の拡大転置Ｅの変換表の例である。数値は、ビットデータを右から０オリジンで数えた時の値である。図中の＃がついている値は入力データ３２ビットが拡大転置される位置（＃０〜＃４７）を表している。＃がついていない数値は入力データのビット位置を表している。
【００３１】
例えば図１２の左上の０は入力データのビット０つまり３２ビット入力データの右端のビットがビット４７つまり左端の位置に転置されることを意味する。
【００３２】
鍵の排他的論理和は、拡大転置の出力４８ビットに対して４８ビットの拡大鍵を排他的論理和する。
【００３３】
Ｓ−Ｂｏｘは、入力６ビット、出力４ビットの非線形関数であり。Ｓ１からＳ８まで８つある。
【００３４】
転置Ｐは、Ｓ−ｂｏｘの出力のビット位置を転置する処理である。図１３は、ＤＥＳのＦ関数内の転置Ｐの変換表の例である。例えば、図１３の左上の１６は入力データのビット１６がビット３１の位置に転置されることを意味する。
【００３５】
図２は本発明の第１の実施形態の暗号評価装置の構成を表したブロック図である。図２を参照すると、鍵の独立性の定義記憶手段１０１と、対応表記憶手段１０２と、鍵の独立性チェック手段１０３と、線形確率計算手段１０４と、線形ふるい確率計算手段１０５と、Ｇａｉｎ値計算手段１０６とを備えた暗号評価装置１００が示されている。なお、上記鍵の独立性の定義記憶手段１０１及び対応表記憶手段１０２は暗号評価装置を構成するコンピュータの記憶装置により実現することができる。また、鍵の独立性チェック手段１０３、線形確率計算手段１０４、線形ふるい確率計算手段１０５及びＧａｉｎ値計算手段１０６はコンピュータに下記の処理を実行させるプログラムにより実現することができる。
【００３６】
第１の実施形態の暗号評価装置への入力は、入力マスク２１０、出力マスク２２０、線形ふるいマスク２３０、鍵の独立性の定義２４０、各マスクに対応する非線形変換処理の対応表２５０となる。
【００３７】
ここで、各マスクについて説明する。入力マスク２１０、出力マスク２２０、線形ふるいマスク２３０は、Ｆ関数の入出力データ３２ビットに対して、線形近似式又は線形ふるい条件で用いるビットのデータ位置を右から０オリジンで数えた場合で表し、例えば入力マスクΓＸ２＝［１２］、出力マスクΓＣ＝［７，１８，２４，２９］、線形ふるいマスクΓγ２＝［１６］のように表す。
【００３８】
鍵の独立性の定義記憶手段１０１は、鍵の独立性の定義２４０を記憶する手段である。図１４に鍵の独立性の定義２４０の例を示す。上記のマスクの例ではΓＸ２に対応する鍵の位置は［１２］であるので、４８ビットの鍵のうちの＃２９〜＃２４の６ビットとなり、Γγ２に対応する鍵の位置は［１６］であるので、＃３５〜＃３０の６ビットとなる。
【００３９】
対応表記憶手段１０２は、非線形変換処理の対応表２５０を記憶する手段である。図１５に各マスクに対応する非線形変換処理の対応表２５０の例を示す。上記のマスクの組の例では、Ｓ５が対象になる。
【００４０】
鍵の独立性チェック手段１０３は、図１４の鍵の独立性の定義２４０を参照して鍵が独立であるか否かの判定結果３２０を出力する手段である。図９に示した線形鍵Ｋ１Ｌ及びふるい鍵Ｋ１Ｓで説明すると、両者が独立な時は“独立”を出力し、両者が非独立な時は“非独立”を出力する。例えば、入力マスク、線形ふるいマスクをそれぞれΓＸ２＝［１２］、Γγ２＝［１６］とする。線形鍵Ｋ１Ｌは、図１４の鍵の独立性の定義２４０を参照すると、鍵４８ビットの＃２９〜＃２４の６ビットとなる。ふるい鍵Ｋ１Ｓは、同様に図１４を参照すると、鍵４８ビットの＃３５〜＃３０の６ビットとなる。この時の独立性は、Ｋ１ＬとＫ１Ｓが異なる位置にあるので“独立”となる。
【００４１】
また例えば、ΓＸ２＝［１２］、Γγ２＝［１２、１６］と与えられている時には、線形鍵Ｋ１Ｌは＃２９〜＃２４の６ビットとなり、ふるい鍵Ｋ１Ｓは＃２４〜＃３５の１２ビットとなる。この時の独立性は、Ｋ１ＬとＫ１Ｓが＃２４〜２９の位置で部分的に重なるため、“非独立”となる。
【００４２】
線形確率計算手段１０４は、図１５に例示した非線形変換処理の対応表２５０を参照し、線形解読法による線形近似式の成立確率ｐを計算する手段である。例えば、入力マスク、出力マスクは、それぞれΓＸ２＝［１２］、ΓＣ＝［７，１８，２４，２９］であるものとする。線形解読法では、非線形変換処理の関係を線形近似するので、ＤＥＳの場合、与えられたマスクがどのＳ−ｂｏｘを近似するのか知らなければならない。そこで、図１５の非線形変換処理の対応表２５０を参照すると、上記のマスクがＳ５の入出力間を近似するマスクだとわかる。
【００４３】
また、図１５の非線形変換処理の対応表２５０はマスクがＳ−ｂｏｘのどのビット位置に相当しているかも定義しているため、ΓＸ２＝［１２］はＳ５の入力の右から２ビット目、ΓＣ＝［７，１８，２４，２９］はＳ５出力の４ビットであることがわかる。線形確率計算手段１０４は、入出力６４通り全パターンに関して上記で挙げたビットの線形和をとり、線形確率ｐを調べる。
【００４４】
線形確率ｐを式で表すと次式［数２］のようになる。なお、［数２］中のｎは非線形変換処理の入力データのビットサイズを表し、ＤＥＳの場合は６となる。なお、ｐ＜１−ｐとなるとき、線形確率は１−ｐとする。
【００４５】
【数２】
2009282089.tif 000004
【００４６】
線形ふるい確率計算手段１０５は、図１５に例示した非線形変換処理の対応表２５０を参照し、線形ふるい法による線形近似式の成立確率ｐ＊を計算する手段である。例えば、線形ふるいマスクはΓγ２＝［１６］とする。図１５の非線形変換処理の対応表２５０を参照すると、Γγ２はＳ５入力の右から６ビット目であることがわかる。
【００４７】
線形ふるい確率計算手段１０５は、Ｓ５の入力データ６４通りに対して、Γγ２の線形和を取る。線形和の値Ｘ２・Γγ２は必ず３２通りずつに分類され、分類されたデータ毎に、線形ふるい確率計算手段１０５は、線形解読時と同様に線形近似式の成立確率ｐ＊を調べる。
【００４８】
線形ふるい確率ｐ＊を式で表すと次式［数３］のようになる。
【００４９】
【数３】
2009282089.tif 000005
【００５０】
上記［数３］の式は、ふるい条件が０の場合であり、ふるい条件が１の場合は、［数３］中の条件Ｘ２∈｛Ｘ２・Γγ２＝０｝の部分をＸ２∈｛Ｘ２・Γγ２＝１｝とした同様の式となる。このようにして求めたＸ２・Γγ２＝０の時の確率と、Ｘ２・Γγ２＝１の時の確率のうち、大きい方の値が線形ふるい確率ｐ＊となる。
【００５１】
Ｇａｉｎ値計算手段１０６は、上記線形確率計算手段１０４及び線形ふるい確率計算手段１０５の計算結果に基づいて、線形ふるいマスクの適用による効果の度合いを示すＧａｉｎ値３１０を計算する手段である。
【００５２】
例えば、Ｇａｉｎ値は、線形確率計算手段１０４と線形ふるい確率計算手段１０５で計算したｐ、ｐ＊を用いて次式［数４］によって求めることができる。
【００５３】
【数４】
2009282089.tif 000006
【００５４】
続いて、上記第１の実施形態の暗号評価装置の動作について説明する。図３は、本発明の第１の実施形態の暗号評価装置の動作を表したフローチャートである。
【００５５】
最初に、入力マスク２１０、線形ふるいマスク２３０が鍵の独立性チェック手段１０３に入力される。鍵の独立性チェック手段１０３は、鍵の独立性の定義記憶手段１０１に記憶された定義を参照しながら、入力マスク２１０と線形ふるいマスク２３０に対応する鍵の独立性を判定する（ステップＳ１）。
【００５６】
ステップＳ１で“独立”と判定した場合、暗号評価装置は、“独立”を出力する（ステップＳ２）。一方、“非独立” と判定した場合、暗号評価装置は、“非独立”を出力する（ステップＳ３）。
【００５７】
次に線形確率計算手段１０４は、入力された入力マスク２１０、出力マスク２２０について、対応表記憶手段１０２を参照し、線形確率ｐを計算する（ステップＳ４）。
【００５８】
次に線形ふるい確率計算手段１０５は、入力された入力マスク２１０、出力マスク２２０、線形ふるいマスク２３０について、対応表記憶手段１０２を参照し、線形ふるい確率ｐ＊を計算する（ステップＳ５）。
【００５９】
Ｇａｉｎ値計算手段１０６は、ステップＳ４，ステップＳ５で求めた線形確率ｐ及び線形ふるい確率ｐ＊を用いて、Ｇａｉｎ値を計算し（ステップＳ６）、Ｇａｉｎ値を出力する（ステップＳ７）。
【００６０】
このようにしてステップＳ２、ステップＳ３で得られた鍵の独立性判定結果（独立／非独立）３２０と、Ｇａｉｎ値計算手段１０６のＧａｉｎ値３１０とを確認し、鍵の独立性判定結果（独立／非独立）３２０が“独立”かつＧａｉｎ値が１より大きい時、入力された入力マスク２１０、出力マスク２２０、線形ふるいマスク２３０が、線形解読法と比較して、解読に必要なデータ量を削減できているマスクの組と判断することができる。もちろん、上記判定処理を暗号評価装置を構成するコンピュータに実行させてもよい。
【００６１】
以上説明したように、本実施形態では、線形鍵とふるい鍵の独立性を考慮し、Ｇａｉｎの式を正しい式に変更しているため、鍵が入力マスク及び線形ふるいマスクに影響を与える場合の線形ふるいマスクの効果を正確に評価することができる。また、鍵の独立性チェック手段を備えているため、線形鍵と独立でないふるい鍵を判別することが可能となる。
【００６２】
［第２の実施の形態］
続いて、ふるい適用によって効果が出るマスク組の情報がわかるようにした本発明の第２の実施形態について第１の実施形態との相違点を中心に説明する。
【００６３】
図４は、本発明の第２の実施形態の暗号評価装置の構成を表したブロック図である。図４を参照すると、第２の実施形態の暗号評価装置７００は、第１の実施形態の暗号評価装置１００にマスク生成手段７０１、ふるい適用効果判定手段７０２、マスク情報出力手段７０３を追加した構成となっている。
【００６４】
マスク生成手段７０１は、入力マスク、出力マスク、線形ふるいマスクの組み合わせをマスクの生成個数２６０だけ、生成する手段である。
【００６５】
ふるい適用効果判定手段７０２は、鍵の独立性チェック手段１０３の結果が独立でかつＧａｉｎ値計算手段１０６の計算結果であるＧａｉｎ値が１より大きい時に効果ありと判定し、それ以外は効果なしと判定する手段である。
【００６６】
マスク情報出力手段７０３は、ふるい適用効果判定手段７０２が効果ありと判定した場合のみ、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクの内の一つ、または二つ以上の組み合わせを出力する手段である。
【００６７】
暗号評価装置７００には、鍵の独立性の定義２４０、各マスクに対応する非線形変換処理の対応表２５０に加えて、マスクの生成個数２６０が入力される。
【００６８】
続いて、上記第２の実施形態の暗号評価装置の動作について説明する。図５は、本発明の第２の実施形態の暗号評価装置の動作を表したフローチャートである。また、第１の実施形態と同様の処理については説明を簡略する。
【００６９】
最初にマスク生成手段７０１によって入力マスク、出力マスク、線形ふるいマスクの組の生成が行なわれる（ステップＳ８）。生成したマスクの評価が完了している場合、処理は終了となる。
【００７０】
生成個数分のマスクを評価していない場合は、ステップＳ８で生成した入力マスク、線形ふるいマスクが鍵の独立性チェック手段１０３に入力され、入力マスクと線形ふるいマスクに対応する鍵の独立性が判定される（ステップＳ１）。判定した結果は以降の処理で用いられる。
【００７１】
次に、線形確率計算手段１０４に、マスク生成手段７０１で生成した入力マスク、出力マスクが入力され、線形確率ｐの計算が行なわれる（ステップＳ４）。
【００７２】
次に、線形ふるい確率計算手段１０５に、マスク生成手段７０１で生成した入力マスク、出力マスクが入力され、線形ふるい確率ｐ＊の計算が行なわれる（ステップＳ５）。
【００７３】
次に、Ｇａｉｎ値計算手段１０６で、ステップＳ４，ステップＳ５で求めた各確率を用いて、Ｇａｉｎ値の計算が行なわれる（ステップＳ６）。
【００７４】
次に、ふるい適用効果判定手段７０２にステップＳ１で得られた鍵の独立性判定結果とステップＳ６で得られたＧａｉｎ値が入力される。ふるい適用効果判定手段７０２は、鍵が独立でかつＧａｉｎ値が１より大きい時は効果有りと判定し、それ以外のときは効果無しと判定する（ステップＳ９）。ステップＳ９の判定で効果無しと判定した場合、ステップＳ８に戻り同様の処理が繰り返される。
【００７５】
ステップＳ９の判定で、ふるい適用の効果有りと判定した場合、マスク情報出力手段７０３が、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクを出力する（ステップＳ１０）。ステップＳ１０が終了すると、ステップＳ８に戻り同様の処理が繰り返される。
【００７６】
以上のように、本実施形態によれば、予めマスクを用意するのではなく、指定した個数のマスクを生成し、ふるい適用によって効果が出るマスクあるいはその組み合わせの情報を得ることができる。
【００７７】
［第３の実施の形態］
続いて、ふるい適用によって最も効果が出るマスク組の情報がわかるようにした本発明の第３の実施形態について第１、第２の実施形態との相違点を中心に説明する。
【００７８】
図６は、本発明の第３の実施形態の暗号評価装置の構成を表したブロック図である。図６を参照すると、第３の実施形態の暗号評価装置８００は、第１の実施形態の暗号評価装置１００にマスク生成手段７０１、ふるい適用効果判定手段７０２、マスク情報記憶手段８０１、最良マスク選定手段８０２、最良マスク情報抽出手段８０３を追加した構成となっている。
【００７９】
マスク情報記憶手段８０１は、ふるい適用効果判定手段７０２で効果ありと判定された場合のみ、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクのうちの一つ、または二つ以上の組み合わせを記憶する手段である。
【００８０】
最良マスク選定手段８０２は、マスク情報記憶手段８０１に記憶されたマスクあるいはマスクの組からＧａｉｎ値が最大になるマスクあるいはその組み合わせの情報を選定する手段である。
【００８１】
最良マスク情報抽出手段８０３は、最良マスク選定手段８０２により選定されたＧａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクの内の一つ、または二つ以上の組み合わせを抽出する。
【００８２】
続いて、上記第３の実施形態の暗号評価装置の動作について説明する。図７は、本発明の第３の実施形態の暗号評価装置の動作を表したフローチャートである。また、第１、第２の実施形態と同様の処理については説明を簡略する。
【００８３】
最初にマスク生成手段７０１によって入力マスク、出力マスク、線形ふるいマスクの組の生成が行なわれる（ステップＳ８）。生成したマスクの評価が完了している場合、ステップＳ１２以降の最良マスクの制定処理が開始される。
【００８４】
生成個数分のマスクの評価が完了していない場合は、第２の実施形態と同様に、ステップＳ１、Ｓ４、Ｓ５、Ｓ６、Ｓ９の処理が行われる。また、ステップＳ９の判定で効果無しと判定した場合は、ステップＳ８に戻り同様の処理が繰り返される。
【００８５】
一方、ステップＳ９の判定で効果有りと判定された場合は、マスク情報記憶手段８０１にＧａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクを記憶する（ステップＳ１１）。ステップＳ１１の終了後、ステップＳ８に戻り同様の処理が繰り返される。
【００８６】
生成個数分のマスクの評価が完了した場合、最良マスク選定手段８０２は、マスク情報記憶手段８０１を参照し、Ｇａｉｎ値が最大になる時のマスクあるいはその組み合わせの情報を選定する（ステップＳ１２）。
【００８７】
次に最良マスク情報抽出手段８０３が、ステップＳ１２で選定したＧａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクを出力する（ステップＳ１３）。
【００８８】
以上のように、本実施形態によれば、ふるい適用によって最も効果が出るマスクあるいはその組み合わせの情報を得ることができる。
【００８９】
［第４の実施の形態］
続いて、線形ふるい法を考慮した上で暗号の安全性を把握できるようにした本発明の第４の実施形態について第１〜第３の実施形態との相違点を中心に説明する。
【００９０】
図８は、本発明の第４の実施形態の暗号評価装置の構成を表したブロック図である。図８を参照すると、第４の実施形態の暗号評価装置９００は、第１の実施形態の暗号評価装置１００にマスク生成手段７０１、ふるい適用効果判定手段７０２、マスク情報記憶手段８０１、安全性判定手段９０１を追加した構成となっている。
【００９１】
第４の実施形態の暗号評価装置９００への入力データは、鍵の独立性の定義２４０、各マスクに対応する非線形変換処理の対応表２５０、マスクの生成個数２６０、入力データサイズ２８０となる。
【００９２】
安全性判定手段９０１は、暗号の入力データサイズ２８０（ｎとする）が入力され、マスク情報記憶手段８０１に記憶されたマスク組に対して１組ごとに、線形ふるい確率ｐ＊が２−ｎより大きくなるか小さくなるかを判定する。前記判定の結果、線形ふるい確率ｐ＊が２−ｎ以下の時は、暗号の線形ふるい法への耐性有り（ＯＫ）と判定し、線形ふるい確率ｐ＊が２−ｎよりも大きい時は、暗号の線形ふるい法への耐性無し（ＮＧ）と判定する。安全性判定手段９０１に、判定した結果（ＯＫ／ＮＧ）に加えて、Ｇａｉｎ値、線形確率、線形ふるい確率、入力マスク、出力マスク、線形ふるいマスクを出力させることができる。
【００９３】
上記暗号評価装置によれば、ふるいを適用するふるい適用ラウンドが１ラウンド目またはＲラウンド目以外の場合であるという条件下で、ブロック暗号の線形ふるい法に対する安全性を正確に評価できる。もちろん、上記判定結果をＯＫ又はＮＧの２値ではなく、鍵の独立性やＧａｉｎ値に応じ、段階的な指標を出力するようにしてもよい。
【００９４】
なお、ふるいを適用するふるい適用ラウンドが１ラウンド目またはＲラウンド目の場合は、以下の変更を行なうことができる。
【００９５】
ふるい適用ラウンドが１ラウンド目またはＲラウンド目、つまり、暗号の一番外側のラウンドになると、線形鍵とふるい鍵の仮定がなくなるので、Ｇａｉｎ値計算手段１０６の方法よりも非特許文献２のＧａｉｎ値計算方法の方が適切である（数１参照）。
【００９６】
また、ふるい適用による効果の判定は、ふるい適用効果判定手段７０２とは異なり、鍵の独立性チェック手段１０３の結果は考慮せずに、Ｇａｉｎ値が１より大きい時、効果ありと判定する。
【００９７】
例えば、ふるい適用ラウンドを入力するふるい適用ラウンド入力手段、及び、Ｇａｉｎ値計算手段１０６に代わって動作する非特許文献２の計算方法に相当する第２のＧａｉｎ値計算手段を設けることも好ましい変形実施形態である。このようにすれば、ふるい適用ラウンドが１ラウンド目またはＲラウンド目であるか否かにより、Ｇａｉｎ値計算手段１０６の動作と、ふるい適用効果判定手段７０２の動作を切り替えることができる。
【００９８】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した各実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
【００９９】
上記した実施形態１〜４で説明した一連の処理はＣＰＵとメモリを持つコンピュータで動作するプログラム（暗号評価プログラム）にて実行させることができる。また、ハードウェア、ソフトウェア、あるいは、両者の組み合わせにより構成することも可能であり、本発明が適用されるシステムの用途等により、適宜変更を加えることができる。
【０１００】
また、本発明の暗号評価プログラムは、記録媒体としてのハードディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、半導体メモリ等の形態で、配布し、任意のコンピュータにおいて実行できるようにすることができる。
【０１０１】
また、上記した暗号評価プログラムは、ネットワーク上のファイルサーバ等に格納しておき、適宜、ダウンロードして使用できるようにすることもできる。
【産業上の利用可能性】
【０１０２】
本発明によれば、ブロック暗号に対する安全性評価といった用途に適用できる。
【図面の簡単な説明】
【０１０３】
【図１】本発明の概要を説明するための図である。
【図２】本発明の第１の実施形態の暗号評価装置の構成を表したブロック図である。
【図３】本発明の第１の実施形態の暗号評価装置の動作を表したフローチャートである。
【図４】本発明の第２の実施形態の暗号評価装置の構成を表したブロック図である。
【図５】本発明の第２の実施形態の暗号評価装置の動作を表したフローチャートである。
【図６】本発明の第３の実施形態の暗号評価装置の構成を表したブロック図である。
【図７】本発明の第３の実施形態の暗号評価装置の動作を表したフローチャートである。
【図８】本発明の第４の実施形態の暗号評価装置の構成を表したブロック図である。
【図９】線形鍵とふるい鍵の独立性を説明するための図である。
【図１０】ブロック暗号ＤＥＳの全体構造を表した図である。
【図１１】図１０のブロック暗号ＤＥＳのＦ関数の構造を表した図である。
【図１２】図１１のＦ関数内の拡大転置Ｅの変換表の例である。
【図１３】図１１のＦ関数内の転置Ｐの変換表の例である。
【図１４】鍵の独立性の定義の一例（ＤＥＳ）である。
【図１５】各マスクに対応する非線形変換処理の対応表の一例（ＤＥＳ）である。
【図１６】線形解読法の線形近似式を説明するための図である。
【図１７】線形解読法の１ラウンド消去法を説明するための図である。
【符号の説明】
【０１０４】
１００、７００、８００、９００  暗号評価装置
１０１  鍵の独立性の定義記憶手段
１０２  対応表記憶手段
１０３  鍵の独立性チェック手段
１０４  線形確率計算手段
１０５  線形ふるい確率計算手段
１０６  Ｇａｉｎ値計算手段
２１０  入力マスク
２２０  出力マスク
２３０  線形ふるいマスク
２４０  鍵の独立性の定義
２５０  非線形変換処理の対応表
２６０  マスク生成個数
２８０  入力データサイズ
３１０、３２０、３３０、３４０  暗号判定装置の出力
４００  暗号装置
４１０  非線形関数
５００  暗号装置
５１０、５２０  非線形関数
６００  暗号装置
６１０、６２０  非線形関数
７０１  マスク生成手段
７０２  ふるい適用効果判定手段
７０３  マスク情報出力手段
８０１  マスク情報記憶手段
８０２  最良マスク選定手段
８０３  最良マスク情報抽出手段
９０１  安全性判定手段
【図１】
2009282089.tif 000007
【図２】
2009282089.tif 000008
【図３】
2009282089.tif 000009
【図４】
2009282089.tif 000010
【図５】
2009282089.tif 000011
【図６】
2009282089.tif 000012
【図７】
2009282089.tif 000013
【図８】
2009282089.tif 000014
【図９】
2009282089.tif 000015
【図１０】
2009282089.tif 000016
【図１１】
2009282089.tif 000017
【図１２】
2009282089.tif 000018
【図１３】
2009282089.tif 000019
【図１４】
2009282089.tif 000020
【図１５】
2009282089.tif 000021
【図１６】
2009282089.tif 000022
【図１７】
2009282089.tif 000023