目录
前言
在多变元公钥密码系统中,Matsumoto-Imai密码系统(MI)是在其发展过程中一个很重要的组成部分。1988年,Matsumoto和Imai提出了一种新的设计多变元公钥密码系统的数学思想,其思想利用了的向量空间与隐藏的域结构。且利用了k的一个大的扩域上的映射作为变换的基础。前提需要构造一个有限域k,利用一个n级不可约多项式将k扩张到n维空间向量上。
和之间是标准的k-线性同构,此种同构映射可用来构建两个不同空间之间的联系。寻找在向量空间上的可逆映射,可以转化为寻找在k向量空间扩域K上的可逆映射,K是k的n级扩张,也就是K可以看成k上n维向量空间。相反过程求可逆映射也是对的。
一. MI密码系统的发展历程
MI和就是基于前言中所述的方法构建出来的公钥密码系统,由于它们在实际应用中的高效率和潜力,吸引了密码界许多学者的高度关注。事实上,MI密码系统还被提交为日本政府的安全标准的一个候选算法,不幸的是,在最后一轮的筛选前,MI系统就被Jacques Patarun使用代数攻击的方法破解了,利用的思想是有关线性方程的。这一破解方法利用了MI密码系统中所隐含的特定代数结构。
在MI密码系统被破解后,很多人都以为MI密码系统的发展将会受到很大的限制,有趣的是,后来的事实证明并非如此。一个原因是MI密码系统代表着一个数学观点的突破,一个全新的数学思想。这给公钥密码领域的研究带来了蓬勃朝气,引来了更深入的研究和广泛的拓展。
另一个原因是有许多基于MI密码系统而发展起来的新安全系统不断涌现,包含Sflash签名方案。在由NESSIE发起的新的欧洲签名、数据完整性和加密方案项目中,经过重重选拔,此思想在2004年被接受为通过最后筛选的方案之一,应用主要集中于低配置的智能卡。
以下将会介绍单支MI密码系统,Patarin对MI密码系统的分析思想,以及相关攻击和安全性分析。
二. 构建Matsumoto-Imai系统结构
给定k是一个特征为2的有限域,它的元素个数为。任取是n级不可约多项式,进一步定义域为k的一个n级扩张。
设是在和之间自然k线性同构,定义如下式子:
K的子域以自然的方式在中嵌入,如下:
当然,如果把k看成K的一个子域,上式子中的就是k-线性映射,取,且满足如下式子:
上式子中的q是有限域k的元素个数。
定义K上的映射,如下:
如果存在t满足下列式子,则是一个可逆的映射:
所以可以定义映射,如下:
假定F为上的映射,定义为如下:
上式子中。
引入和是上可逆的仿射变换。定义上的映射如下:
上式子中。将上述中所有的映射变换形成一张框架图,如下:
三. 公私钥与加密解密
3.1 公钥
MI密码系统的公钥包含以下两项:
(1)有限域k以及域上的加法和乘法运算
(2)n个二次多项式,
3.2 私钥
MI密码系统的私钥包含两个可逆的仿射变换和。参数是否保密对整个加密系统影响不大。由于可以选择的个数少于n,而且n也不会太大,所以是否隐藏对破解攻击的复杂度通常影响不会太大。
3.3 加密过程
给定明文,相对应的密文为,每一个加密的密文可定义为如下式子:
由于公钥对任何人都是可见的,所以大家都可以对明文进行加密。
3.4 解密
通过下面的过程对密文进行解密:
通常的项的次数非常高,因此实际对密文的解密过程有如下三个步骤:
(1)首先计算;
(2)然后计算;
(3)最后计算
理论上讲,只有能够得到私钥的人才能执行解密过程,此MI密码系统才是安全的。加密和解密的基本流程图可见如下:
四. 公钥多项式的次数
映射F是由上的多个多项式构成的。实际上,由于把变量看成有限域k上的明文信息比特,将取定在以下到的多项式环上的最小总次数的代表元,如下:
为了记号使用方便,用代替。除非特意标注,否则不会用代替k上的的多项式环。同理,表示K到K的多项式环。为了简化分析,将用代表。
现在开始讨论的次数与次数的关系。
K映射,是有名的Frobenius映射。实际上,这些映射的集合恰好是Galois群,群环是K上k-线性映射的集合。由此,可得对,都有是上的k线性映射,每个的分量多项式在上总次数为1。
为了更好地研究的次数和各分量多项式总次数的关系,定义单项式的q-汉明重量次数是e以q进制展开的系数的总和,也就是e的q-汉明重量。函数的q-汉明重量次数是的各单项式q-汉明重量次数的最大值。以上讨论的e均满足。
假定函数的q-汉明重量次数为d,那么各分量多项式的总次数也为d。特别地,由于的q-汉明重量次数为2,也就是每一个的总次数为2。由于和是可逆的仿射变换,所以每一个的总次数也为2。