Lattices and Cryptography(格理论与密码学)

本文概述了格理论在密码学中的应用,包括同余密码体系和背包密码的解析,以及SVP、CVP问题的介绍。文章还讨论了Hermite's Theorem和Minkowski's Theorem在确定格中最短向量长度上的作用,以及Gaussian Heuristic和Babai's Algorithm在解密过程中的角色。此外,文章提到了GGH和NTUR两种基于格的密码系统,探讨了它们的安全性和破解策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是阅读 Introduction of Mathematical Cryptography Second Edition 一书中关于格密码一章的Review,只讲述简单的总结,具体内容请翻阅该书的第七章(下文中大部分图片均来自此书)

同余密码体系与背包密码

同余(Congruence)密码 流程如下,可以看做一个低维的格密码,破解该种密码可以相当于找一个向量,这个向量就是私钥
在这里插入图片描述
在这里插入图片描述
将上面这个问题用向量的形式写出来,就是要找一个 a 1 , a 2 ∈ Z a_1,a_2\in \mathbb{Z} a1,a2Z来找到一个小的向量,如下面的表达式所示
L = { a 1 v 1 + a 2 v 2 : a 1 , a 2 ∈ Z } L=\{a_1v_1+a_2v_2:a_1,a_2\in\mathbb{Z}\} L={ a1v1+a2v2:a1,a2Z}
使用格理论可以解出。
背包密码 (Knapsack Cryptosystem)关注于背包问题,一个简单的例子是Subset-sum problem,在这一章里作者举出了Merkle-Hellman subset-sum cryptosystem作为例子,如下所示:
在这里插入图片描述
要破解这个密码系统,我们要根据密文S获得明文 x \boldsymbol{x} x,就是说找到一个 x = ( x 1 , … , x n ) \boldsymbol{x}=\left(x_{1}, \ldots, x_{n}\right) x=(x1,,xn) ,使得 S = x 1 m 1 + x 2 m 2 + . . . + x n m n S=x_1m_1+x_2m_2+...+x_nm_n S=x1m1+x2m2+...+xnmn,将问题转换为下面的向量问题:
v 1 = ( 2 , 0 , 0 , … , 0 , m 1 ) v 2 = ( 0 , 2 , 0 , … , 0 , m 2 ) ⋮ v n = ( 0 , 0 , 0 , … , 2 , m n ) v n + 1 = ( 1 , 1 , 1 , … , 1 , S ) \begin{array}{c} {\boldsymbol{v}_{1}=\left(2,0,0, \ldots, 0, m_{1}\right)} \\ {\boldsymbol{v}_{2}=\left(0,2,0, \ldots, 0, m_{2}\right)} \\ {\vdots} \\ {\boldsymbol{v}_{n}=\left(0,0,0, \ldots, 2, m_{n}\right)} \\ {\boldsymbol{v}_{n+1}=(1,1,1, \ldots, 1, S)} \end{array} v1=(2,0,0,,0,m1)v2=(0,2,0,,0,m2)vn=(0,0,0,,2,mn)vn+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值