特許拒絶査定不服審判
2017-009889
暗号処理装置および方法
- 審判番号
- 2017-009889
- 法域
- 特許
- 審判種別
- 拒絶査定不服審判(拒絶査定不服の審決)
- 出願番号
- 特願2012-286251外部サイト(J-PlatPat)へ移動します
- 請求日
- 2017年07月04日
- 審決日
- 2018年04月25日
- 公報発行日
- 2018年08月31日
- 結論
- 請求不成立
- 分類
- P18 .536-Z (G09C)
- 根拠条文(結論部分から自動抽出・参考)
- 特許法36条4項1号
- 条文(本文から自動抽出・参考)
- 特許法第36条第4項第1号、特許法第164条第3項
- データ出所
- 審決公報(SGML)
事件の表示
特願2012-286251「暗号処理装置および方法」拒絶査定不服審判事件〔平成26年 7月 7日出願公開,特開2014-126865〕について,次のとおり審決する。
結論
【結 論】
本件審判の請求は,成り立たない。
理由
【理 由】
第1.手続の経緯
本願は,平成24年12月27日の出願であって,
平成27年8月4日付けで審査請求がなされ,平成28年8月26日付けで審査官により拒絶理由が通知され,これに対して平成28年10月31日付けで意見書が提出されると共に手続補正がなされたが,平成29年3月31日付けで審査官により拒絶査定がなされ(謄本送達;平成29年4月4日),これに対して平成29年7月4日付けで審判請求がなされると共に手続補正がなされ,平成29年9月1日付けで審査官により特許法第164条第3項の規定に基づく報告がなされたものである。
第2.本願発明について
本願の請求項1~本願の請求項10係る発明は,平成28年10月31日付けの手続補正により補正された特許請求の範囲の請求項1~請求項10に記載された事項により特定されるものである。
第3.原審の拒絶理由
原審における平成28年8月26日付けの拒絶理由(以下,これを「原審拒絶理由」という)は,概略,次のとおりである。
「 理由
1.(実施可能要件)この出願は,発明の詳細な説明の記載が下記の点で,特許法第36条第4項第1号に規定する要件を満たしていない。
2.(明確性)<省略>
3.(発明該当性)<省略>
記
●理由1(実施可能要件)について
・請求項 1-10
(1)請求項1には「前記第1の暗号化多項式,前記第2の暗号化多項式,前記第1の暗号化重み,および前記第2の暗号化重みから,前記第1のベクトルと前記第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る秘匿距離計算部」が記載され,請求項10にも同様の事項が記載されている。
この記載に関し,本願明細書の発明の詳細な説明には,以下の事項が記載されている。
「【0069】
<準同型暗号を用いた秘匿距離計算>
次に,秘匿距離計算を行うために,事前に2つの整数C1,C2を用意する。
の整数C1,C2は次の[数26]で定義される。
【0070】
【数26】
(式省略)
このとき,秘匿距離dは,
【0071】
【数27】
d = C1×Enc(a(x))+C2×Enc(b(x))+2Enc(a(x))×Enc(b(x))
である。[数27]で,C1×Enc(a(x)),C2×Enc(b(x))はそれぞれ,暗号文上のハミング重みHW(a),HW(b)に対応する。上の秘匿距離dを復号すると,2つのベクトルデータA=(a1,a2,…,an)とベクトルデータB=(b1,b2,…,bn)のハミング距離となる。上記では秘匿距離としてハミング距離を用いたが,開示の方法は,ユークリッド距離などの距離計算やコサイン類似度などの類似度計算にも適用可能である。
【0072】
ここで,数値例を示す。ベクトルデータA=(1,0,1,1)とベクトルデーB=(0,0,1,0)に対して,ベクトルデータA,Bを暗号化したままハミング距離を計算することを考える。ベクトルデータA=(1,0,1,1)とベクトルデーB=(0,0,1,0)のハミング距離は2であることは明らかである。
【0073】
ベクトルデータA=(1,0,1,1)に対して,変換多項式a(x)=1+x2+x3とハミング重みHW(A) =1+1+1=3を計算する。次に,公開鍵行列Bを上記に示したものとし,d=1143821449,r=982623548とする。ここで2つのデータdと rのみあれば暗号化可能であることに注意する。また,平文空間サイズs=4とする。変換多項式a(x)の暗号データは,上の[数19]を用いて,Enc(a(x))=-570758831となる。4次元乱数ベクトルu=(0,1,1,0)としている。ハミング重みHW(A)=3を暗号化した暗号データEnc(HW(A))は,4次元乱数ベクトルu=(1,0,0,1)として,
【0074】
【数28】
(式省略)
となる。
【0075】
同様に,ベクトルデータB=(0,0,1,0)に対して,変換多項式b(x)=x2とハミング重みHW(B)=1を計算する。ハミング重みHW(B)=1を暗号化した暗号データEnc(HW(B))は,4次元乱数ベクトルu=(0,0,0,1)として,
【0076】
【数29】
(式省略)
となる。
【0077】
秘匿距離dは,Enc(HW(A)),Enc(HW(B)),Enc(a(x)),およびEnc(b(x))を用いて,秘匿距離d=Enc(HW(A))+Enc(HW(B))+2×Enc(a(x))×Enc(b(x))=58147359となる。」
「暗号スカラー部306では,事前に計算された2つの整数,
【0134】
【数44】
(式省略)
と,Enc(a(x)))とEnc(b(x))との積,
【0135】
【数45】
k1×Enc(a(x))
k2×Enc(b(x))
を計算する。・・・中略・・・
【0137】
暗号加算部308では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数44]で表されるハミング距離Dを算出する。
【0138】
【数47】
D = k1×Enc(a(x))+k2×Enc(b(x))+2×Enc(a(x))×Enc(b(x))
このように,秘匿距離計算部では,第1の暗号化多項式Enc(a(x))),第2の暗号化多項式Enc(b(x)),第1の暗号化重みEnc(HW(a)),および第2の暗号化重みEnc(HW(b))から,第1のベクトルaと第2のベクトルbの秘匿距離の暗号化に対応する暗号化秘匿距離(ハミング距離)Dを得る。」
「【0163】
S214では,[数44]の2つの整数,k1,k2と,Enc(a(x)))とEnc(b(x))との積,k1Enc(a(x))),k2Enc(b(x))が計算される。また,S214では,S210で得られたEnc(b(x))×Enc(HW(b))の2倍,2Enc(b(x))×Enc(HW(b))を計算する。本ステップの処理は,計算サーバ30の暗号スカラー部306
で行われ得る。
【0164】
S216では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。」
「【0199】
暗号スカラー部1206では,事前に計算された2つの整数,
【0200】
【数60】
(式省略)
と,Enc(a(x)))とEnc(b(x))との積,
【0201】
【数61】
k1×Enc(a(x))
k2×Enc(b(x))
を計算する。・・・中略・・・
【0203】
暗号加算部1208では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数63]で表されるハミング距離Dを算出する。
【0204】
【数63】
D = k1×Enc(a(x))+k2×Enc(b(x))+2×Enc(a(x))×Enc(b(x))
このように,秘匿距離計算部では,第1の暗号化多項式Enc(a(x))),第2の暗号化多項式Enc(b(x)),第1の暗号化重みEnc(HW(a)),および第2の暗号化重みEnc(HW(b))から,第1のベクトルaと第2のベクトルbの秘匿距離の暗号化に対応する暗号化秘匿距離(ハミング距離)Dを得る。」
段落[0071]の[数27]によれば,秘匿距離dは「d = C1×Enc(a(x))+C2×Enc(b(x))+2Enc(a(x))×Enc(b(x))」なる計算式により求めるものである。しかしながら,段落[0077]の記載「秘匿距離d=Enc(HW(A))+Enc(HW(B))+2×Enc(a(x))×Enc(b(x))」によれば,数値例において,秘匿距離dを,[数27]とは異なる計算式により計算している。段落[0071]の記載「[数27]で,C1×Enc(a(x)),C2×Enc(b(x))はそれぞれ,暗号文上のハミング重みHW(a),HW(b)に対応する。」を参照すれば,C1×Enc(a(x))=Enc(HW(A)),C2×Enc(b(x))=Enc(HW(B))が成り立っているとも考えられるが,[数28]及び[数29]を参照すれば,Enc(HW(A))は,C1×Enc(a(x))として計算するものではなく,Enc(HW(B))も,C2×Enc(b(x))として計算するものではない。そうすると,段落[0071]の[数27]と段落[0077]とは異なる計算式であるから,同じ秘匿距離dが異なる計算式で計算されるということは,不明なことである。
段落[0137]は「暗号加算部308では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数44]で表されるハミング距離Dを算出する。」を記載する。この記載の[数44]は[数47]の誤記と解されるも,段落[0138]は[数47]として「D = k1×Enc(a(x))+k2×Enc(b(x))+2×Enc(a(x))×Enc(b(x))」を記載する。
そうすると,[数47]において,ハミング距離Dは,k1×Enc(a(x)),k2×Enc(b(x)),2×Enc(a(x))×Enc(b(x))の和を計算することで求めるものであり,段落[0137]に記載の如く「k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算」するものではない。したがって,段落[0137]の記載と段落[0138]の記載とは矛盾している。
段落[0163]は「S214では,[数44]の2つの整数,k1,k2と,Enc(a(x)))とEnc(b(x))との積,k1Enc(a(x))),k2Enc(b(x))が計算される。また,S214では,S210で得られたEnc(b(x))×Enc(HW(b))の2倍,2Enc(b(x))×Enc(HW(b))を計算する。」を記載し,段落[0164]は「S216では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。」を記載する。
これらの記載によれば,S214で計算された,k1Enc(a(x))),k2Enc(b(x)),2Enc(b(x))×Enc(HW(b))は,何れも,S216における計算に用いられるものではない。そうすると,段落[0163]に記載の如く,S214において,それらの計算を行うことに,如何なる意味があるのか不明である。
また,前記したように,[数47]は,ハミング距離Dを,k1×Enc(a(x)),k2×Enc(b(x)),2×Enc(a(x))×Enc(b(x))の和を計算することで求めることを記載し,この計算は「k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和」とは,別の計算である。
そうすると,段落[0164]に記載の計算により和を計算することが「秘匿距離として[数47]で表されるハミング距離Dを算出する。」ことであるということも,不明なことである。
段落[0203]は「暗号加算部1208では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数63]で表されるハミング距離Dを算出する。」を記載し,段落[0204]は[数63]として「D = k1×Enc(a(x))+k2×Enc(b(x))+2×Enc(a(x))×Enc(b(x))」を記載する。
そうすると,[数63]において,ハミング距離Dは,k1×Enc(a(x)),k2×Enc(b(x)),2×Enc(a(x))×Enc(b(x))の和を計算することで求めるものであり,段落[0203]に記載の如く「k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算」するものではない。したがって,段落[0203]の記載と段落[0204]の記載とは矛盾している。
以上で検討したように,本願明細書の発明の詳細な説明には,秘匿距離の計算について互いに矛盾した事項が記載されているから,どのような計算によって秘匿距離を計算するのか不明である。
なお,段落[0071]の[数27],段落[0081]の[数31],段落[0082]の[数32],段落[0138]の[数47],段落[0204]の[数63]に記載の計算式が正しいのであれば,それらの計算は,2つの暗号化多項式を用いるものの,暗号化重みを用いることはないから,本願明細書の発明の詳細な説明は,請求項1,10の記載「前記第1の暗号化重み,および前記第2の暗号化重みから,前記第1のベクトルと前記第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る」について,当業者が実施可能な程度に明確かつ十分な記載をするものではない。
(2)<省略>
(3)<省略>
よって,この出願の発明の詳細な説明は,当業者が請求項1-10に係る発明を実施することができる程度に明確かつ十分に記載されたものでない。
<以下省略>」
第4.原審拒絶理由についての当審の判断
1.本願の請求項1に記載の内容
平成28年10月31日付けの手続補正により補正された請求項(以下,これを「本願の請求項」という)1には,
「第1のベクトルから第1の変換多項式を用いて第1の多項式と,第2のベクトルから第2の変換多項式を用いて第2の多項式を得る多項式変換部と,
前記第1のベクトルの秘匿距離に関する第1の重みと,前記第2のベクトルの秘匿距離に関する第2の重みを得る重み計算部と,
前記第1の多項式,前記第2の多項式,前記第1の重み,および前記第2の重みのそれぞれを,準同型暗号方式を用いて暗号化し,第1の暗号化多項式,第2の暗号化多項式,第1の暗号化重み,および第2の暗号化重みを得る準同型暗号部と,
前記第1の暗号化多項式,前記第2の暗号化多項式,前記第1の暗号化重み,および前記第2の暗号化重みから,前記第1のベクトルと前記第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る秘匿距離計算部と,
を含む暗号処理装置。」
と記載されている。
2.本願明細書の発明の詳細な説明に記載の内容
平成29年7月4日付けの手続補正により補正された明細書(以下,これを「本願明細書」という)の発明の詳細な説明には,次の記載が存在する。
A.「【0058】
また,暗号データの加算と乗算を説明する。上記の数値例のように,暗号文は必ず第一成分以外が0となるn次元ベクトルc=(c1,0,…)として表せる。この暗号文の第1成分の整数は,平文bと平文空間サイズsと暗号化で利用するn次元ベクトルu=(u0,u1,…,un-1)を用いて,
【0059】
として計算することも可能である。ただし,[x]dは,
【0060】
であり,値域が[-d/2,d/2)なる整数であり,dは公開鍵を表す行列Bの(1,1)成分,rは公開鍵を表す行列Bの(2,1)成分である。上の例では,d=1143821449,r=982623548となる。これにより,暗号文を整数データとしてみなすことができる。」
B.「【0062】
上のような準同型暗号の性質を,2つのベクトルデータの比較に適用するためには,例えば以下のようにすれば良い。
【0063】
ベクトルデータA=(a1,a2,…,an)とベクトルデータB=(b1,b2,…,bn)があるとする。ここでは,ベクトルデータAとベクトルデータBは,n次元ベクトル量として書けるものとする。
【0064】
ベクトルデータA=(a1,a2,…,an)に対して,変換多項式,
【0065】
を計算する。そして,変換多項式a(x)を暗号化して暗号データEnc(a(x))を計算する。今の場合,
【0066】
とする。
【0067】
ベクトルB=(b1,b2,…,bn)に対して,変換多項式,
【0068】
を計算する。そして,変換多項式b(x)を暗号化して暗号データEnc(b(x))を計算する。ベクトルデータB=(b1,b2,…,bn)に対する変換多項式は,ベクトルデータA=(a1,a2,…,an)に対するものとは異なっている。
【0069】
<準同型暗号を用いた秘匿距離計算>
次に,秘匿距離計算を行うために,事前に2つの整数C1,C2を用意する。の整数C1,C2は次の[数26]で定義される。
【0070】
このとき,秘匿距離dは,
【0071】
である。[数27]で,C1×Enc(a(x)),C2×Enc(b(x))はそれぞれ,暗号文上のハミング重みHW(a),HW(b)に対応する。上の秘匿距離dを復号すると,2つのベクトルデータA=(a1,a2,…,an)とベクトルデータB=(b1,b2,…,bn)のハミング距離となる。上記では秘匿距離としてハミング距離を用いたが,開示の方法は,ユークリッド距離などの距離計算やコサイン類似度などの類似度計算にも適用可能である。
【0072】
ここで,数値例を示す。ベクトルデータA=(1,0,1,1)とベクトルデーB=(0,0,1,0)に対して,ベクトルデータA,Bを暗号化したままハミング距離を計算することを考える。ベクトルデータA=(1,0,1,1)とベクトルデーB=(0,0,1,0)のハミング距離は2であることは明らかである。
【0073】
ベクトルデータA=(1,0,1,1)に対して,変換多項式a(x)=1+x2+x3とハミング重みHW(A) =1+1+1=3を計算する。次に,公開鍵行列Bを上記に示したものとし,d=1143821449,r=982623548とする。ここで,2つのデータdと rのみあれば暗号化可能であることに注意する。また,平文空間サイズs=4とする。変換多項式a(x)の暗号データは,上の[数19]を用いて,Enc(a(x))=-570758831となる。4次元乱数ベクトルu=(0,1,1,0)としている。ハミング重みHW(A)=3を暗号化した暗号データEnc(HW(A))は,4次元乱数ベクトルu=(1,0,0,1)として,
【0074】
となる。
【0075】
同様に,ベクトルデータB=(0,0,1,0)に対して,変換多項式b(x)=x2とハミング重みHW(B)=1を計算する。ハミング重みHW(B)=1を暗号化した暗号データEnc(HW(B))は,4次元乱数ベクトルu=(0,0,0,1)として,
【0076】
となる。
【0077】
秘匿距離dは,Enc(HW(A)),Enc(HW(B)),Enc(a(x)),およびEnc(b(x))を用いて,秘匿距離d=Enc(HW(A))+Enc(HW(B))+2×Enc(a(x))×Enc(b(x))=58147359となる。
【0078】
最後に,この暗号データdに対して秘密鍵行列Vを用いて復号すると,d=(58147359,0,0,0)として,c-[c×V-1]×V=(10,30,-42,11)である。このベクトルデータの第1成分に対して,平文空間サイズs=4で割った余りを考えると,復号結果は2となり,これが2つのベクトルデータA, Bのハミング距離に一致する。
【0079】
また,上では[数26],[数27]を用いたが,b(x),C2をそれぞれ,次式のようなb’(x),C2’
【0080】
に置きかえ,秘匿距離dを,
【0081】
のように定義しても良い。上の[数31]の右辺第3項の符号が,数[27]のものとは異なっていることに注意しよう。[数31]は,
【0082】
と計算することも可能である。」
C.「【0107】
生体認証システム10は,登録センサ20と計算サーバ30を含む。登録センサ20は,特徴量抽出部202,ベクトル化部204,多項式変換部206,Hamming(ハミング)重み計算部208,および準同型暗号部210を含む。これらを,第1の特徴量抽出部202,第1のベクトル化部204,第1の多項式変換部206,第1のHamming重み計算部208,および第1の準同型暗号部210として参照することもある。また,第1のHamming重み計算部208は単に重み計算部208として参照することもある。
【0108】
計算サーバ30は,正規ユーザ40の生体情報を参照情報として格納する暗号登録データ302を含む。図2Aには図示されていないが,計算サーバ30は,図2Bに示されているように,準同型暗号化された2つのデータの加算演算を行う暗号乗算部304,準同型暗号化されたデータのスカラー倍の計算を行う暗号スカラー部306,および準同型暗号化された2つのデータの加算演算を行う暗号加算部308を含む。
【0109】
暗号乗算部304,暗号スカラー部306,および暗号加算部308は組み合わされて,秘匿距離計算部を構成する。
【0110】
特徴量抽出部202では,正規ユーザとして登録されるユーザ40の生体の情報の一部をセンサから取得し,特徴量を抽出する。特徴量としては,図1Aに示されているように指紋であっても良い。このように,第1の特徴抽出部202は,正規ユーザの生体の一部に関する情報から正規ユーザを他のユーザから区別する特徴を第1の特徴量として抽出する。
【0111】
ベクトル化部204では,特徴量抽出部202で抽出された特徴量をn次元ベクトルaとして表現する。例えば,ベクトルaは,a0,…,an-1を0または1として,
【0112】
【数36】
a=(a0,a1,・・・,an-1)
のように表される。このように第1のベクトル化部204は,第1の特徴量を,第1のベクトルaとして表現する。
【0113】
多項式変換部206では,ベクトル化部204で得られたベクトルaを多項式に変換する。例えば,変換多項式,
【0114】
を計算する。このように(第1の)多項式変換部206は,第1のベクトルaから第1の変換多項式を用いて第1の多項式a(x)を得る。
【0115】
Hamming重み計算部208では,ベクトルaのハミング重みHW(a)を計算する。今の場合,ハミング重みHW(a)は,
【0116】
である。このように(第1の)重み計算部208は,第1のベクトルaの秘匿距離に関する第1の重みHW(a)を計算する。今の場合,秘匿距離はハミング距離であり,第1の重みはハミング重みである。
【0117】
準同型暗号化部210では,多項式変換部206で得られた多項式a(x)とHamming重み計算部208で得られたハミング重みHW(a)を暗号化し,Enc(a(x))とEnc(HW(a)),
【0118】
を得る。このように,(第1の)準同型暗号化部210は,第1の多項式a(x),第1の重みHw(a)のそれぞれを,準同型暗号方式を用いて暗号化し,第1の暗号化多項式Enc(a(x))および第1の暗号化重みEnc(HW(a))を得る。ここで,[数36]にあるEnc(HW(a))の方のuiと,Enc(a(x))のui’とは異なる乱数であってもよい。Enc(b(x))とEnc(HW(b))についても同様である。」
D.「 【0130】
準同型暗号化部610で得られた暗号化データEnc(b(x))とEnc(HW(b))は,計算サーバ30に送られる。Enc(b(x))とEnc(HW(b))はそれぞれ,上式[数38]および[数39]において,a(x)をb(x)と置き換えたものである。
【0131】
計算サーバ30の暗号乗算部304では,暗号登録データ302に格納されているEnc(a(x))と準同型暗号化部610で得られたEnc(b(x))の積
【0132】
を計算する。
【0133】
暗号スカラー部306では,事前に計算された2つの整数,
【0134】
と,Enc(a(x)))とEnc(b(x))との積,
【0135】
を計算する。また,暗号スカラー部306では,暗号乗算部304で得られたC1の2倍,
【0136】
を計算する。
【0137】
暗号加算部308では,k1×Enc(a(x)),k2×Enc(b(x)),2×Enc(a(x))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。
【0138】
このように,秘匿距離計算部では,第1の暗号化多項式Enc(a(x))),第2の暗号化多項式Enc(b(x)),第1の暗号化重みEnc(HW(a)),および第2の暗号化重みEnc(HW(b))から,第1のベクトルaと第2のベクトルbの秘匿距離の暗号化に対応する暗号化秘匿距離(ハミング距離)Dを得る。そして,ハミング距離Dのみを認証局70に送信する。」
3.記載内容の検討
本願の請求項1に記載の,
「前記第1のベクトルの秘匿距離に関する第1の重みと,前記第2のベクトルの秘匿距離に関する第2の重みを得る重み計算部と,
前記第1の多項式,前記第2の多項式,前記第1の重み,および前記第2の重みのそれぞれを,準同型暗号方式を用いて暗号化し,第1の暗号化多項式,第2の暗号化多項式,第1の暗号化重み,および第2の暗号化重みを得る準同型暗号部と,
前記第1の暗号化多項式,前記第2の暗号化多項式,前記第1の暗号化重み,および前記第2の暗号化重みから,前記第1のベクトルと前記第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る秘匿距離計算部」,
に関して,上記2.において,Bとして引用した,本願明細書の発明の詳細な説明の段落【0077】に,「秘匿距離dは,Enc(HW(A)),Enc(HW(B)),Enc(a(x)),およびEnc(b(x))を用いて,秘匿距離d=Enc(HW(A))+Enc(HW(B))+2×Enc(a(x))×Enc(b(x))=58147359となる」とあり,
Cとして引用した,段落【0107】の記載に,「Hamming(ハミング)重み計算部208,および準同型暗号部210を含む」とあり,
同段落【0116】に,「このように(第1の)重み計算部208は,第1のベクトルaの秘匿距離に関する第1の重みHW(a)を計算する。今の場合,秘匿距離はハミング距離であり,第1の重みはハミング重みである」とあって,
これら引用記載における「HW(A)」,「HW(B)」,「Enc(HW(A))」,「Enc(HW(B))」,「Enc(a(x))」,及び,「Enc(b(x))」が,それぞれ,本願の請求項1に記載の「第1の重み」,「第2の重み」,「第1の暗号化重み」,「および第2の暗号化重み」,「第1の暗号化多項式」,及び,「第2の暗号化多項式」に相当すると解せるので,
本願明細書の発明の詳細な説明には,一応,本願の請求項1に記載の,
“重み計算部と,第1の多項式,第2の多項式,第1の重み,および第2の重みのそれぞれを,準同型暗号方式を用いて暗号化し,第1の暗号化多項式,第2の暗号化多項式,第1の暗号化重み,および第2の暗号化重みを得る準同型暗号部と,前記第1の暗号化多項式,前記第2の暗号化多項式,前記第1の暗号化重み,および前記第2の暗号化重みから,第1のベクトルと第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る秘匿距離計算部”
が開示されていることが読み取れる。
また,上記Bの段落【0072】~段落【0078】に開示の「数値例」では,「ハミング重みHW(A)」を計算してから,当該「ハミング重みHW(A)」を暗号化した「Enc(HW(A))」を求め,当該値を用いて,「秘匿距離d」を求めている。
一方,本願明細書の発明の詳細な説明には,「秘匿距離d」を求める式として,上記Bに引用した,段落【0071】に【数27】が,段落【0081】に【数31】が,段落【0082】に【数32】が記載され,「暗号化秘匿距離(ハミング距離)D」を求める式として,上記Dに引用した,段落【0138】に【数47】が記載されていて,
上記Bの段落【0071】に,「[数27]で,C1×Enc(a(x)),C2×Enc(b(x))はそれぞれ,暗号文上のハミング重みHW(a),HW(b)に対応する」とあるものの,
【数27】を用いた計算と,上記指摘の段落【0072】~段落【0078】に開示の「数値例」が,同じ計算を行っていることは読み取れず,更に,
【数27】に用いられている「C1」,「C2」については,上記Bの段落【0070】に【数26】として開示され,「HW(a)」については,上記Cの段落【0116】に【数38】として,当該「HW(a)」を暗号化した「Enc(HW(a))」については,上記Cの段落【0118】に【数39】として開示されていて,当該「HW(a)」と,当該「Enc(HW(a))」が,上記Bに引用した段落【0073】に記載の「HW(a)」,及び,「Enc(HW(a))」と同じものであるとしても,
上記Bの段落【0066】に開示された,変換多項式a(x)の暗号化の式である【数24】を併せて検討しても,【数24】に開示された「Enc(a(x))」と,【数26】に開示された「C1」とを乗算したものと,【数39】に開示された「Enc(HW(a))」とが,等しくなることが読み取れず,
結果として,【数27】,【数31】,或いは,【数32】に,上記Cに引用の「ハミング重みHW(a)」,及び,「Hamming重み計算部208で得られたハミング重みHW(a)を暗号化」した「Enc(HW(a))」を用いることが読み取れない。
そして,上記Dに引用した,段落【0131】~段落【0138】に記載された内容からは,【数47】において,「ハミング重みHW(a)」,及び,「Hamming重み計算部208で得られたハミング重みHW(a)を暗号化」した「Enc(HW(a))」を用いることが読み取れない。
以上に検討した点を踏まえると,上記Bに引用した「秘匿距離d」を求めるための式である【数27】,【数31】,【数32】,及び,上記Dに引用した「暗号化秘匿距離(ハミング距離)D」を求めるための式である【数47】においては,「第1のベクトルaの秘匿距離に関する第1の重みHW(a)を計算する」こと,「第2のベクトルbの秘匿距離に関する第1の重みHW(b)を計算する」こと,“第1の重みHW(a)を準同型暗号方式で暗号化する”こと,“第2の重みHW(b)を準同型暗号方式で暗号化する”こと,“第1の暗号化多項式,第2の暗号化多項式,第1の暗号化重み,及び,第2の暗号化重みから,第1のベクトルと第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を計算する”ことを行っていることを読み取ることができない。
また,平成29年7月4日付けの手続補正において,本願明細書の発明の詳細な説明の段落【0137】が,
「暗号加算部308では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。」
から,上記Dに引用した,
「暗号加算部308では,k1×Enc(a(x)),k2×Enc(b(x)),2×Enc(a(x))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。」
と補正されていて,
当該補正事項は,「暗号化秘匿距離(ハミング距離)D」を求めるための式である【数47】において,「ハミング重みHW(a)」,及び,「Hamming重み計算部208で得られたハミング重みHW(a)を暗号化」した「Enc(HW(a))」が関与していないと解するのが妥当である。
そうすると,本願明細書の発明の詳細な説明において,「秘匿距離d」に関して,同じ「秘匿距離d」を求めるために,【数27】による計算と,段落【0072】~段落【0077】に開示の「数値例」による計算とでは,計算方法が異なっており,更に,「暗号化秘匿距離(ハミング距離)D」を求めるための式である【数47】においては,「ハミング重みHW(a)」,及び,「Hamming重み計算部208で得られたハミング重みHW(a)を暗号化」した「Enc(HW(a))」を用いることが読み取れないので,
本願の請求項1に記載の,
「前記第1のベクトルの秘匿距離に関する第1の重みと,前記第2のベクトルの秘匿距離に関する第2の重みを得る重み計算部と,
前記第1の多項式,前記第2の多項式,前記第1の重み,および前記第2の重みのそれぞれを,準同型暗号方式を用いて暗号化し,第1の暗号化多項式,第2の暗号化多項式,第1の暗号化重み,および第2の暗号化重みを得る準同型暗号部と,
前記第1の暗号化多項式,前記第2の暗号化多項式,前記第1の暗号化重み,および前記第2の暗号化重みから,前記第1のベクトルと前記第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る秘匿距離計算部」
と,本願明細書の発明の詳細な説明に記載の「秘匿距離d」を求めるための式である【数27】,【数31】,【数32】,及び,「暗号化秘匿距離(ハミング距離)D」を求めるための式である【数47】との関係が不明であって,
更に,本願明細書の発明の詳細な説明においては,「秘匿距離d」を求める【数27】と,その「数値例」と思われる,段落【0072】~段落【0077】の記載内容との関係が,上記において検討したとおり不明であるので,
本願の請求項1に記載の「秘匿距離計算部」が,どのように実現されているのか,本願明細書の発明の詳細な説明に記載された事項からは,不明である。
ここで,平成29年7月4日付けの手続補正においては,上記に指摘の事項に加え,段落【0162】を,
「S212では,暗号登録データ302に格納されているEnc(a(x))とS210で得られたEnc(b(x))の積Enc(b(x))×Enc(HW(b))を計算する。この処理は,計算サーバ30の暗号乗算部304で行われ得る」,
から,
「S212では,暗号登録データ302に格納されているEnc(a(x))とS210で得られたEnc(b(x))の積Enc(a(x))×Enc(b(x))を計算する。この処理は,計算サーバ30の暗号乗算部304で行われ得る」,
と補正し(以下,これを「補正事項1」という),段落【0163】を,
「S214では,S210で得られたEnc(b(x))×Enc(HW(b))の2倍,2Enc(b(x))×Enc(HW(b))を計算する。本ステップの処理は,計算サーバ30の暗号スカラー部306で行われ得る」,
から,
「S214では,S212で得られたEnc(a(x))×Enc(b(x))の2倍,2Enc(a(x))×Enc(b(x))を計算する。本ステップの処理は,計算サーバ30の暗号スカラー部306で行われ得る」,
と補正し(以下,これを「補正事項2」という),段落【0164】を,
「S216では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。ハミング距離Dのみを認証局70に送信する。本ステップの処理は,計算サーバ30の暗号加算部308で行われ得る」,
から,
「S216では,Enc(HW(a)),Enc(HW(b)),2×Enc(a(x))×Enc(b(x))の和を計算し,秘匿距離として[数47]で表されるハミング距離Dを算出する。ハミング距離Dのみを認証局70に送信する。本ステップの処理は,計算サーバ30の暗号加算部308で行われ得る」,
と補正し(以下,これを「補正事項3」という),段落【0203】を,
「暗号加算部1208では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数63]で表されるハミング距離Dを算出する」,
から,
「暗号加算部1208では,k1×Enc(a(x)),k2×Enc(b(x)),2×Enc(a(x))×Enc(b(x))の和を計算し,秘匿距離として[数63]で表されるハミング距離Dを算出する。」,
と補正し(以下,これを「補正事項4」という),段落【0224】を,
「S412では,暗号登録データ1202に格納されているEnc(a(x))とS410で得られたEnc(b(x))の積Enc(b(x))×Enc(HW(b))を計算する。この処理は,クラウド120の暗号乗算部1204で行われ得る」,
から,
「S412では,暗号登録データ1202に格納されているEnc(a(x))とS410で得られたEnc(b(x))の積Enc(a(x))×Enc(b(x))を計算する。この処理は,クラウド120の暗号乗算部1204で行われ得る」,
と補正し(以下,これを「補正事項5」という),段落【0225】を,
「S414では,S410で得られたEnc(b(x))×Enc(HW(b))の2倍,2Enc(b(x))×Enc(HW(b))を計算する。本ステップの処理は,クラウド120の暗号スカラー部1206で行われ得る」,
から,
「S414では,S412で得られたEnc(a(x))×Enc(b(x))の2倍,2Enc(a(x))×Enc(b(x))を計算する。本ステップの処理は,クラウド120の暗号スカラー部1206で行われ得る」,
と補正し,段落【0226】を,
「S416では,k1×Enc(HW(a)),k2×Enc(HW(b)),2×Enc(a(x)))×Enc(b(x))の和を計算し,秘匿距離として[数60]で表されるハミング距離Dを算出する。ハミング距離DのみをユーザPC160に送信する。本ステップの処理は,クラウド120の暗号加算部1208で行われ得る」,
から,
「S416では,Enc(HW(a)),Enc(HW(b)),2×Enc(a(x))×Enc(b(x))の和を計算し,秘匿距離として[数60]で表されるハミング距離Dを算出する。ハミング距離DのみをユーザPC160に送信する。本ステップの処理は,クラウド120の暗号加算部1208で行われ得る」,
と補正しているが(以下,これを「補正事項6」という),
補正事項1,及び,補正事項2は,上記において検討した,【数47】が,「ハミング重みHW(a)」,及び,「Hamming重み計算部208で得られたハミング重みHW(a)を暗号化」した「Enc(HW(a))」を用いずに計算することを示すものであり,補正事項4は,上記において検討した【数47】と同一の式である,段落【0204】に記載の【数63】が,「ハミング重みHW(a)」,及び,「Hamming重み計算部208で得られたハミング重みHW(a)を暗号化」した「Enc(HW(a))」を用いずに計算することを示すものであり,補正事項3,及び,補正事項6は,上記において検討した【数27】に関する段落【0071】の「[数27]で,C1×Enc(a(x)),C2×Enc(b(x))はそれぞれ,暗号文上のハミング重みHW(a),HW(b)に対応する」という記載に根拠を置く記載に補正するものであると解されるが,上記の【数27】において検討したことと同じく,本願明細書の発明の詳細な説明に記載された内容からは,「k1×Enc(a(x))」と,「Enc(HW(a))」が等しい,及び,「k2×Enc(b(x))」と,「Enc(HW(b))」とが等しいことを示す根拠が見出せないので,
結局のところ,これらの補正内容を検討しても,上記において検討した,本願明細書の発明の詳細な説明に記載の「秘匿距離」を求めるための数式である【数27】等と,本願の請求項1に記載の「秘匿距離計算部」との関係,及び,当該【数27】等と,本願明細書の発明の詳細な説明における「数値例」との関係が不明である点は,解消しない。
よって,本願明細書の発明の詳細な説明には,本願の請求項1に係る発明における発明特定事項である「秘匿距離計算部」が,当業者が実施し得る程度に記載されているとは認めされない。
以上に検討したとおりであるから,本願明細書の発明の詳細な説明は,平成28年10月31日付けの手続補正,及び,平成29年7月4日付けの手続補正の内容を検討しても,原審拒絶理由において指摘のとおり,依然として,経済産業省令で定めるところにより,その発明の属する技術分野における通常の知識を有する者がその実施をすることができる程度に明確かつ十分に記述したものでない。
なお,審判請求人は,平成29年7月4日付けの審判請求書において,
「4. 指摘事項に対する対処
指摘事項(イ)について,前述した補正後の段落[0137]の記載には,指摘の事項は存在しないと思料する。
指摘事項(ロ)について,前述した補正後の段落[0163]-[0164]の記載には,指摘の事項は存在しないと思料する。
指摘事項(ハ)について,前述した補正後の段落[0164]の記載には,指摘の事項は存在しないと思料する。
指摘事項(ニ)について,前述した補正後の段落[0203]の記載には,指摘の事項は存在しないと思料する。」
旨主張しているが,平成29年7月4日付けの手続補正については,上記に検討したとおりであるから,請求人の上記主張は採用できない。
第5.むすび
したがって,本願は,特許法第36条第4項第1号に規定する要件を満たしていない。
よって,結論のとおり審決する。
審決本文(J-PlatPat)
J-PlatPatの審決検索トップを開きます。番号入力で「審判番号」を選び、下の番号を貼り付けて検索してください。
J-PlatPat 審決検索を開く
2017-009889