説明

攻撃探索装置、攻撃探索方法、攻撃探索プログラム

【課題】位数pを含めて攻撃成功の可能性を探索する。
【解決手段】本発明の攻撃探索装置は、少なくとも多項式の演算として線形和を行うことが許可された条件で、攻撃が成功する可能性があるかを探索する。攻撃探索装置は、データ取得部、処理情報生成部、数式処理部、出力部を備える。データ取得部は、攻撃に利用できる多項式A,…,A、解の条件G=H,…,G=Hを取得する。処理情報生成部は、前記解の条件の左辺と右辺の差をそれぞれ求め、多項式E,…,Eとする。数式処理部は、多項式EからE中に現れる変数XからXのそれぞれ対して、


のように多項式A,…,Aの線形和で表現できる0以上p−1以下の整数cm1,…,cmNが存在し、かつ、E=bp,…,E=bpを満足する素数pと整数b,…,bが存在するかを探索する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号方式などに対する攻撃が可能かを探索する攻撃探索装置、攻撃探索方法、攻撃探索プログラムに関する。
【背景技術】
【0002】
暗号方式などに対する攻撃が可能かを探索する従来技術として、群要素の恒等式を成り立たせるようなケースの有無を探索するACTAS(Associative and Commutative Tree Automata Simulator)などが知られている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】結合則・交換則ツリーオートマトンシミュレータ、ユーザーマニュアル(2005年4月1日作成)[平成22年10月21日検索]、インターネット<URL: http://staff.aist.go.jp/hitoshi.ohsaki/actas/index.html>.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来方法の場合、まず、ある位数pを具体的な値としてセットし、そのセットした位数pについて、攻撃者が攻撃成功となる場合が存在するか否かを探索する。しかし、得られる効果は、あくまでもある具体的に設定した位数pの値での攻撃成功の存在の有無であり、位数pを別の値に設定した場合の安全性については、別途改めて、位数pを設定し、探索結果を見なければならない。
【0005】
本発明は、位数pを含めて攻撃成功の可能性を探索できる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の攻撃探索装置は、少なくとも多項式の演算として線形和を行うことが許可された条件で、攻撃が成功する可能性があるかを探索する。なお、線形和以外にも多項式同士の乗算などを許可してもよい。本発明の攻撃探索装置は、データ取得部、処理情報生成部、数式処理部、出力部を備える。データ取得部は、攻撃に利用できる多項式A,…,A、解の条件G=H,…,G=Hを取得する(ただし、M,Nは1以上の整数、G,…,G、H,…,Hは多項式)。なお、多項式の演算として線形和以外も許容する場合は、データ取得部は、どのような演算が許容させるのかの情報も受け取ればよい。処理情報生成部は、解の条件の左辺と右辺の差をそれぞれ求め、多項式E,…,Eとする。具体的には、E=G−H,…,E=G−HまたはE=H−G,…,E=H−Gのように多項式E,…,Eを求めればよい。数式処理部は、多項式EからE中に現れる変数XからXのそれぞれ対して、
【0007】
【数1】

【0008】
のように多項式A,…,Aの線形和で表現できる0以上p−1以下の整数cm1,…,cmNが存在して、かつ、E=bp,…,E=bpを満足する素数pと整数b,…,bが存在するかを探索する(ただし、Kは1以上の整数、kは1以上K以下の整数、mは1以上M以下の整数)。なお、多項式の演算として線形和以外も許容する場合は、数式処理部は、許容された演算も利用して多項式E,…,E中に現れる変数XからXが表現できないかも探索する。出力部は、数式処理部の探索結果を出力する。
【発明の効果】
【0009】
本発明の攻撃探索装置によれば、探索を開始する際に、ある具体的に特定した位数pを設定する必要が無いので、あらゆる位数pについての、攻撃者の成功の可能性を一気に探索することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の攻撃探索装置の機能構成例を示す図。
【図2】本発明の攻撃探索装置の処理フローを示す図。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例1】
【0012】
図1に本発明の攻撃探索装置の機能構成例を示す。図2に本発明の攻撃探索装置の処理フローを示す。本発明の攻撃探索装置は、少なくとも多項式の演算として線形和を行うことが許可された条件で、攻撃が成功する可能性があるかを探索する。なお、線形和以外にも多項式同士の乗算などを許可してもよい。攻撃探索装置100は、データ取得部110、処理情報生成部120、数式処理部130、出力部140、記録部190を備える。以下の説明では、K,M,Nは1以上の整数、kは1以上K以下の整数、mは1以上M以下の整数、nは1以上N以下の整数とする。また、多項式には、定数だけの場合(変数がない場合)、項が1つだけの場合も含むものとする。
【0013】
データ取得部110は、攻撃に利用できる多項式A,…,A、解の条件G=H,…,G=Hを取得する(S110)。ここで、G,…,G、H,…,Hは多項式である。なお、多項式の演算として線形和以外も許容する場合は、データ取得部は、どのような演算が許容させるのかの情報も受け取ればよい。処理情報生成部120は、解の条件の左辺と右辺の差をそれぞれ求め、多項式E,…,Eとする(S120)。具体的には、E=G−H,…,E=G−HまたはE=H−G,…,E=H−Gのように多項式E,…,Eを求めればよい。
【0014】
数式処理部130は、多項式EからE中に現れる変数XからXのそれぞれ対して、
【0015】
【数2】

【0016】
のように多項式A,…,Aの線形和で表現できる0以上p−1以下の整数cm1,…,cmNが存在し、かつ、E=bp,…,E=bpを満足する素数pと整数b,…,bが存在するかを探索する(S130)。なお、多項式の演算として線形和以外も許容する場合は、数式処理部130は、許容された演算も利用して多項式E,…,E中に現れる変数XからXが表現できないかも探索すればよいが、少なくとも上記の探索は行う。また、数式処理部130の処理は、Maple(メイプル)などの一般的な数式処理・数式モデル用のソフトウェアを利用すれば実行できる(参考文献1:数式処理・数式モデル設計環境、Maple(メイプル)[平成22年10月21日検索]、インターネット<URL: http://www.cybernet.co.jp/maple/product/maple/>.)。
【0017】
出力部140は、数式処理部130の探索結果を出力する(S140)。探索の結果、いずれかの素数pに対して、整数c11,…,c1N,c21,…,c2N,…,cm1,…,cmN,…,cM1,…,cMN、整数b,…,bが存在すれば、その素数pを位数とする場合には解の条件G=H,…,G=Hを成り立たせる場合が存在することになる。したがって、探索結果によって攻撃成功の可能性の有無が分かる。
【0018】
このように、本発明の攻撃探索装置によれば、探索を開始する際に、ある具体的に特定した位数pを設定する必要が無いので、あらゆる位数pについての、攻撃者の成功の可能性を一気に探索できる。
【0019】
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0020】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0021】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0022】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0023】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0024】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0025】
本発明は、暗号システムの安全性の確認に利用できる。
【符号の説明】
【0026】
100 攻撃探索装置 110 データ取得部
120 処理情報生成部 130 数式処理部
140 出力部 190 記録部

【特許請求の範囲】
【請求項1】
少なくとも多項式の演算として線形和を行うことが許可された条件で、攻撃が成功する可能性があるかを探索する攻撃探索装置であって、
K,M,Nは1以上の整数、kは1以上K以下の整数、mは1以上M以下の整数、nは1以上N以下の整数とし、
攻撃に利用できる多項式A,…,A、解の条件G=H,…,G=Hを取得するデータ取得部と、
前記解の条件の左辺と右辺の差をそれぞれ求め、多項式E,…,Eとする処理情報生成部と、
多項式EからE中に現れる変数XからXのそれぞれ対して、
【数3】

のように多項式A,…,Aの線形和で表現できる0以上p−1以下の整数cm1,…,cmNが存在し、かつ、E=bp,…,E=bpを満足する素数pと整数b,…,bが存在するかを探索する数式処理部と、
前記数式処理部の探索結果を出力する出力部と、
を備える攻撃探索装置。
【請求項2】
少なくとも多項式の演算として線形和を行うことが許可された条件で、攻撃が成功する可能性があるかを探索する攻撃探索方法であって、
K,M,Nは1以上の整数、kは1以上K以下の整数、mは1以上M以下の整数、nは1以上N以下の整数とし、
データ取得部が、攻撃に利用できる多項式A,…,A、解の条件G=H,…,G=Hを取得するデータ取得ステップと、
処理情報生成部が、前記解の条件の左辺と右辺の差をそれぞれ求め、多項式E,…,Eとする処理情報生成ステップと、
数式処理部が、多項式EからE中に現れる変数XからXのそれぞれ対して、
【数4】

のように多項式A,…,Aの線形和で表現できる0以上p−1以下の整数cm1,…,cmNが存在し、かつ、E=bp,…,E=bpを満足する素数pと整数b,…,bが存在するかを探索する数式処理ステップと、
出力部が、前記数式処理ステップの探索結果を出力する出力ステップと、
を有する攻撃探索方法。
【請求項3】
請求項1記載の攻撃探索装置としてコンピュータを機能させるための攻撃探索プログラム。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2012−104983(P2012−104983A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−250525(P2010−250525)
【出願日】平成22年11月9日(2010.11.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(504176911)国立大学法人大阪大学 (1,536)
【Fターム(参考)】