发明名称 用于使输入同态随机化的方法和系统
摘要 描述了一种使输入随机化的全同态方法和系统,其中,在交换环上执行所有计算。详细说明使用矩阵和多项式执行随机化的等效方法以及混合矩阵和多项式函数的方式。进一步描述了矩阵和多项式函数的加法、乘法以及除法。通过在环ZN上执行函数模数N的计算,函数可用作加密函数。该方法和系统还可用于验证由第三方执行的计算的返回结果对于在本文中描述的任何计算是有效的。还描述了相关方法、系统以及设备。
申请公布号 CN104509024A 申请公布日期 2015.04.08
申请号 CN201380039463.2 申请日期 2013.07.25
申请人 NDS有限公司 发明人 艾维尔德·杰尼斯;以利沙·希布苏什
分类号 H04L9/00(2006.01)I;H04L9/30(2006.01)I 主分类号 H04L9/00(2006.01)I
代理机构 北京博浩百睿知识产权代理有限责任公司 11134 代理人 宋子良
主权项 一种使输入随机化的全同态方法,其中,在下文中表示为CR的交换环上执行所有计算,所述方法包括:接收包括CR中的k个输入元素的序列的输入,所述输入表示为INP;执行(a)和(b)中的任一个:(a)随机选择在下文中表示为S的CR中的秘密n×n矩阵,S用作对称随机化密钥,其中,S包括在CR上的可逆矩阵;确定S<sup>‑1</sup>;为包括INP的k个元素之中的m个不同的输入元素的每个集合i,在CR中选择n‑m(n减去m)个随机数Y<sub>1</sub>,Y<sub>2</sub>,...,Y<sub>n‑m</sub>,其中,0&lt;m&lt;k+1以及m&lt;n,从INP中选择要被共同随机化的所述m个不同的输入元素并且所述m个不同的输入元素在下文中表示为X<sub>1</sub>,X<sub>2</sub>,...,X<sub>m</sub>,其中,输入元素为X<sub>1</sub>,X<sub>2</sub>,...,X<sub>m</sub>;在所述随机数Y<sub>1</sub>,Y<sub>2</sub>,...,Y<sub>n‑m</sub>的集合之中选择至少一个随机数;并且可选地,一个或多个常数放在表示为M的n×n对角矩阵的对角线中,其中,除了所述对角线以外,矩阵M仅由0填充;并且通过使用在下文中表示为MRHT的基于矩阵的随机化和同态变换函数,确定表示为{X<sub>im</sub>}=X<sub>1</sub>,X<sub>2</sub>,…,X<sub>m</sub>的集合i中的m个输入元素的随机输出A<sub>im</sub>,其中:<img file="FDA0000661044720000011.GIF" wi="1038" he="172" />从而产生与m个输入元素的所述集合i{X<sub>im</sub>}=X<sub>1</sub>,X<sub>2</sub>,…,X<sub>m</sub>对应的随机输出A<sub>im</sub>;以及(b)在CR中选择n个随机数,所述n个随机数在下文中表示为v<sub>1</sub>,v<sub>2</sub>,...,v<sub>n</sub>;确定公共多项式<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mrow><mo>(</mo><mi>v</mi><mo>-</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>n</mi></msubsup><msub><mi>C</mi><mi>j</mi></msub><mo>&CenterDot;</mo><msup><mi>v</mi><mi>j</mi></msup><mrow><mo>(</mo><msub><mi>C</mi><mi>n</mi></msub><mo>=</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000661044720000026.GIF" wi="1035" he="89" /></maths>选择在下文中表示为PRHT(X<sub>im</sub>)的基于多项式的随机化和同态变换函数,包括以v为变量的形式为<img file="FDA0000661044720000021.GIF" wi="226" he="83" />的任何函数,所述函数满足以下方程:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mn>1</mn></msub><mi>j</mi></msup><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><mo>,</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mn>2</mn></msub><mi>j</mi></msup><mo>=</mo><msub><mi>X</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mi>m</mi></msub><mi>j</mi></msup><mo>=</mo><msub><mi>x</mi><mi>m</mi></msub><mo>;</mo></mrow>]]></math><img file="FDA0000661044720000022.GIF" wi="1297" he="117" /></maths>在CR中为a<sub>i,m</sub>,a<sub>i,m+1</sub>…,a<sub>i,n‑1</sub>选择将产生a<sub>i,0</sub>,a<sub>i,1</sub>…a<sub>i,m‑1</sub>的以上方程的解的n‑m个随机值,并且执行(c)和(d)中的任一个:(c)产生与包括集合(a<sub>i0</sub>,a<sub>i1</sub>,…,a<sub>in‑1</sub>)以及P(v)的公共系数集合(C<sub>0</sub>,C<sub>1</sub>,…,C<sub>n‑1</sub>,C<sub>n</sub>)的输入元素X<sub>1</sub>,X<sub>2</sub>,...,X<sub>m</sub>对应的随机输出A<sub>im</sub>,其中,需要公共系数集合(C<sub>0</sub>,C<sub>1</sub>,…,C<sub>n‑1</sub>,C<sub>n</sub>)以用于利用输入元素来执行运算的算术;并且(d)在CR中为给定的输入元素X<sub>1</sub>,X<sub>2</sub>,...,X<sub>m</sub>选择将解出以下关于未知数a<sub>i0</sub>,a<sub>i1</sub>,…,a<sub>in‑1</sub>的n个联立方程的n‑m个随机值R<sub>1</sub>,R<sub>2</sub>,...,R<sub>n‑m</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mn>1</mn></msub><mi>j</mi></msup><mo>=</mo><msub><mi>X</mi><mn>1</mn></msub><mo>,</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mn>2</mn></msub><mi>j</mi></msup><mo>=</mo><msub><mi>X</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mi>m</mi></msub><mi>j</mi></msup><mo>=</mo><msub><mi>X</mi><mi>m</mi></msub><mo>,</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mi>j</mi></msup><mo>=</mo></mrow>]]></math><img file="FDA0000661044720000023.GIF" wi="1701" he="93" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>R</mi><mn>1</mn></msub><mo>,</mo></mrow>]]></math><img file="FDA0000661044720000024.GIF" wi="92" he="62" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mrow><mi>m</mi><mo>+</mo><mn>2</mn></mrow></msub><mi>j</mi></msup><mo>=</mo><msub><mi>R</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>a</mi><mi>ij</mi></msub><mo>&CenterDot;</mo><msup><msub><mi>v</mi><mi>n</mi></msub><mi>j</mi></msup><mo>=</mo><msub><mi>R</mi><mrow><mi>n</mi><mo>-</mo><mi>m</mi></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA0000661044720000025.GIF" wi="1175" he="96" /></maths>从而为X<sub>1</sub>,X<sub>2</sub>,...,X<sub>m</sub>产生包括所述集合(a<sub>i0</sub>,a<sub>i1</sub>,…,a<sub>in‑1</sub>)以及P(v)的公共集合(C<sub>0</sub>,C<sub>1</sub>,…,C<sub>n‑1</sub>,C<sub>n</sub>)的随机文本。
地址 英国米德尔塞克斯郡