解密装置、解密能力提供装置、其方法、以及程序的利记博彩app_4

文档序号:9575614阅读:来源:国知局
k的公共密钥k。进而,非同态处理部135使用t的函数值α确认是否满足Cn= a -PEe E,若满足其则输出公共密钥k,若不满足则输出错误。
[0118]解密部136将公共密钥密文C13和公共密钥k设为输入,遵照公共密钥密码方式通过公共密钥k对公共密钥密文C13进行解密,得到解密值m’并进行输出(步骤S113)。
[0119][第二实施方式]
[0120]说明第二实施方式。第二实施方式是对将在参考文献4中记载的基于ID的密码方式进行了 BK变换的方式的第二密文进行解密的例子。在本方式中,第一密文是对与明文m对应的值m | dec进行加密而得到的值C21,附加值是与第一密文C21和随机值r对应的消息认证符tag 0
[0121]< 结构 >
[0122]如图1所例示那样,第二实施方式的安全系统2具有密钥生成装置21、加密装置22、解密装置23、以及解密能力提供装置24,其构成为能够通过网络进行信息的交换。另夕卜,为了说明的简化,在图1中,将密钥生成装置21、加密装置22、解密装置23、以及解密能力提供装置24各图示一个,但这些的至少一部分装置也可以存在多个。
[0123]如图5所例示那样,本方式的加密装置22具有存储部221、随机值生成部222、同态加密部224、非同态处理部225、以及输出部228。如图6所例示那样,本方式的解密装置23具有输入部231、存储部232、自校正处理部234、非同态处理部235、以及输出部236。如图6所例示那样,本方式的解密能力提供装置24具有存储部241、解密能力提供部242、以及秘密密钥取得部243。如图6所例示那样,本方式的密钥生成装置21具有存储部211、秘密密钥生成部212、以及设定部213。密钥生成装置21、加密装置22、解密装置23、以及解密能力提供装置24分别是例如通过在前述的计算机中读入规定的程序而构成的装置。从各处理部输出的信息被储存至未图示的临时存储器,根据需要读出而用于各处理部的处理。
[0124]< 处理 >
[0125]密钥生成装置21的设定部213执行设定算法Setup(lA)以及SetupEe(1λ),得到公开密钥(PK,pub)和主秘密密钥msk。公开密钥(PK,pub)被储存至加密装置22 (图5)的存储部221。进而公开密钥(PK,pub)在其他装置中也被设定。主秘密密钥msk被安全地储存在密钥生成装置21的存储部211中。
[0126]如图7所例示那样,加密装置22的随机值生成部222通过S(lA,pub) — (r,com,dec)生成随机值(r,com, dec)并进行输出(步骤S201)。com作为识别符而发挥作用。
[0127]同态加密部224将公开密钥PK和随机值dec和识别符com和明文m作为输入,通过Enc(PK,com, m| dec) 一 C21,对与明文m对应的值m | dec进行加密而得到第一密文C21并进行输出(步骤S203)。第一密文C21是能够通过同态运算而解密的密文。
[0128]非同态处理部225将随机值r和第一密文C21作为输入,通过MAC (r,C 21) 一 tag,得到对于随机值r和第一密文C21的消息认证符tag作为附加值并进行输出(步骤S204)。附加值tag是在解密时成为非同态运算的被运算符的值。
[0129]输出部228将识别符com和第一密文C21和附加值tag作为输入,输出与其对应的第二密文C2= (com, C 21,tag)(步骤S207)。例如,第二密文C2是包含表示识别符com的信息和表示第一密文C21的信息和表示附加值tag的信息的信息,例如是表示识别符com的信息(例如,比特串)和表示第一密文c21的信息(例如,比特串)和表示附加值tag的信息(例如,比特串)之间的连结值。第二密文C2通过网络被送出至解密装置23。
[0130]第二密文C2被输入至解密装置23 (图6)的输入部231,被储存至存储部232 (步骤S208)。输出部236输出第二密文C2= (com,C 21,tag)所包含的识别符com(步骤S209a)。识别符com被输入至解密能力提供装置24的秘密密钥取得部243。秘密密钥取得部243将识别符com输出至密钥生成装置21 (步骤S209b)。密钥生成装置21的秘密密钥生成部212将识别符com和主秘密密钥msk作为输入,通过KeyGen (PK, com, msk) — skcom,得到与识别符com对应的秘密密钥sk_并进行输出。秘密密钥sk _被输入至秘密密钥取得部243,被安全地储存在存储部241中(步骤S209c)。
[0131]自校正处理部234将第二密文C2=(com, C 21,tag)中包含的第一密文C21作为输入,在与保持用于对第一密文C21进行解密的秘密密钥(解密密钥)sk _的解密能力提供装置24的解密能力提供部242之间进行自校正处理(使用了自校正技术的云密钥管理型的解密处理),得到第一密文C21的解密值m’ I dec’ = Dec (PK, sk _,C21)并进行输出(步骤S210、S211)。
[0132]S卩,自校正处理部234将与第一密文C21对应的信息提供给解密能力提供装置24的解密能力提供部242,且从解密能力提供装置24得到用于在自校正处理部234中得到第一密文C21的解密值m’ |dec’的信息而不是从解密能力提供装置24得到秘密密钥(解密密钥)sk_的信息。换言之,解密能力提供装置24的解密能力提供部242从自校正处理部234得到与第一密文C21对应的信息,将用于自校正处理部234通过自校正处理而得到第一密文C21的解密值m’ | dec’的信息输出至自校正处理部234而不将秘密密钥sk _的信息提供给解密装置23。自校正处理部234使用从解密能力提供部242提供的信息得到解密值m’ |dec’。在此,为了避免解密值m’ | dec’泄露给解密能力提供装置24,优选被提供给解密能力提供部242的“与第一密文C21对应的信息”是扰乱了第一密文C21的信息。另外,步骤S210、S211的具体例是,设为X = C21,设为秘密密钥sk = sk_,将自校正处理部134置换为自校正处理部234,将解密能力提供部142置换为解密能力提供部242而进行的前述的“使用了自校正技术的云密钥管理型的解密处理的具体例”。
[0133]非同态处理部235进行使用了第一密文C21的解密值m’ |dec’和附加值tag的非同态运算,输出第二密文(:2的解密值m’(步骤S212)。例如,非同态处理部235将解密值m’ | dec’和第二密文C2= (com,C 21,tag)中包含的识别符com和附加值tag作为输入,通过R(pub,com,dec’ ) — r’ 得到 r’,若 r’ 乒{丄}则判定是否 Vefy (rf,C21,tag)乒{丄},若Vefy(r’,C21, tag) # {丄}则输出m’。在其他情况下进行错误结束。
[0134][第三实施方式]
[0135]说明第三实施方式。第三实施方式基于前述的<第二密文的例2 >。本方式的第一密文是对来自于包含明文m和随机值seed的信息的值MS = Encode (m,P)进行加密而得到的值C31,附加值是随机值seed。
[0136]< 结构 >
[0137]如图1所例示那样,第三实施方式的安全系统3具有密钥生成装置31、加密装置32、解密装置33、以及解密能力提供装置34,其构成为能够通过网络进行信息的交换。另夕卜,为了说明的简化,在图1中,将密钥生成装置31、加密装置32、解密装置33、以及解密能力提供装置34各图示一个,但这些至少一部分装置也可以存在多个。
[0138]如图8所例示那样,本方式的加密装置32具有存储部321、随机值生成部322、同态加密部324、非同态处理部325、变换部326、以及输出部328。如图9所例示那样,本方式的解密装置33具有输入部331、存储部332、复原部333、自校正处理部334、非同态处理部335、输出部236、以及变换部337。如图9所例示那样,本方式的解密能力提供装置34具有存储部341、以及解密能力提供部342。密钥生成装置31、加密装置32、解密装置33、以及解密能力提供装置34分别是例如通过在前述的计算机中读入规定的程序而构成的装置。从各处理部输出的信息被储存至未图示的临时存储器,根据需要读出而用于各处理部的处理。
[0139]< 处理 >
[0140]密钥生成装置31执行密钥生成算法KeyGen (1λ),得到公开密钥pk和秘密密钥sk。公开密钥pk被储存至加密装置32 (图8)的存储部321。进而公开密钥pk在其他装置中也被设定。秘密密钥sk被安全地储存在解密能力提供装置34(图9)的存储部341中。在参考文献5的例子中,公开密钥pk是RSA公开密钥(e,η),秘密密钥sk是与RSA公开密钥(e,n)对应的RSA秘密密钥(n,d)。此外,密钥生成装置31输出编码参数P。编码参数P被储存至加密装置32的存储部321以及解密能力提供装置34的存储部341。
[0141]之后,如图10所例示那样,加密装置32的随机值生成部322以及非同态处理部325将明文m、以及从存储部321读出的编码参数P作为输入,进行非同态运算Encode (m,P) — MS而得到MS。S卩,随机值生成部322生成随机值seed (步骤S301),非同态处理部325进行与明文m、随机值seed、编码参数P对应的非同态运算而得到MS = Encode (m, P)。例如,非同态处理部325如以下那样得到MS。
[0142]pHash = Hash (Ρ)
[0143]DB = pHash I PS I 011 m
[0144]dbMask = MGF (seed)
[0145]makedDB = DB (+) dbMask
[0146]seedMask = MGF(makedDB)
[0147]maskedSeed = seed (+)seedMask
[0148]EM = maskedSeedImaskedDB
[0149]MS = 0S2IP(EM)
[0150]其中,Hash表示P的哈希函数,PS表示零比特串,MGF是掩码生成函数,A(+)B表示A和B的异或,0S2IP是变换函数(步骤S302)。
[0151]同态加密部324将MS (来自于包含明文m和随机值seed的信息的值)、以及从存储部321读出的公开密钥pk作为输入,通过Enc(pk,MS) — C31对MS进行加密而得到第一密文C31并进行输出(步骤S303)。第一密文C 31是能够通
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1