加密数据运算系统、装置以及程序的制作方法_3

文档序号:9308655阅读:来源:国知局
,n5=l,K= {2,3,5}。这里,被减数mA3m2+m5,减数mb 为 4m3。另外,在 希望判定数值a、b的大小关系的情况下,设为F=ma-mb=mi-m2,使1^=l,n2= - 1, K= {1,2}即可。
[0114] 运算装置40的通信部44被控制部45控制,利用存储装置30获取计算式子F所 需的密文Q(iGK),并存储于暂时数据存储部41 (ST21)。接下来,计算部42使用从暂时 数据存储部41获取的密文Q(iGK),并通过下面的式子计算一次运算结果Xi、X2 (ST22)。
[0115][式 4]
[0116]
[0117]
[0118] 计算部42将生成的一次运算结果&、X2写入暂时数据存储部41。通信部44被控制 部45控制,将暂时数据存储部41内的一次运算结果XpX2发送到运算辅助装置50 (ST23)。
[0119] 根据以上,完成一次运算处理。
[0120] [3?二次运算处理]
[0121] 以下叙述的二次运算处理是使进行加减运算后的密文(加密数据)随机化的处 理。利用运算辅助装置50,如图8以及以下的各步骤ST31~ST34所示那样执行二次运算 处理。
[0122] 运算辅助装置50的二次运算处理参数生成部51生成参数L、J、0、D,将参数L、J、 0、D写入暂时数据存储部52 (ST31)。之后叙述用于选择这些参数L、J、0、D的指标。此 外,参数L、J、0、D也可以从外部给予。在该情况下,在步骤ST31中,二次运算处理参数生 成部51将从外部获取的参数L、J、0、D写入暂时数据存储部52。
[0123] 接下来,二次运算处理参数生成部51从集合{1,…,L}之中分别随机地选择0 个随机数r' = 0,…,0 - 1)。这里,既可以是0 = 1,也可以是0彡2。这在其他 实施方式、变形例中也是相同的。另外,从集合{〇,1,…,J}之中随机地选择随机数z。然 后,二次运算处理参数生成部51计算下式所示的随机数R,将随机数R、z写入暂时数据存 储部 52 (ST32)。
[0124][式 5]
[0125]
[0126] 接下来,计算部53使用存储于二次运算密钥存储部54的二次运算密钥a\s、N、 和从暂时数据存储部52获取的一次运算结果&、X2以及随机数R、z,通过下式计算二次运 算结果Yi、Y2(ST33)。
[0127][式6]
[0130] 计算部53将生成的二次运算结果YpY2写入暂时数据存储部52。通信部55被控 制部56控制而将暂时数据存储部52内的一次运算结果Yi、¥2发送到运算装置40 (ST34)。
[0131] 这里,对选择各参数的指标进行说明。将能够进行正负判定的绝对值的最大值设 为D。S卩,希望能够在0 <F<D时将F判定为正,并在一D<F< 0时将F判定为负。此 时,二次运算处理参数生成部51以满足下式的方式选择0个随机数r' 1<3
[0132][式7]
[0133]LPD<N/2
[0134] 另外,二次运算处理参数生成部51在如上述那样选择作为0个随机数r'i的积 的R时,以使成为R<J的概率变得充分小的方式选择J。
[0135] 根据以上,完成二次运算处理。
[0136] [4?三次运算处理]
[0137] 以下叙述的三次运算处理是根据进行了随机化以及加减运算的密文(加密数据) 判定加减运算的式子中的被减数与减数之间的大小关系的处理。
[0138] 利用运算装置40,如图9以及以下的各步骤ST41~ST42所示那样执行三次运算 处理。
[0139] 运算装置40的计算部42使用存储于三次运算密钥存储部46的三次运算密钥V、 N和从暂时数据存储部41获取的二次运算结果I、Y2,通过接下来的式子计算W'。
[0140][式 8]
[0141]
[0142] 在W'不是N的倍数的情况下,不进行以下的计算地结束三次运算处理。在并非如 此的情况下(W'是N的倍数的情况下),计算部42通过下式计算三次运算结果W(ST41)。
[0143][式9]
[0144] W=r/N
[0145] =FR-z.
[0146] 接下来,如果W<N/2,则判定部43判定式子F为正,如果并非如此,则判定部43 判定式子F为负(或者0) (ST42)。
[0147] 在用F=Ma-Mb的形式表示时,如果F为正,则判定为Ma>Mb。如果F为负,则 判定为Ma<Mb。
[0148] 根据以上,完成三次运算处理。
[0149] 此外,在步骤ST42中,如果一J彡W彡0,则判定部43也可以判定为F= 0。在该 情况下,如果一N/2 <W<-J,则判定部43判定F为负。对于其他实施方式、变形例也是 相同的。
[0150] 这里,以F= 3m2- 41113+1]15的情况为例,示出W=FR-z。一次运算结果XpX;;、二 次运算结果I、Y2以及三次运算结果W分别如以下那样表示。
[0151][式 10]
[0152]

[0159] 在三次运算结果W中,W=FR-z,从FR减去z。然而,如果如上述那样适当地设 定R的值,则在步骤ST42中,判定部43能够不受随机数z的值的影响地正确进行F的正负 判定。
[0160] 在上述例子中,由于F=Ma-Mb= 3m2-4m3+m5,因此,例如通过采用被减数1= 3m2+m5,减数Mb= 4m3,能够判定被减数(3m2+m5)与减数(4m3)之间的大小关系。另外,例如 通过视为被减数仏=3m2,减数Mb= 4m3-m5,也能够判定被减数(3m2)与减数(4m3-m5) 之间的大小关系。
[0161] 如上述那样,根据本实施方式,运算装置40基于各加密数据生成一次运算结果, 该一次运算结果相当于将对各数值进行了加减运算的式子的运算结果加密而得的数据。运 算辅助装置50基于一次运算结果、二次运算密钥以及随机数生成使一次运算结果随机化 而得的二次运算结果。运算装置40基于二次运算结果以及三次运算密钥生成三次运算结 果,该三次运算结果相当于仅用随机数将进行了加减运算的式子的运算结果秘密化而得的 数据,基于三次运算结果判定式子中的被减数与减数之间的大小关系。
[0162] 如以上那样,能够使用将各数值加密而得的各加密数据对该各数值进行加减运 算,并能够判定该加减运算中的被减数与减数之间的大小关系。
[0163] 另外,能够使加密数据E(a)、E(b)的解密密钥和比较密钥(三次运算密钥)不同, 即使使用比较密钥也不能将加密数据E(a)、E(b)解密。
[0164](变形例1)
[0165] 在本实施方式的加密数据运算系统中,也可以存在将密文Ci解密的解密装置(未 图示)。解密装置具备存储有解密密钥sv、a\N(或者s、v、a\N)的存储部、以及执行计 算的计算部。解密装置能够通过以下的处理将密文Q解密。解密装置的计算部使用存储 部内的解密密钥sv、a\N和密文Q,通过下式计算D'。
[0166][式 13]
[0167]
[0168] 在D'不是N的倍数的情况下,不进行以下的计算地结束解密处理。在并非如此的 情况下(D'为N的倍数的情况下),解密装置的计算部通过下式计算明文。
[0169][式 14]
[0170] 111;=Dr /N.
[0171](第2实施方式)
[0172] 在第1实施方式中,说明了分别生成一个二次运算密钥s与三次运算密钥v的例 子,但并不局限于此,也可以分别生成多个二次运算密钥与三次运算密钥。以下,说明当在 某期间tl使用st^vti、在接下来的期间t2内使用st2、vt2这样的情况下,生成多个二次运 算密钥stpst2、…与多个三次运算密钥Vtpvt2、…的例子。
[0173] 以下,对本实施方式中的密钥生成处理、加密处理、一次运算处理、二次运算处理、 以及三次运算处理进行说明。其中,使用相同的附图标记说明与第1实施方式共同的部分, 并省略重复的说明。
[0174] [0?密钥生成处理]
[0175] 步骤ST1~ST3的处理与第1实施方式相同。
[0176] 密钥生成部14获取存储于暂时数据存储部12的pp'qq'以及N,并从{1,…, PP'qq' }分别随机地选择a、st、vt(ST4')。这里,为了使表述一般化,作为"s"的下角标, 使用了 "t",作为"v"的下角标"T",使用了。"st"的意思是在期间t内使用的"s"的值。 %/'的意思是在期间T内使用的%"的值。期间t的值与期间T的值既可以不同,也可以 是t=T〇
[0177] 在该情况下,加密密钥表示为a、g' {stvT}、g、N(其中,' 是表示幂运算的符号。)。 二次运算密钥表示为a\st、N。三次运算密钥表示为vT、N。
[0178] [式 15]
[0179] 另外,在本说明书中,g' {StVT}表示。
[0180] 密钥生成部14也可以在每当各期间到来时生成在各期间使用的加密密钥、二次 运算密钥、以及三次运算密钥。或者,密钥生成部14也可以预先生成多个期间的量的加密 密钥、二次运算密钥、以及三次运算密钥,并将该各密钥分别向加密装置20、运算辅助装置 50、以及运算装置40传递。
[0181] [1?加密处理]
[0182] 步骤ST1UST12、以及ST14的处理与第1实施方式相同。
[0183] 密文生成部23使用从暂时数据存储部22获取的随机数ri、…、rk和存储于加密 密钥存储部24的加密密钥a、gA{stvT}、g、N,通过下式将明文叫、…、mk加密(ST13')。
[0184] [式 16]
[0185] C;=(Cia,Ci>2,Ci>3,Ci>4)(i= 1, . . . ,k),
[0188] C1>3=t,
[0189] C1>4=T.
[0190] [2?-次运算处理]
[0191] 步骤ST21的处理与第1实施方式相同。
[0192] 计算部42使用从暂时数据存储部41获取的密文CjiGK),通过下式对各(t,T), 计算一次运算结果仏(t,T),X3,X4}、X2(ST22')。
[0193] [式 17]
[0194]
[0196] X3=t,
[0197] X4=T.
[0198] 这里,XidT)是使用相同的一个或者多个(^而计算的。例如,在存在 (t,T) = (1,1)的CjP(t,T) = (2,1)的(^的情况下,分别计算XJLI)与Xi(2,l)。将 对各(t,T)计算的Xi(t,T)、X3、X4的集合表述为{
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1