(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6791820
(24)【登録日】2020年11月9日
(45)【発行日】2020年11月25日
(54)【発明の名称】ペアリング等式一括検証装置、ペアリング等式一括検証生成方法、プログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20201116BHJP
G09C 1/00 20060101ALI20201116BHJP
【FI】
H04L9/00 675C
G09C1/00 620A
G09C1/00 650Z
【請求項の数】5
【全頁数】20
(21)【出願番号】特願2017-160059(P2017-160059)
(22)【出願日】2017年8月23日
(65)【公開番号】特開2019-41166(P2019-41166A)
(43)【公開日】2019年3月14日
【審査請求日】2019年8月19日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100121706
【弁理士】
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【弁理士】
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【弁理士】
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】星野 文学
【審査官】
児玉 崇晶
(56)【参考文献】
【文献】
特開2017−126027(JP,A)
【文献】
特開2016−206444(JP,A)
【文献】
国際公開第2013/111673(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
(57)【特許請求の範囲】
【請求項1】
kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{Ek}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す変数bklの論理式の線形和として、計算量を表す目的関数Bを生成する目的関数生成部と、
前記目的関数Bを、線形制約付き線形目的関数に変換する線形目的関数変換部と、
全ての前記線形制約および前記線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得する整数計画アルゴリズム実行部と、
前記厳密解または前記近似解によって定まる前記変数bklの値に従って一括検証方式を構成する一括検証方式構成部と、
を含むペアリング等式一括検証装置。
【請求項2】
請求項1に記載のペアリング等式一括検証装置であって、
前記目的関数Bは、多重ペアリングに必要な演算コストに関する項と、多重冪乗に必要な演算コストに関する項を含む
ペアリング等式一括検証装置。
【請求項3】
ペアリング等式一括検証装置が実行するペアリング等式一括検証生成方法であって、
kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{Ek}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す変数bklの論理式の線形和として、計算量を表す目的関数Bを生成するステップと、
前記目的関数Bを、線形制約付き線形目的関数に変換するステップと、
全ての前記線形制約および前記線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得するステップと、
前記厳密解または前記近似解によって定まる前記変数bklの値に従って一括検証方式を構成するステップと、
を含むペアリング等式一括検証生成方法。
【請求項4】
請求項3に記載のペアリング等式一括検証生成方法であって、
前記目的関数Bは、多重ペアリングに必要な演算コストに関する項と、多重冪乗に必要な演算コストに関する項を含む
ペアリング等式一括検証生成方法。
【請求項5】
コンピュータを請求項1または2に記載のペアリング等式一括検証装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は署名・認証・零知識証明あるいは一般の暗号認証技術の設計に関し、ペアリング等式一括検証装置、ペアリング等式一括検証生成方法、プログラムに関する。
【背景技術】
【0002】
<ペアリング>
暗号認証技術の設計においてペアリングとは様々な方式に応用可能な暗号プリミティブ(暗号用原始関数)であって、形式的には概ね次の様な代数的構造を持つ符号を出力する確率的多項式時間アルゴリズムG(数式においてイタリック体で表現されるG、以下同様)であると定義される。
【0003】
【数1】
【0004】
1)Lは、
【0005】
【数2】
【0006】
なる有限可換環L(イタリック体)の符号。
【0007】
G
0,G
1,G
Tはそれぞれ
【0008】
【数3】
【0009】
なる同じL(イタリック体)-可群M(イタリック体)の符号。auxは補助出力。
【0010】
2)次のλに関する確率的多項式時間アルゴリズムが利用可能。
−L,G
0,G
1,G
T上の標本
−L上の環演算
−和:G
x×G
x→G
x,∀x∈{0,1,T}
−スカラー倍:L×G
x→G
x,∀x∈{0,1,T}
−非退化双準同型e:G
0×G
1→G
T
【0011】
一般に暗号認証技術の設計において安全性の証明を行う際には、暗号プリミティブに対して定義される何らかの暗号学的問題を考察する。λは安全変数と呼ばれ、暗号学的問題を解こうと試みる確率的多項式時間攻撃者A(イタリック体)に対して定義される利得が、如何なるA(イタリック体)に対してもλに関して無視可能となる事が暗号プリミティブが安全である事の差し当たっての定義である。暗号プリミティブの安全性を数学的に証明する事は多くの場合は困難であり、通常は経験的に成立すると予想される仮説が用いられる。そのような仮説を暗号学的仮定と呼ぶ。習慣によりLは離散対数などと呼ばれ、G
x,∀x∈{0,1,T}はそれぞれ群と呼ばれる。特にG
0,G
1を入力群(source group)、G
Tを標的群(target group)と呼ぶ。補助出力auxはG(イタリック体)の入力および乱数テープの適当な関数である。G(イタリック体)の具体的な出力(L,G
0,G
1,G
T,aux)は広い意味で共通参照文字列あるいはパラメタなどと呼ばれるが、これをペアリングと呼ぶ事もある。G
xの加群としての和は、積あるいは乗算などと呼ばれg,h∈G
xに対してg×h,g・h,gh等と記述される。G
xのL(イタリック体)-加群としてのスカラー倍は冪乗などと呼ばれa∈L,g∈G
xに対してg
aと記述される。積と冪乗はまとめて群演算と呼ばれる。また非退化双準同型eもペアリングと呼ばれる。qをq>2
Θ(λ)なる十分大きな素数から取り、LとしてZ/qZを、G
0,G
1としてそれぞれ適当な楕円曲線の有理点群の位数qの巡回部分群を、G
Tとして適当な有限体の乗法群の位数qの巡回部分群を取ると上記のようなG(イタリック体)を具体的に構成出来る事が知られている。ペアリングに関する暗号学的仮定はそのような構成のうち、幾つかのものが持つと予想される性質を抽象して定義され、そのような暗号学的仮定は少なくとも以下を含意する。
【0012】
3)Lを離散対数とするG
0,G
1,G
T上のCDH問題はそれぞれ計算困難。
従ってあるG(イタリック体)の具体的な構成について、有意な確率で条件3)を破る多項式時間アルゴリズムが見つかったならばG(イタリック体)は安全なペアリングではないという事が出来る。あるG(イタリック体)の具体的な構成が条件1)、2)を満たし暗号学的仮定が成立すると信じられるなら、そのようなG(イタリック体)を安全なペアリングの候補と呼ぶ。歴史的経緯と習慣により、安全なペアリングの候補の事を単にペアリングと呼ぶ事が多い。また、ペアリングと言った時それがeを指すのか、(L,G
0,G
1,G
T,aux)を指すのか、G(イタリック体)を指すのか、あるいは特にそれらを区別していないのかは文脈によって判断する必要がある。Galbraithらは、暗号プロトコルに用いられるペアリングを大雑把に以下の3つの型に分類した(非特許文献1)。
Type1:G
0,G
1間で双方向に多項式時間同型が存在する。
Type2:G
1→G
0なる一方向同型が存在する。
Type3:G
0,G
1間で双方向に多項式時間同型が存在しない。
【0013】
一般にType1を対称ペアリングと呼び、Type2,Type3を非対称ペアリングと呼ぶ。対称ペアリングにおいてはG
0とG
1は、いつでも双方向に多項式時間で行き来出来る為、暗号方式の設計においては両者は特に区別されず、単にGと記述される。
【0014】
<一括検証>
ペアリングを用いた、署名やゼロ知識証明などの一般化された暗号認証方式が、方式を構成するアルゴリズム内に
【0015】
【数4】
【0016】
の型の式の検証を含む時、一般にこれを
【0017】
【数5】
【0018】
の検証と見做すことが出来る。
【0019】
【数6】
【0020】
と定めれば上記検証式は
【0021】
【数7】
【0022】
と記述出来る。従って以下ではこの型の検証式を考える。今、方式を構成するペアリングの入力群変数の集合が
【0023】
【数8】
【0024】
であるとき、検証アルゴリズム内に
【0025】
【数9】
【0026】
(但しα
l≠0,β
l≠0)の型の検証式が多数含まれる場合を考える。即ち整数k∈{1,...,k
max}について
【0027】
【数10】
【0028】
とし
【0029】
【数11】
【0030】
なる命題の検証が検証アルゴリズムに含まれるとする。この命題の真理値について
【0031】
【数12】
【0032】
であるが、逆は必ずしも成立しない。しかし暗号学的に安全なペアリングを用いる場合R(イタリック体)を離散対数Lの十分大きな部分集合とすれば高い確率で逆が成り立つとして良い。一般にE
k=1なる命題をk∈{1,...,k
max}について一つずつ検証するよりも
【0033】
【数13】
【0034】
を一括で検証する方が効率が良い。これを一括検証と呼ぶ。
【先行技術文献】
【非特許文献】
【0035】
【非特許文献1】Steven D. Galbraith, Kenneth G. Paterson, and Nigel P. Smart. Pairings for cryptographers. Discrete Applied Mathematics, 156(16):3113-3121, 2008.
【非特許文献2】Joseph A. Akinyele, Matthew Green, Susan Hohenberger, and Matthew W. Pagano. Machine-Generated Algorithms, Proofs and Software for the Batch Verication of Digital Signature Schemes.In CCS'12 Proceedings of the 2012 ACM conference on Computer and communications security, Pages474-487.
【非特許文献3】Der-San Chen, Robert G. Batson, and Yu Dang. Applied Integer Programming: Modeling and Solution. ISBN: 978-0-470-37306-4, pp.54-58, December 2009.
【非特許文献4】久保幹雄、田村明久、松井知己[編集]、「応用数理計画ハンドブック」、株式会社朝倉書店、2012年5月、p.243-244,2002.
【発明の概要】
【発明が解決しようとする課題】
【0036】
一般にe(X,Y)
r=e(X
r,Y)=e(X,Y
r)であり、e(X,Y)
rの計算方法は一通りではない。さらに
【0037】
【数14】
【0038】
あるいは
【0039】
【数15】
【0040】
であり、引数のどちらか一方が等しいペアリングはまとめる事が可能である。従って一括検証式
【0041】
【数16】
【0042】
には使用される乱数r
kをどう配置し、ペアリングをどうまとめるかにより沢山の計算方法が存在し、一般にその数は少なくともペアリングの数に対して指数関数的に増大する。そして計算方法により、まとめる事が可能なペアリング数やペアリングへ入力される式の型が変化するので計算の効率が大きく変わる。指数的多数の計算方法の候補から最も良い、あるいはそれに匹敵するくらい良い計算方法を単純に探索する事は、一括検証の規模が大きくなると事実上実行不可能となる。
【0043】
例えば、非特許文献2には、経験を基に様々な計算手法を探索的に適用することで一括検証を効率よく計算できる方法が開示されているが、最適、もしくはそれに匹敵するくらい良い計算方法を統一的な手法で求めることができないという課題がある。
【0044】
従って、k∈{1,...,k
max}に関して予め決められたE
kの型が与えられたとき、この指数的多数の計算方法の候補から最も良い、あるいはそれに匹敵するくらい良い計算方法を見つけ出す事が重要な課題となる。
【0045】
そこで本発明では、効率的な計算方法による一括検証を実現することができるペアリング等式一括検証装置を提供することを目的とする。
【課題を解決するための手段】
【0046】
本発明のペアリング等式一括検証装置は、目的関数生成部と、線形目的関数変換部と、整数計画アルゴリズム実行部と、一括検証方式構成部を含む構成である。
【0047】
目的関数生成部は、kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{E
k}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す変数b
klの論理式の線形和として、計算量を表す目的関数Bを生成する。
【0048】
線形目的関数変換部は、目的関数Bを、線形制約付き線形目的関数に変換する。
【0049】
整数計画アルゴリズム実行部は、全ての線形制約および線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得する。
【0050】
一括検証方式構成部は、厳密解または近似解によって定まる変数b
klの値に従って一括検証方式を構成する。
【発明の効果】
【0051】
本発明のペアリング等式一括検証装置によれば、効率的な計算方法による一括検証を実現することができる。
【図面の簡単な説明】
【0052】
【
図1】実施形態のペアリング等式一括検証装置の構成を示すブロック図。
【
図2】実施形態のペアリング等式一括検証装置の動作を示すフローチャート。
【発明を実施するための形態】
【0053】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0054】
≪準備:{0,1}変数b
kl、目的関数B≫
今、ペアリングe(X
α,Y
β)
rに対して、便宜的にb∈{0,1}なる変数を考え、b=0ならば冪を全てYに集め、b=1ならば冪を全てXに集めるとする。従ってε=αβ、
【0058】
と展開出来る。今、非対称ペアリングの場合を想定して一括検証
【0060】
の全てのペアリングに上記の展開を適用すると、
【0062】
を得る。G
0変数X
iの添え字i∈{1,...,i
max}の関数Iを
【0064】
と定義すると、上記下線部について有限個のペアリングの積の演算順序を交換し、同じ基底X
iを持つペアリングをまとめる事により、
【0068】
と定義すると、上記下線部について有限個の冪乗の積の演算順序を交換する事により、
【0074】
と出来る。同様にG
1変数Y
jの添え字j∈{1,...,j
max}の関数Jを
【0080】
と出来る。大雑把に見積もると、この一括検証の計算コストは最大i
max+j
max個のペアリングの積で構成される多重ペアリングのコストと各ペアリングの引数を構成する多重冪乗のコストの総和により決定される。このとき、
【0084】
なるペアリングは値が1となる事が予め分かっているので、一般には実際に多重ペアリングを構成する有効なペアリングの個数nはi
max+j
maxよりも小さい。Lをペアリングを計算する際のMiller loopのコストFをペアリングを計算する際の最終冪のコストとすると、多重ペアリングに必要な演算コストは概ね
F+n・L
と見積もることが出来る。またG
1多重冪乗
【0086】
に必要な演算コストは、s
1,iを全指数の最大bit数、m
1,iを全指数の合計bit数とし、S
1をG
1自乗のコストM
1をG
1乗算のコストとすると、ある定数
【0088】
が存在して、
s
1,i・S
1+c
1・m
1,i・M
1
と見積もることが出来る。同様にG
0多重冪乗
【0090】
に必要な演算コストはs
0,jを全指数の最大bit数、m
0,jを全指数の合計bit数とし、S
0をG
0自乗のコスト、M
0をG
0乗算のコストとすると、ある定数
【0092】
が存在して
s
0,j・S
0+c
0・m
0,j・M
0
と見積もることが出来る。
【0094】
と定義すれば、一括検証の全コストBを
【0096】
とする事が出来る。対称ペアリングの場合も似たような評価が出来る(後述)。
【0097】
≪準備:線形制約付き線形目的関数への変換(後述するS12)≫
ところで{0,1}上の変数x,x
1,x
2,yについて、
【0099】
である。即ち{0,1}変数の任意の連言と否定はある線型制約の元で新しい{0,1}変数に置き換え可能で、従ってどのような命題変数の論理式もこの置き換えを繰り返す事によって{0,1}変数の線型制約付き線型式に変換出来る事が良く知られている(非特許文献3)。
【0100】
従って、もしBを{0,1}変数b
klの論理式の線形和で見積もる事が出来るなら、上記の変換を用いてBを{0,1}変数の線型制約付き線型式に変換出来、Bの最適値あるいは近似最適値を与えるb
klの割り当ては任意の整数線形計画アルゴリズムを用いて求めることが出来る。整数線形計画問題を解くアルゴリズムは例えば、動的計画法、分岐限定法、切除平面法、分岐切除法などの厳密解法、ランダム丸め法、ランダム抽出法などの近似解法、貪欲解法、局所探索法、タブーサーチ、シミュレーテッドアニーリング、遺伝的アルゴリズムなどのヒューリスティック解法などが良く知られている(非特許文献4)。
【0101】
≪準備:目的関数Bの生成−非対称ペアリングの場合(後述するS11)≫
r
kを確率変数として実際に多重ペアリングを構成する有効なペアリングの個数nは
【0109】
とする。ε
klおよびr
kがどのような集合から選択されるかは予め分かっているため、|ε
klr
k|の値は概算する事が出来、従って整列する事が出来るとする。例えばL=Z/qZのとき、一般に|ε
kl|は非常に小さい場合(例えば|ε
kl|〜1の時)あるいは非常に大きい場合(例えば|ε
kl|〜|q|の時)を想定することが可能で、|r
k|は|r
k|〜|q|/2あるいは、特定のkについては|r
k|〜1等と想定することが可能である。このとき、|ε
klr
k|は表1のように見積もられる。
【0133】
を考えると、Bを{0,1}変数b
klの論理式の線形和で記述できた。
【0134】
≪準備:目的関数Bの生成−対称ペアリングの場合(後述するS11)≫
対称ペアリングにおいてはG
0=G
1=Gと考えて良い。従って方式を構成するペアリングの入力群変数の集合
【0138】
を同一視しi
max=j
maxとし全てのi∈{1,...,i
max}についてX
i=Y
iと定義し直す。またI(i)とJ(i)のdisjoint unionU(i)を
U(i)=I(i)
└┘J(i)={(k,l,t)|(k,l)∈I(i)∧t=1∨(k,l)∈J(i)∧t=0}
と定義し、
【0146】
とする。このとき有効なペアリングの数nは
【0160】
とする。SをG自乗のコスト、MをG乗算のコストとすると、ある定数
【0164】
の演算コストを
s
i・S+c・m
i・M
と見積もることが出来る。従って、
【0166】
とすると一括検証の全コスト
B=F+n・L+s・S+c・m・M
を考えると、Bを{0,1}変数b
klの論理式の線形和で記述できた。
【0167】
<ペアリング等式一括検証装置>
以下、
図1、
図2を参照して実施形態に係るペアリング等式一括検証装置の構成、および動作について説明する。
図1に示すように、本実施形態のペアリング等式一括検証装置1は、目的関数生成部11と、目的関数記憶部11aと、線形目的関数変換部12と、線形目的関数記憶部12aと、整数計画アルゴリズム実行部13と、厳密解/近似解記憶部13aと、一括検証方式構成部14を含む構成である。
【0168】
図2に示すように、目的関数生成部11は、kを検証式のインデックス、lを各検証式に存在するペアリングのインデックスとし、ペアリングの積である検証式の集合{E
k}を取得して、k番目の検証式におけるl番目のペアリングにおいて、一方の入力群要素に冪を集めるか他方の入力群要素に冪を集めるかの何れかを表す{0,1}変数b
klの論理式の線形和として、計算量を表す目的関数Bを生成する(S11)。目的関数生成部11は生成した目的関数Bを目的関数記憶部11aに記憶する。
【0169】
線形目的関数変換部12は、目的関数Bを、線形制約付き線形目的関数に変換する(S12)。線形目的関数変換部12は、変換した線形制約付き線形目的関数を線形目的関数記憶部12aに記憶する。
【0170】
整数計画アルゴリズム実行部13は、全ての線形制約および線形目的関数を任意の0-1整数計画アルゴリズムに入力して、厳密解と近似解の少なくとも何れか一方を取得する(S13)。整数計画アルゴリズム実行部13は、取得した厳密解、または近似解を厳密解/近似解記憶部13aに記憶する。
【0171】
一括検証方式構成部14は、厳密解または近似解によって定まる変数b
klの値に従って一括検証方式を構成する(S14)。具体的には、b
klの値に従って一括検証方式
【0173】
(非対称ペアリングの場合)、あるいは
【0175】
(対称ペアリングの場合)等を構成する。一括検証方式構成部14は、構成した一括検証方式を出力する。
【0176】
従来は、ペアリング間で冪の集め方を異ならせるといった発想はあまり一般的でなかった。従来は、同じ種類のデータを扱うことが多かったため、例えばあるペアリングにおいてXに冪を集めることとした場合、他のペアリングにおいても同様にXに冪を集めるのが通常であったためである。このため、従来は各ペアリングにおける冪の集め方を記述した変数である{0,1}変数b
klといった着想はなかった。また一括検証方式において任意の0-1整数計画アルゴリズムを利用するという発想が一般的でなかったため、計算量を表す目的関数Bを{0,1}変数b
klの論理式の線形和として表したうえで、これを0-1整数計画アルゴリズムにおいて取扱い可能なように、線形制約付き線形目的関数に変換するという発想がなかった。本実施形態のペアリング等式一括検証装置1は、上述の新しい着想を採用したため、効率的な計算方法による一括検証を実現することができた。
【0177】
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【0178】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
【0179】
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
【0180】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0181】
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【0182】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0183】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0184】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0185】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【0186】
なお、明細書、特許請求の範囲に記載された各ステップは各種の情報を生成する方法の各ステップに該当する。ここでいう各種の情報は特許法第二条第四項に規定するプログラム等(プログラム…その他電子計算機による処理の用に供する情報であってプログラムに準ずるもの)に該当するため、ここでいう各種の情報は、特許法第二条第三項第一号に規定する物に該当する。従って、明細書、特許請求の範囲に記載された各種の情報を生成する方法はすなわち、特許法第二条第三項第三号に規定する物を生産する方法に該当することはいうまでもない。