JP5448801B2 - 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体 - Google Patents

暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体 Download PDF

Info

Publication number
JP5448801B2
JP5448801B2 JP2009298201A JP2009298201A JP5448801B2 JP 5448801 B2 JP5448801 B2 JP 5448801B2 JP 2009298201 A JP2009298201 A JP 2009298201A JP 2009298201 A JP2009298201 A JP 2009298201A JP 5448801 B2 JP5448801 B2 JP 5448801B2
Authority
JP
Japan
Prior art keywords
encryption
integers
decryption
verification
unit
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.)
Expired - Fee Related
Application number
JP2009298201A
Other languages
English (en)
Other versions
JP2011138015A (ja
Inventor
一樹 米山
幸太郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009298201A priority Critical patent/JP5448801B2/ja
Publication of JP2011138015A publication Critical patent/JP2011138015A/ja
Application granted granted Critical
Publication of JP5448801B2 publication Critical patent/JP5448801B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報セキュリティ技術の応用技術に関するものであり、平文の暗号化を公開鍵で行い、復号を秘密鍵で行う公開鍵暗号方式に関するものである。
公開鍵暗号方式の従来技術には、非特許文献1のようなRSA−KEMを秘密鍵暗号と組み合わせて行う方法があった。この方法を実行する暗号化システムの機能構成例を図1、この方法の処理フローを図2に示す。暗号化システムは、暗号化装置700、復号装置800、ネットワーク900を備えている。暗号化装置700は、平文mと公開鍵を受け取る暗号化入力部710、乱数rを生成する乱数生成部720、暗号化計算部730、暗号文Cを出力する暗号文出力部740、暗号化記録部790を備える。復号装置800は、秘密鍵と公開鍵とを求め公開鍵を公開する鍵生成部810、暗号文を受信する復号入力部820、復号計算部830、平文mを出力する復号出力部850、復号記録部890を備える。
次に、図2を参照しながら処理フローと各構成部の処理内容について説明する。この説明では、p,qは素数、nとkは整数、Zは0からn−1までの整数の集合、HはZの元をk個の0,1で2進数表現される整数に変換するハッシュ関数、Eは鍵Kを用いた秘密鍵暗号アルゴリズム、Dは鍵Kを用いた復号アルゴリズム、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文、Kはセッション鍵とする。復号装置800の鍵生成部810は、大きな素数p、qを選択し、n=pqとする。gcd(e,φ(n))=1を満たすようにeを選び、
Figure 0005448801
を満たすdを求め、dを秘密鍵とし、n,eを整数pk,pkからなる公開鍵として公開する(S810)。また、秘密鍵d、公開鍵n,eを復号記録部890に記録する。
暗号化装置700の暗号化入力部710は、平文mと、公開鍵として整数pk,pkを受け取る(S710)。乱数生成部720は、集合Zの元である乱数rを生成する(S720)。暗号化計算部730は、
=r^pk mod pk
K=H(r)
=E(m)
を計算する(S730)。暗号文出力部740は、c,cからなる暗号文Cを出力する(S740)。
復号装置800の復号入力部820は、暗号文Cとしてc,cを受信する(S820)。復号計算部830は、
r=c^d mod n
K=H(r)
m=D(c
を計算する(S830)。復号出力部850は、平文mを出力する(S850)。
RSA−KEMと秘密鍵暗号を組み合わせる方法は、公開鍵暗号の最強の安全性(選択暗号文攻撃安全)を満たしていることが知られている。
Victor Shoup, "A Proposal for an ISO Standard for Public Key Encryption (version 2.1)", December 20, 2001,[平成21年12月21日検索]、インターネット<URL: http://www.shoup.net/papers/iso-2_1.pdf>.
しかしながら、従来のRSA−KEMと秘密鍵暗号を組み合わせる方法は、暗号化実行時のハッシュ関数への入出力情報が漏洩すると最低限の安全性(一方向安全)すら満たさないという問題があった。
例えば、攻撃者は次のように一方向攻撃を行うことができる。
(1)攻撃者は、暗号文C=(c,c)と暗号化実行時に用いられたハッシュ値H(r)をハッシュ関数への入出力情報から得る。
(2)攻撃者は、K=H(r)を用いて平文mをm=D(c)のように計算する。
このように、攻撃者は秘密鍵dを知らなくても平文mを求めることができる。
本発明は、ハッシュ関数の入出力情報が漏洩したとしても選択暗号文攻撃安全を満たす暗号化方法を提供することを目的とする。
本発明の暗号化システムは、暗号化装置と復号装置を備える。暗号化装置は、暗号化入力部、乱数生成部、暗号化計算部、暗号文出力部を備える。復号装置は、鍵生成部、復号入力部、復号計算部、検証部、復号出力部を備える。
本発明の第1の暗号化システムでは、pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、HはGの元をZの元に変換するハッシュ関数、a^bはaのb乗を意味する式、mは平文とする。そして、暗号化入力部は、平文mと、公開鍵として群Gの5つの元pk,pk,pk,pk,pkを受け取る。乱数生成部は、集合Zの元である乱数rを生成する。暗号化計算部は、
=pk^r
=pk^r
s=m・(pk)^r・H(u,u
α=H(u,u,s)、
v=pk^r・pk^(rα)
を計算する。暗号文出力部は、u,s,vをc,c,cからなる暗号文Cとして出力する。鍵生成部は、集合Zの元である6つの乱数w,x,x,y,y,zを生成して秘密鍵とし、g,g^w,g^x・g^(wx),g^y・g^(wy),g^zを群Gの5つの元pk,pk,pk,pk,pkからなる公開鍵として公開する。復号入力部は、暗号文Cとしてc,c,cを受信する。復号計算部は、
α’=H(c,c^w,c
m=s・u^(−z)・H(u,u^w)^(−1)
を計算する。検証部は、c^(x+yα’)・c^(w(x+yα’))とcとが等しいことを検証する。復号出力部は、検証部の検証が成功した場合には平文mを出力し、検証部の検証が失敗した場合にはエラーを出力する。
本発明の第2の暗号化システムでは、pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|G|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、mは平文とする。そして、暗号化入力部は、平文mと、公開鍵として群Gの元pkと関数f’を受け取る。乱数生成部は、集合Zの元である乱数rを生成する。暗号化計算部は、
tag=Macpk^r(m)
s=m・H(g^r,tag)・pk^r
t=f’(pk^r)
を計算する。暗号文出力部はtag,s,tをc,c,cからなる暗号文Cとして出力する。鍵生成部は、集合Zの元である乱数xを生成し、群Gを定義域として落し戸付き一方向性置換(f,f−1)を選択し、x,f−1を秘密鍵とし、g^x,fを群Gの元pkと関数f’からなる公開鍵として公開する。復号入力部は、暗号文Cとしてc,c,cを受信する。復号計算部は、
v=f−1(c
m=c・(v・H(v^(x^(−1)),tag))^(−1)
を計算する。検証部は、Mac(m)とcとが等しいことを検証する。復号出力部は検証部の検証が成功した場合には平文mを出力し、検証部の検証が失敗した場合にはエラーを出力する。
本発明の第3の暗号化システムでは、p,pは素数、n=p・p、Zp1は0からp−1までの整数の集合、Zp2は0からp−1までの整数の集合、Zp1−1は0からp−2までの整数の集合、Zp2−1は0からp−2までの整数の集合、Zは0からn−1までの整数の集合、αはZp1の生成元、αはZp2の生成元、HはZ の元をZの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|Z|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文とする。そして、暗号化入力部は、平文mと、公開鍵として整数pk,pk,pkと関数f’を受け取る。乱数生成部は、集合Zの元である乱数rを生成する。暗号化計算部は、
mk=pk^r mod pk
tag=Macmk(m)
s=m・H(pk^r,tag)・pk^r mod pk
t=f’(pk^r)
を計算する。暗号文出力部はtag,s,tをc,c,cからなる暗号文Cとして出力する。鍵生成部は、
(a)gcd(p−1,p−1)がa−aの約数となるように、集合Zp1−1からaを集合Zp2−1からaをそれぞれ選択し、
(b)t=(p−1)(p−1)/gcd(p−1,p−1)とし、
(c)
Figure 0005448801

を満たすa mod tを計算し、
(d)
Figure 0005448801

を満たすα mod nを計算し、
(e)
Figure 0005448801
を満たすβ mod nを計算し、
(f)gcd(e,φ(n))=1を満たすようにeを選び、
(g)
Figure 0005448801

を満たすdを求め、
(h)f(x)=x^e mod n、f−1(y)=y^d mod nを満たす一方向性置換(f,f−1)を選択し、
(i)p,p,a,f−1を秘密鍵とし、n,α,β,fを整数pk,pk,pkと関数f’からなる公開鍵として公開する。復号入力部は、暗号文Cとしてc,c,cを受信する。復号計算部は、
v=f−1(c
mk=v mod n
m=c・(v・H(v^(a^(−1)),tag))^(−1) mod n
を計算する。検証部は、Macmk(m)とcとが等しいことを検証する。復号出力部は、検証部の検証が成功した場合には平文mを出力し、検証部の検証が失敗した場合にはエラーを出力する。
上述の本発明の暗号化システムによれば、ハッシュ関数の入出力に直接平文を導出できる情報がない。また、ハッシュ関数の入出力情報だけから、攻撃者が秘密鍵なしで復号手続を行えない。
ハッシュ関数の入出力情報を攻撃者が入手できた場合、生成元を乱数乗した要素を知ることはできる。しかし、本発明の暗号化システムでは、暗号文から平文の情報を得るためには乱数自体を知る必要がある。したがって、ハッシュ関数の入出力情報を入手しただけでは、暗号文から平文の情報(平文全体、または平文の一部など)を得ることはできない。本発明の暗号化システムでは、このように、ハッシュ関数の入出力情報の中身を攻撃者にすべて開示したとしても選択暗号文攻撃安全を満たすことができる。
従来の暗号化システムの機能構成例を示す図。 従来の暗号化システムの処理フローを示す図。 実施例1の暗号化システムの機能構成例を示す図。 実施例1の暗号化システムの処理フローを示す図。 実施例2の暗号化システムの機能構成例を示す図。 実施例2の暗号化システムの処理フローを示す図。 実施例3の暗号化システムの機能構成例を示す図。 実施例3の暗号化システムの処理フローを示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
図3に実施例1の暗号化システムの構成例を、図4に実施例1の暗号化システムの処理フローを示す。暗号化システムは、暗号化装置100、復号装置200、ネットワーク900を備えている。暗号化装置100は、平文mと公開鍵を受け取る暗号化入力部110、乱数rを生成する乱数生成部120、暗号化計算部130、暗号文Cを出力する暗号文出力部140、暗号化記録部190を備える。復号装置200は、秘密鍵と公開鍵とを求め公開鍵を公開する鍵生成部210、暗号文を受信する復号入力部220、復号計算部230、検証部240、平文mを出力する復号出力部250、復号記録部290を備える。
次に、図4を参照しながら処理フローと各構成部の処理内容について説明する。本実施例では、pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、HはGの元をZの元に変換するハッシュ関数、a^bはaのb乗を意味する式、mは平文とする。
復号装置200の鍵生成部210は、集合Zの元である6つの乱数w,x,x,y,y,zを生成して秘密鍵とし、g,g^w,g^x・g^(wx),g^y・g^(wy),g^zを群Gの5つの元pk,pk,pk,pk,pkからなる公開鍵として公開する(S210)。復号記録部290は、秘密鍵w,x,x,y,y,zと公開鍵g(=pk),g^w(=pk),g^x・g^(wx)(=pk),g^y・g^(wy)(=pk),g^z(=pk)を記録する。
暗号化装置100の暗号化入力部110は、平文mと、公開鍵として群Gの5つの元pk,pk,pk,pk,pkを受け取り、暗号化記録部190に記録する(S110)。乱数生成部120は、集合Zの元である乱数rを生成する(S120)。暗号化計算部130は、
=pk^r
=pk^r
s=m・(pk)^r・H(u,u
α=H(u,u,s)、
v=pk^r・pk^(rα)
を計算する(S130)。ここで、pk=g,pk=g^w,pk=g^x・g^(wx),pk=g^y・g^(wy),pk=g^zであるから、これらの式は、
=g^r
=(g^w)^r
s=m・(g^z)^r・H(u,u
α=H(u,u,s)
v=(g^x・g^(wx))^r・(g^y・g^(wy))^(rα)
を計算していることと同じである。暗号文出力部140は、u,s,vをc,c,cからなる暗号文Cとして出力する(S140)。復号装置200の復号入力部220は、暗号文Cとしてc,c,cを受信し、復号記録部290に記録する(S220)。
復号計算部230は、
α’=H(c,c^w,c
m=s・u^(−z)・H(u,u^w)^(−1)
を計算する(S230)。
検証部240は、c^(x+yα’)・c^(w(x+yα’)とcとが等しいことを検証する(S240)。ここで、暗号文Cが正しい暗号文であれば、c=u,c=s,c=v、u=g^r、u=(g^w)^rだから、
α’=H(u,u^w,s)
=H(u,(g^r)^w,s)
=H(u,(g^w)^r,s)
=H(u,u,s)
=α
となり、
^(x+yα’)・c^(w(x+yα’)
=u^(x+yα)・u^(w(x+yα))
=g^(rx+ryα)・g^(rw(x+yα))
=(g^x・g^(wx))^r・(g^y・g^(wy))^(rα)
=v (=c
となる。つまり、暗号文Cが正しければ、検証は成功する。復号出力部250は、検証部240の検証が成功した場合には平文mを出力し、検証部240の検証が失敗した場合にはエラーを出力する(S250)。
実施例1の暗号化システムによれば、ハッシュ関数の入力(u=pk^r=g^r,u=pk^r=(g^w)^r,s=m・(g^z)^r・H(u,u))と出力(H(u,u),H(u,u,s))に直接平文を導出できる情報がない。また、ハッシュ関数の入出力情報だけから、攻撃者が秘密鍵なしで復号手続を行えない。したがって、本実施例の暗号化システムでは、ハッシュ関数の入出力情報から生成元を乱数乗した要素を知ることはできるが、暗号文から平文の情報を得るためにはそれだけでは計算できない。つまり、暗号文から平文の情報を得るためには乱数自体を知る必要がある。これにより、ハッシュ関数の入出力情報の中身を攻撃者にすべて開示したとしても選択暗号文攻撃安全を満たすことができる。
図5に実施例2の暗号化システムの構成例を、図6に実施例2の暗号化システムの処理フローを示す。暗号化システムは、暗号化装置300、復号装置400、ネットワーク900を備えている。暗号化装置300は、平文mと公開鍵を受け取る暗号化入力部310、乱数rを生成する乱数生成部120、暗号化計算部330、暗号文Cを出力する暗号文出力部340、暗号化記録部390を備える。復号装置400は、秘密鍵と公開鍵とを求め公開鍵を公開する鍵生成部410、暗号文を受信する復号入力部220、復号計算部430、検証部440、平文mを出力する復号出力部450、復号記録部490を備える。
次に、図6を参照しながら処理フローと各構成部の処理内容について説明する。本実施例では、pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|G|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、mは平文とする。
復号装置400の鍵生成部410は、集合Zの元である乱数xを生成し、群Gを定義域として落し戸付き一方向性置換(f,f−1)を選択し、x,f−1を秘密鍵とし、g^x,fを群Gの元pkと関数f’からなる公開鍵として公開する(S410)。復号記録部490は、秘密鍵x,f−1と公開鍵g^x(=pk),f(=f’)を記録する。
暗号化装置300の暗号化入力部310は、平文mと、公開鍵として群Gの元pkと関数f’を受け取り、暗号化記録部390に記録する(S310)。乱数生成部120は、集合Zの元である乱数rを生成する(S120)。暗号化計算部330は、
tag=Macpk^r(m)
s=m・H(g^r,tag)・pk^r
t=f’(pk^r)
を計算する(S330)。ここで、pk=g^x、f’=fであるから、これらの式は、
tag=Macg^(xr)(m)
s=m・H(g^r,tag)・g^(xr)
t=f(g^(xr))
を計算していることと同じとなる。
暗号文出力部340はtag,s,tをc,c,cからなる暗号文Cとして出力する(S340)。復号装置400の復号入力部220は、暗号文Cとしてc,c,cを受信し、復号記録部490に記録する(S220)。復号計算部430は、
v=f−1(c
m=c・(v・H(v^(x^(−1)),tag))^(−1)
を計算する(S430)。検証部440は、Mac(m)とcとが等しいことを検証する(S440)。ここで、暗号文Cが正しい暗号文であれば、c=tag,c=s,c=tだから、
v=f−1(c
=f−1(t)
=f−1(f(g^(xr)))
=g^(xr)
となり、
Mac(m)
=Macg^(xr)(m)
=tag (=c
となる。つまり、暗号文Cが正しければ、検証は成功する。
復号出力部450は検証部440の検証が成功した場合には平文mを出力し、検証部440の検証が失敗した場合にはエラーを出力する(S450)。
実施例2の暗号化システムによれば、実施例1と同じように、ハッシュ関数の入力(g^r,tag)と出力(H(g^r,tag))に直接平文を導出できる情報がない。また、ハッシュ関数の入出力情報だけから、攻撃者が秘密鍵なしで復号手続を行えない。したがって、本実施例の暗号化システムでも、ハッシュ関数の入出力情報から生成元を乱数乗した要素を知ることはできるが、暗号文から平文の情報を得るためにはそれだけでは計算できない。つまり、暗号文から平文の情報を得るためには乱数自体を知る必要がある。これにより、ハッシュ関数の入出力情報の中身を攻撃者にすべて開示したとしても選択暗号文攻撃安全を満たすことができる。
図7に実施例3の暗号化システムの構成例を、図8に実施例3の暗号化システムの処理フローを示す。暗号化システムは、暗号化装置500、復号装置600、ネットワーク900を備えている。暗号化装置500は、平文mと公開鍵を受け取る暗号化入力部510、乱数rを生成する乱数生成部520、暗号化計算部530、暗号文Cを出力する暗号文出力部540、暗号化記録部590を備える。復号装置600は、秘密鍵と公開鍵とを求め公開鍵を公開する鍵生成部610、暗号文を受信する復号入力部220、復号計算部630、検証部640、平文mを出力する復号出力部650、復号記録部690を備える。
次に、図8を参照しながら処理フローと各構成部の処理内容について説明する。本実施例では、p,pは素数、n=p・p、Zp1は0からp−1までの整数の集合、Zp2は0からp−1までの整数の集合、Zp1−1は0からp−2までの整数の集合、Zp2−1は0からp−2までの整数の集合、Zは0からn−1までの整数の集合、αはZp1の生成元、αはZp2の生成元、HはZ の元をZの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|Z|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文とする。
復号装置600の鍵生成部610は、
(a)gcd(p−1,p−1)がa−aの約数となるように、集合Zp1−1からaを集合Zp2−1からaをそれぞれ選択し、
(b)t=(p−1)(p−1)/gcd(p−1,p−1)とし、
(c)
Figure 0005448801

を満たすa mod tを計算し、
(d)
Figure 0005448801

を満たすα mod nを計算し、
(e)
Figure 0005448801
を満たすβ mod nを計算し、
(f)gcd(e,φ(n))=1を満たすようにeを選び、
(g)
Figure 0005448801

を満たすdを求め、
(h)f(x)=x^e mod n、f−1(y)=y^d mod nを満たす一方向性置換(f,f−1)を選択し、
(i)p,p,a,f−1を秘密鍵とし、n,α,β,fを整数pk,pk,pkと関数f’からなる公開鍵として公開する(S610)。復号記録部690は、秘密鍵p,p,a,f−1と公開鍵n(=pk),α(=pk),β(=pk),f(=f’)を記録する。
暗号化装置500の暗号化入力部510は、平文mと、公開鍵として整数pk,pk,pkと関数f’を受け取り、暗号化記録部590に記録する(S510)。乱数生成部520は、集合Zの元である乱数rを生成する(S520)。暗号化計算部530は、
mk=pk^r mod pk
tag=Macmk(m)
s=m・H(pk^r,tag)・pk^r mod pk
t=f’(pk^r)
を計算する(S530)。ここで、pk=n,pk=α,pk=β、f’=fであるから、これらの式は、
mk=β^r mod n
tag=Macmk(m)
s=m・H(α^r,tag)・β^r mod n
t=f(β^r)
を計算していることと同じとなる。
暗号文出力部540はtag,s,tをc,c,cからなる暗号文Cとして出力する(S540)。復号装置600の復号入力部220は、暗号文Cとしてc,c,cを受信し、復号記録部690に記録する(S220)。復号計算部630は、
v=f−1(c
mk=v mod n
m=c・(v・H(v^(a^(−1)),tag))^(−1) mod n
を計算する(S630)。検証部640は、Macmk(m)とcとが等しいことを検証する(S640)。ここで、暗号文Cが正しい暗号文であれば、c=tag,c=s,c=tだから、
v=f−1(c
=f−1(t)
=f−1(f(β^r))
=β^r
となり、
Macmk(m)
=Mac(m)
=Macβ^r(m)
=tag (=c
となる。つまり、暗号文Cが正しければ、検証は成功する。復号出力部650は、検証部の検証が成功した場合には平文mを出力し、検証部の検証が失敗した場合にはエラーを出力する(S650)。
実施例3の暗号化システムによれば、実施例1や実施例2同じように、ハッシュ関数の入力(pk^r=α^r,tag)と出力(H(pk^r,tag)=H(α^r,tag))に直接平文を導出できる情報がない。また、ハッシュ関数の入出力情報だけから、攻撃者が秘密鍵なしで復号手続を行えない。したがって、本実施例の暗号化システムでも、ハッシュ関数の入出力情報から生成元を乱数乗した要素を知ることはできるが、暗号文から平文の情報を得るためにはそれだけでは計算できない。つまり、暗号文から平文の情報を得るためには乱数自体を知る必要がある。これにより、ハッシュ関数の入出力情報の中身を攻撃者にすべて開示したとしても選択暗号文攻撃安全を満たすことができる。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、公開鍵暗号方式に利用することができる。
100、300、500、700 暗号化装置
110、310、510、710 暗号化入力部
120、520、720 乱数生成部
130、330、530、730 暗号化計算部
140、340、540、740 暗号文出力部
190、390、590、790 暗号化記録部
200、400、600、800 復号装置
210、410、610、810 鍵生成部
220、820 復号入力部
230、430、630、830 復号計算部
240、440、640 検証部
250、450、650、850 復号出力部
290、490、690、890 復号記録部
900 ネットワーク

Claims (14)

  1. 公開鍵方式の暗号化装置と復号装置からなる暗号化システムであって、
    pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、HはGの元をZの元に変換するハッシュ関数、a^bはaのb乗を意味する式、mは平文として、
    前記暗号化装置は、
    平文mと、公開鍵として群Gの5つの元pk,pk,pk,pk,pkを受け取る暗号化入力部と、
    集合Zの元である乱数rを生成する乱数生成部と、
    =pk^r
    =pk^r
    s=m・(pk)^r・H(u,u
    α=H(u,u,s)
    v=pk^r・pk^(rα)
    を計算する暗号化計算部と、
    ,s,vをc,c,cからなる暗号文Cとして出力する暗号文出力部と
    を備え、
    前記復号装置は、
    集合Zの元である6つの乱数w,x,x,y,y,zを生成して秘密鍵とし、g,g^w,g^x・g^(wx),g^y・g^(wy),g^zを群Gの5つの元pk,pk,pk,pk,pkからなる公開鍵として公開する鍵生成部と、
    暗号文Cとしてc,c,cを受信する復号入力部と、
    α’=H(c,c^w,c
    m=s・u^(−z)・H(u,u^w)^(−1)
    を計算する復号計算部と、
    ^(x+yα’)・c^(w(x+yα’)とcとが等しいことを検証する検証部と、
    前記検証部の検証が成功した場合には平文mを出力し、前記検証部の検証が失敗した場合にはエラーを出力する復号出力部と
    を備える
    ことを特徴とする暗号化システム。
  2. 公開鍵方式の暗号化装置と復号装置からなる暗号化システムであって、
    pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|G|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、mは平文として、
    前記暗号化装置は、
    平文mと、公開鍵として群Gの元pkと関数f’を受け取る暗号化入力部と、
    集合Zの元である乱数rを生成する乱数生成部と、
    tag=Macpk^r(m)
    s=m・H(g^r,tag)・pk^r
    t=f’(pk^r)
    を計算する暗号化計算部と、
    tag,s,tをc,c,cからなる暗号文Cとして出力する暗号文出力部と
    を備え、
    前記復号装置は、
    集合Zの元である乱数xを生成し、群Gを定義域として落し戸付き一方向性置換(f,f−1)を選択し、x,f−1を秘密鍵とし、g^x,fを群Gの元pkと関数f’からなる公開鍵として公開する鍵生成部と、
    暗号文Cとしてc,c,cを受信する復号入力部と、
    v=f−1(c
    m=c・(v・H(v^(x^(−1)),tag))^(−1)
    を計算する復号計算部と、
    Mac(m)とcとが等しいことを検証する検証部と、
    前記検証部の検証が成功した場合には平文mを出力し、前記検証部の検証が失敗した場合にはエラーを出力する復号出力部と
    を備える
    ことを特徴とする暗号化システム。
  3. 公開鍵方式の暗号化装置と復号装置からなる暗号化システムであって、
    ,pは素数、n=p・p、Zp1は0からp−1までの整数の集合、Zp2は0からp−1までの整数の集合、Zp1−1は0からp−2までの整数の集合、Zp2−1は0からp−2までの整数の集合、Zは0からn−1までの整数の集合、αはZp1の生成元、αはZp2の生成元、HはZ の元をZの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|Z|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文として、
    前記暗号化装置は、
    平文mと、公開鍵として整数pk,pk,pkと関数f’を受け取る暗号化入力部と、
    集合Zの元である乱数rを生成する乱数生成部と、
    mk=pk^r mod pk
    tag=Macmk(m)
    s=m・H(pk^r,tag)・pk^r mod pk
    t=f’(pk^r)
    を計算する暗号化計算部と、
    tag,s,tをc,c,cからなる暗号文Cとして出力する暗号文出力部と
    を備え、
    前記復号装置は、
    (a)gcd(p−1,p−1)がa−aの約数となるように、集合Zp1−1からaを集合Zp2−1からaをそれぞれ選択し、
    (b)t=(p−1)(p−1)/gcd(p−1,p−1)とし、
    (c)
    Figure 0005448801

    を満たすa mod tを計算し、
    (d)
    Figure 0005448801

    を満たすα mod nを計算し、
    (e)
    Figure 0005448801

    を満たすβ mod nを計算し、
    (f)gcd(e,φ(n))=1を満たすようにeを選び、
    (g)
    Figure 0005448801

    を満たすdを求め、
    (h)f(x)=x^e mod n、f−1(y)=y^d mod nを満たす一方向性置換(f,f−1)を選択し、
    (i)p,p,a,f−1を秘密鍵とし、n,α,β,fを整数pk,pk,pkと関数f’からなる公開鍵として公開する鍵生成部と、
    暗号文Cとしてc,c,cを受信する復号入力部と、
    v=f−1(c
    mk=v mod n
    m=c・(v・H(v^(a^(−1)),tag))^(−1) mod n
    を計算する復号計算部と、
    Macmk(m)とcとが等しいことを検証する検証部と、
    前記検証部の検証が成功した場合には平文mを出力し、前記検証部の検証が失敗した場合にはエラーを出力する復号出力部と
    を備える
    ことを特徴とする暗号化システム。
  4. pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、HはGの元をZの元に変換するハッシュ関数、a^bはaのb乗を意味する式、mは平文として、
    平文mと、公開鍵として群Gの5つの元pk,pk,pk,pk,pkを受け取る暗号化入力部と、
    集合Zの元である乱数rを生成する乱数生成部と、
    =pk^r
    =pk^r
    s=m・(pk)^r・H(u,u
    α=H(u,u,s)
    v=pk^r・pk^(rα)
    を計算する暗号化計算部と、
    ,s,vをc,c,cからなる暗号文Cとして出力する暗号文出力部と
    を備える暗号化装置。
  5. pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|G|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、mは平文として、
    平文mと、公開鍵として群Gの元pkと関数f’を受け取る暗号化入力部と、
    集合Zの元である乱数rを生成する乱数生成部と、
    tag=Macpk^r(m)
    s=m・H(g^r,tag)・pk^r
    t=f’(pk^r)
    を計算する暗号化計算部と、
    tag,s,tをc,c,cからなる暗号文Cとして出力する暗号文出力部と
    を備える暗号化装置。
  6. ,pは素数、n=p・p、Zp1は0からp−1までの整数の集合、Zp2は0からp−1までの整数の集合、Zp1−1は0からp−2までの整数の集合、Zp2−1は0からp−2までの整数の集合、Zは0からn−1までの整数の集合、αはZp1の生成元、αはZp2の生成元、HはZ の元をZの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|Z|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文として、
    平文mと、公開鍵として整数pk,pk,pkと関数f’を受け取る暗号化入力部と、
    集合Zの元である乱数rを生成する乱数生成部と、
    mk=pk^r mod pk
    tag=Macmk(m)
    s=m・H(pk^r,tag)・pk^r mod pk
    t=f’(pk^r)
    を計算する暗号化計算部と、
    tag,s,tをc,c,cからなる暗号文Cとして出力する暗号文出力部と
    を備える暗号化装置。
  7. pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、HはGの元をZの元に変換するハッシュ関数、a^bはaのb乗を意味する式、mは平文として、
    集合Zの元である6つの乱数w,x,x,y,y,zを生成して秘密鍵とし、g,g^w,g^x・g^(wx),g^y・g^(wy),g^zを群Gの5つの元pk,pk,pk,pk,pkからなる公開鍵として公開する鍵生成部と、
    暗号文Cとしてc,c,cを受信する復号入力部と、
    α’=H(c,c^w,c
    m=s・u^(−z)・H(u,u^w)^(−1)
    を計算する復号計算部と、
    ^(x+yα’)・c^(w(x+yα’)とcとが等しいことを検証する検証部と、
    前記検証部の検証が成功した場合には平文mを出力し、前記検証部の検証が失敗した場合にはエラーを出力する復号出力部と
    を備える復号装置。
  8. pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|G|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、mは平文として、
    集合Zの元である乱数xを生成し、群Gを定義域として落し戸付き一方向性置換(f,f−1)を選択し、x,f−1を秘密鍵とし、g^x,fを群Gの元pkと関数f’からなる公開鍵として公開する鍵生成部と、
    暗号文Cとしてc,c,cを受信する復号入力部と、
    v=f−1(c
    m=c・(v・H(v^(x^(−1)),tag))^(−1)
    を計算する復号計算部と、
    Mac(m)とcとが等しいことを検証する検証部と、
    前記検証部の検証が成功した場合には平文mを出力し、前記検証部の検証が失敗した場合にはエラーを出力する復号出力部と
    を備える復号装置。
  9. ,pは素数、n=p・p、Zp1は0からp−1までの整数の集合、Zp2は0からp−1までの整数の集合、Zp1−1は0からp−2までの整数の集合、Zp2−1は0からp−2 までの整数の集合、Zは0からn−1までの整数の集合、αはZp1の生成元、αはZp2の生成元、HはZ の元をZの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|Z|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文として、
    (a)gcd(p−1,p−1)がa−aの約数となるように、集合Zp1−1からaを集合Zp2−1からaをそれぞれ選択し、
    (b)t=(p−1)(p−1)/gcd(p−1,p−1)とし、
    (c)
    Figure 0005448801

    を満たすa mod tを計算し、
    (d)
    Figure 0005448801

    を満たすα mod nを計算し、
    (e)
    Figure 0005448801

    を満たすβ mod nを計算し、
    (f)gcd(e,φ(n))=1を満たすようにeを選び、
    (g)
    Figure 0005448801

    を満たすdを求め、
    (h)f(x)=x^e mod n、f−1(y)=y^d mod nを満たす一方向性置換(f,f−1)を選択し、
    (i)p,p,a,f−1を秘密鍵とし、n,α,β,fを整数pk,pk,pkと関数f’からなる公開鍵として公開する鍵生成部と、
    暗号文Cとしてc,c,cを受信する復号入力部と、
    v=f−1(c
    mk=v mod n
    m=c・(v・H(v^(a^(−1)),tag))^(−1) mod n
    を計算する復号計算部と、
    Macmk(m)とcとが等しいことを検証する検証部と、
    前記検証部の検証が成功した場合には平文mを出力し、前記検証部の検証が失敗した場合にはエラーを出力する復号出力部と
    を備える復号装置。
  10. 公開鍵方式の暗号化装置と復号装置を用いた暗号化方法であって、
    pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、HはGの元をZの元に変換するハッシュ関数、a^bはaのb乗を意味する式、mは平文として、
    前記復号装置が、
    集合Zの元である6つの乱数w,x,x,y,y,zを生成して秘密鍵とし、g,g^w,g^x・g^(wx),g^y・g^(wy),g^zを群Gの5つの元pk,pk,pk,pk,pkからなる公開鍵として公開する鍵生成ステップと、
    前記暗号化装置が、
    平文mと、公開鍵として群Gの5つの元pk,pk,pk,pk,pkを受け取る暗号化入力ステップと、
    集合Zの元である乱数rを生成する乱数生成ステップと、
    =pk^r
    =pk^r
    s=m・(pk)^r・H(u,u
    α=H(u,u,s)
    v=pk^r・pk^(rα)
    を計算する暗号化計算ステップと、
    ,s,vをc,c,cからなる暗号文Cとして出力する暗号文出力ステップと、
    前記復号装置が、
    暗号文Cとしてc,c,cを受信する復号入力ステップと、
    α’=H(c,c^w,c
    m=s・u^(−z)・H(u,u^w)^(−1)
    を計算する復号計算ステップと、
    ^(x+yα’)・c^(w(x+yα’)とcとが等しいことを検証する検証ステップと、
    前記検証ステップの検証が成功した場合には平文mを出力し、前記検証ステップの検証が失敗した場合にはエラーを出力する復号出力ステップと
    を有する暗号化方法。
  11. 公開鍵方式の暗号化装置と復号装置を用いた暗号化方法であって、
    pは素数、Zは0からp−1までの整数の集合、Gは位数pの有限巡回群、gは群Gの生成元、HはGの元をGの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|G|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、mは平文として、
    前記復号装置が、
    集合Zの元である乱数xを生成し、群Gを定義域として落し戸付き一方向性置換(f,f−1)を選択し、x,f−1を秘密鍵とし、g^x,fを群Gの元pkと関数f’からなる公開鍵として公開する鍵生成ステップと、
    前記暗号化装置が、
    平文mと、公開鍵として群Gの元pkと関数f’を受け取る暗号化入力ステップと、
    集合Zの元である乱数rを生成する乱数生成ステップと、
    tag=Macpk^r(m)
    s=m・H(g^r,tag)・pk^r
    t=f’(pk^r)
    を計算する暗号化計算ステップと、
    tag,s,tをc,c,cからなる暗号文Cとして出力する暗号文出力ステップと、
    前記復号装置が、
    暗号文Cとしてc,c,cを受信する復号入力ステップと、
    v=f−1(c
    m=c・(v・H(v^(x^(−1)),tag))^(−1)
    を計算する復号計算ステップと、
    Mac(m)とcとが等しいことを検証する検証ステップと、
    前記検証ステップの検証が成功した場合には平文mを出力し、前記検証ステップの検証が失敗した場合にはエラーを出力する復号出力ステップと
    を有する暗号化方法。
  12. 公開鍵方式の暗号化装置と復号装置を用いた暗号化方法であって、
    ,pは素数、n=p・p、Zp1は0からp−1までの整数の集合、Zp2は0からp−1までの整数の集合、Zp1−1は0からp−2までの整数の集合、Zp2−1は0からp−2までの整数の集合、Zは0からn−1までの整数の集合、αはZp1の生成元、αはZp2の生成元、HはZ の元をZの元に変換するハッシュ関数、MacmkをMac鍵mkの鍵長が|Z|である長さ保存メッセージ認証コード、a^bはaのb乗を意味する式、gcd(a,b)はaとbの最大公約数を意味する式、φはオイラー関数、mは平文として、
    前記復号装置が、
    (a)gcd(p−1,p−1)がa−aの約数となるように、集合Zp1−1からaを集合Zp2−1からaをそれぞれ選択し、
    (b)t=(p−1)(p−1)/gcd(p−1,p−1)とし、
    (c)
    Figure 0005448801

    を満たすa mod tを計算し、
    (d)
    Figure 0005448801

    を満たすα mod nを計算し、
    (e)
    Figure 0005448801

    を満たすβ mod nを計算し、
    (f)gcd(e,φ(n))=1を満たすようにeを選び、
    (g)
    Figure 0005448801

    を満たすdを求め、
    (h)f(x)=x^e mod n、f−1(y)=y^d mod nを満たす一方向性置換(f,f−1)を選択し、
    (i)p,p,a,f−1を秘密鍵とし、n,α,β,fを整数pk,pk,pkと関数f’からなる公開鍵として公開する鍵生成ステップと、
    前記暗号化装置が、
    平文mと、公開鍵として整数pk,pk,pkと関数f’を受け取る暗号化入力ステップと、
    集合Zの元である乱数rを生成する乱数生成ステップと、
    mk=pk^r mod pk
    tag=Macmk(m)
    s=m・H(pk^r,tag)・pk^r mod pk
    t=f’(pk^r)
    を計算する暗号化計算ステップと、
    tag,s,tをc,c,cからなる暗号文Cとして出力する暗号文出力ステップと、
    前記復号装置が、
    暗号文Cとしてc,c,cを受信する復号入力ステップと、
    v=f−1(c
    mk=v mod n
    m=c・(v・H(v^(a^(−1)),tag))^(−1) mod n
    を計算する復号計算ステップと、
    Macmk(m)とcとが等しいことを検証する検証ステップと、
    前記検証ステップの検証が成功した場合には平文mを出力し、前記検証ステップの検証が失敗した場合にはエラーを出力する復号出力ステップと
    を有する暗号化方法。
  13. 請求項4から6のいずれかに記載の暗号化装置、もしくは請求項7から9のいずれかに記載の復号装置としてコンピュータを動作させるためのプログラム。
  14. 請求項13記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2009298201A 2009-12-28 2009-12-28 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体 Expired - Fee Related JP5448801B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009298201A JP5448801B2 (ja) 2009-12-28 2009-12-28 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009298201A JP5448801B2 (ja) 2009-12-28 2009-12-28 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体

Publications (2)

Publication Number Publication Date
JP2011138015A JP2011138015A (ja) 2011-07-14
JP5448801B2 true JP5448801B2 (ja) 2014-03-19

Family

ID=44349499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009298201A Expired - Fee Related JP5448801B2 (ja) 2009-12-28 2009-12-28 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体

Country Status (1)

Country Link
JP (1) JP5448801B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195100A (ja) * 2019-05-29 2020-12-03 株式会社bitFlyer Blockchain 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム
CN113783682B (zh) * 2021-08-25 2023-09-29 华东师范大学 一种支持打包的门限全同态数据封装方法

Also Published As

Publication number Publication date
JP2011138015A (ja) 2011-07-14

Similar Documents

Publication Publication Date Title
JP2005204111A (ja) 暗号化及び署名方法、装置及びプログラム
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
JP6294882B2 (ja) 鍵保管装置、鍵保管方法、及びそのプログラム
JP2010166549A (ja) フィンガープリントデータ生成方法方法、フィンガープリントデータ生成装置
JP5448801B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体
JP5512559B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法、プログラム
JP5427117B2 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、メッセージ認証子生成方法、メッセージ認証子検証方法、およびプログラム
JP7125857B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム
JP5713947B2 (ja) プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置
JP5406796B2 (ja) 本人性証明システム、検証装置、本人性証明方法
JP5651611B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、プログラム
JP5337076B2 (ja) 秘密計算システム、秘密計算方法、不正使用防止方法
JP2011145591A (ja) コミットメントシステム、マスター装置、送信装置、受信装置、コミットメント方法、プログラム、記録媒体
JP5038866B2 (ja) 暗号通信方法、暗号化装置、復号装置、及びそれらのプログラム
JP2019211735A (ja) 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
CN112954388A (zh) 一种数据文件的获取方法、装置、终端设备和存储介质
JP2011109510A (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
JP5367023B2 (ja) 情報暗号化方法、情報暗号化装置、プログラム、および記録媒体
JP5331028B2 (ja) 署名・検証システム、署名・検証方法、署名装置、検証装置、プログラム、記録媒体
JP2007171412A (ja) 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム
JP6267657B2 (ja) 安全性強化方法、安全性強化システム、安全性強化装置、検証装置、およびプログラム
JP5427156B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム
JP5458026B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム
JP2009033608A (ja) 正当性検証装置及び正当性検証方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110722

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131224

R150 Certificate of patent or registration of utility model

Ref document number: 5448801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees