首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UOV签名方案,仿射变换是如何工作的?核心图和仿射图的组成是什么?

UOV签名方案,仿射变换是如何工作的?核心图和仿射图的组成是什么?
EN

Cryptography用户
提问于 2018-03-19 21:53:21
回答 1查看 202关注 0票数 1

我很难理解UOV方案的一部分,我知道它是如何工作的,除了用仿射变换(例如T )组成核心映射F时,我知道它是一个可逆的平方矩阵?我理解F是由油醋多项式的o数组成的,其中o是油变量的数目。那么,这是否意味着核心映射F中的每个多元方程乘以一个表示仿射映射T的平方矩阵?这个乘法的乘积到底是什么?每个多元油醋方程是否被视为一个1x1矩阵,并与T相乘?我知道映射T是用来改变系统的基础的,但是公钥应该是一个多元方程系统,所以有人能帮助澄清核心映射F和仿射映射T的组成实际上产生了什么结果吗?如果可能的话,可以举个小例子吗?例如,在o=2的情况下,如果我说核映射F是由

$F =$

$$

以及仿射变换$T$:

$\begin{b矩阵} 18& 23和14 &1和6和21 \ 24和3& 0和0\ 17和25 & 16和23 &8和21和16 &5和5和9\ 14和28和17和12和12\6和24和18和19和1和结束{bmatrix}$

核心映射F和映射T的公钥/组成是什么?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2018-03-20 11:24:58

秘密多项式是指油项系数为零的多元多项式.你可以用一个项和来表示,也可以用向量矩阵向量乘积来表示.例如,您的例子中的多项式,$F_0(x_0,\ldots,x_5) = x^2_0 4x_0x_1 4x^2_1 + 8x_0x_2 + 11x_2^2 2x_0x_3 14x_2x_5 x_1x_3 + 9x_2x_3 + 12x^2_3 + 7x_0x_4 11x_1x_4 11x_1x_4 9x_2x_4 2x_3x_4+3x_0x_5+5x_1x_5 +14x_2x_5 11x_3x_5$。使用向量表示法$\mathbf{x}^\mathsf{T} = (x_0,x_1,\ldots,( x_5)$我们可以将这个多项式写成如下乘积:$$ F_0(\mathbf{x}) =\mathbf{x}、\mathsf{T}\左(\begin{矩阵}1& -4 &8&8&2&7&3\0和4&0&1&11&11&5\0和0&9和9& 14 \0&0& 12 &2&11\0和0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\0\右) \mathbf{x} \enspace .$$矩阵中的系数与项和表示相同。注意,在这个矩阵表示法中,右下角块由零组成;这反映了一个事实,即油次-油项的系数为零。还请注意,此矩阵不是唯一的:无论何时$F_i(\mathbf{x}) =\mathbf{x}、\mathsf{T} M_{F_i} \mathbf{x}$,对于任何斜对称矩阵$A$ (即$A^\mathsf{T} = -A$),您也可以编写$F_i(mathbf{x})= \mathbf{x}^\mathsf{T}(M_{F_i}+A)\mathbf{x}$。特别是,这意味着通过计算$\frac{1}{2}(M_{F_i}+M_{F_i}^mathsf{T})$,始终可以选择中心矩阵为对称的中心矩阵。

秘密线性变换$\mathcal{T}$也可以用两种方式表示。给出了矩阵表示$$ T=左(begin{矩阵} 18 & 23 & 14 &1&6和21 \ 24 &3&3&0&2&2& 25 &2& 16& 23 &8& 21 & 16 &5和1&9\ 14 & 28 &8& 17和12 \6和24和18 &18和19 &3&1),$$,在这种情况下,$\mathcal{T}(\mathbf{x}) =T_mathbf{x}$。您也可以选择多项式表示的列表,在这种情况下,有6个多项式,$\mathcal{T}_0$通过$\mathcal{T}_5$。给出了$\mathcal{T}_0( x_0,x_1,x_2,x_3,x_4,x_5) = 18 x_0+ 23 x_1 + 14 x_2 +1 x_3 +6 x_4 + 21 x_5$的第一多项式。

要计算组合$F \circ \mathcal{T}$,您必须首先选择一个表示。在多项式表示中,我们有$F \circ \mathcal{T} (\mathbf{x}) =F(mathcal{T}(\mathbf{x}))=F(mathcal{T}_0(\mathbf{x}),\mathcal{T}_1(mathbf{x}),\ldots,\mathcal{T}_5(\mathbf{x})$。因此,您可以计算$F \circ \mathcal{T}$,方法是从$F$的副本开始,然后用$\mathcal{T}(\mathbf{x}) = \mathcal{T}(x_0、x_1、x_2、x_3、x_4、x_5)$替换$x_i$的每个出现。但是,请确保跟踪替换后出现的$x_i$事件,因为它们显然不应该被替换两次。

在矩阵表示中,我们有$F_i \circ \mathbf{T}(mathbf{x})= \mathcal{T} (mathbf{x})^^\mathsf{T} M_{F_i} \mathcal{T}(mathbf{T})= (T _mathbf{x})^mathsf{T}{F_i}(T_mathbf{T})=\mathbf{x}^\mathbf\mathsf{T}(T^mathsf{T} M_{F_i} T) \mathbf{F_i}$。因此,一个矩阵表示$M_{F_i \circ \mathcal{T}$只需将$M_{F_i}$夹在$T^\mathsf{T}$和$T$之间,即$M_{F_i \circ \mathcal{T}= T^\mathsf{T} M_{F_i} T$。

为了完成您开始的示例,让我们假设我们使用的是模块化31 (因为否则数字会变得相当大)。然后,我们得到了$$ M_{F_0 \circ \mathcal{T} \cong T^mathsf{T} M_{F_i} T=左(开始{矩阵}6& 25 & 19和19 &3& 26 \ 22和29 & 29 & 28和2\8和15 & 12和18 &6和7\ 28,1& 24,17和4,1\6和18,18和30 &30和23,23和8,15和5&5,结束矩阵{左边(开始{矩阵}6和8& 29和8& 20和3\8和29 &9& 15和28 \ 29和12 & 21和23 \8和21 & 23 \ 15和21&21和20和20和8\ 20和20&20和20和30和14、28和23、14和14、14和5)左、左({begin矩阵}6、16和27、16和9、9和6\0)& 29 & 18 & 30 & 18 & 25 \0& 12 & 11 & 24 & 15 \0&0&0& 17 &9& 16 \0&0&0&0& 30 & 28 \0&0&0&0&0&0&5\end{矩阵}\右) \enspace .$$这里的同余符号($\cong$)表示矩阵表示相同的二次型,即,直到斜对称矩阵的相加为止。换句话说,在将它们夹在$\mathbf{x}^\mathsf{T}$和$\mathbf{x}$之间之后,它们将产生相同的多项式。从最后的上三角矩阵中,我们可以读出多项式作为一个项和的表示,即$$ F_0 \circ \mathcal{T}(x_0,x_1,x_2,x_3,x_4,x_5) = 6x_0^2 + 16x_0x_1 + 27x_0x_2 + 16x_0x_3 + 9x_0x_4 + 6x_0x_5 + 29x_1^2 + 18x_1x_2 + 30x_1x_3 + 18 x_1x_4 + 25x_1x_5 + 12x_2^2 + 11x_2x_3 + 24x_2x_4 + 15x_2x_5 + 17x_3^2 +24x_2x_4+en19#++\\enspace .$$,这应该是通过应用于多项式表示的替换方法得到的相同结果。

还有一件事:避免将齐次二次多项式(即没有线性或常量项)与仿射变换(即常项) --反之亦然。换句话说,当你的秘密多项式是齐次的,你的秘密变换应该是线性的;当它们是非齐次的时候,它们应该是仿射的。这保证了当秘密多项式是齐次的时候,公共多项式是齐次的。

票数 2
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/57635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档