格密码基础:最短格基与KZ基

格(Lattice)基础(一) 有关格的基础概念,和相关的格难题 阅读详情

目录

一. 介绍

二. 最短向量长度

三. GapSVP问题的困难性

四. 如何解决近似SVP问题

五. 推荐论文


一. 介绍

KZ基的全称叫Korkine-Zolotarev格基,KZ基也被称之为最短的格基。接下来我们介绍什么是KZ基?

给定任意秩为n的格\Lambda,首先第一步寻找其最短的向量,记作b_1,这个就是KZ基的第一个向量。

格的扩展空间写做:

span(\Lambda)

将此扩展空间垂直投影于向量b_1,形成一个子空间(subspace)。接着将格点\Lambda投影于此子空间形成新的格点叫做\Lambda',将此新的格中最短的格向量叫做c_2。以上过程可直接抽象看成:

接着寻找满足如下等式的向量:

b_i=c_i+\alpha_ib_1

其中\alpha的取值如下:

\alpha_i\in(-\frac{1}{2},\frac{1}{2})

由此就可以确定原来的格的第二个格基b_2。根据以上讨论我们发现\Lambda'的KZ基即为:

c_2,\cdots,c_n

利用迭代的思想便可以找到满足的n个格点,从这n个格点放在一起便形成了我们想要的KZ基,如下图:

二. 最短向量长度

以上讨论中的\Lambda'也是一个格,b_1是此格中最短的向量,所以肯定是一个格内的一个本原向量,简单解释就是其整数倍系数组合时最大公约数为1.KZ基的本质就是一组格基,那它有啥用呢?

接下来我们将介绍由Lagarias, Lenstra 和 Schnorr发现的一个有关最短格向量长度的一个定理。在格密码专栏中,我们已经介绍过了最短向量有一个下界,是用格基正交化的结论来衡量的,也就是:

min(||\tilde b_1||,\cdots,||\tilde b_n||)\leq \lambda_1(\Lambda)

同样的形式,我们今天来看一个很类似的结论:

两个结论写在一起便构成了最短格向量长度的上界与下界。

证明:

假定对偶格\Lambda^*的KZ基如下:

d_1,\cdots,d_n

其对应的原格基为:

b_n,\cdots,b_1

注意是逆序的。

对偶格基与原格基正交化后满足如下结论:

\tilde b_i=\frac{\tilde d_i}{||d_i||^2}

此时原定理相当于要证明:

min(||\tilde d_1||,\cdots,||\tilde d_n||)\leq \frac{n}{\lambda_1(\Lambda)}

备注:此处就是利用对偶格基向量长度为倒数

根据KZ基的定义,\tilde d_1是对偶格\Lambda^*中最短的向量,由此易得:

||\tilde d_1||\leq \frac{n}{\lambda_1(\Lambda)}

根据格基正交化理论,可得:

\tilde d_2=\pi_2(d_2)

该向量即为如下格的最短向量:

L(\pi_2(d_2),\cdots,\pi_2(d_n))

易得该格的对偶格即为:

L(b_2,\cdots,b_n)

很容易得该格是原来格\Lambda的子格,所以可得:

\lambda_1(L(b_2,\cdots,b_n))\geq \lambda_1(\Lambda)

由此可得:

以上我们利用迭代的性质证明了第1维和第2维符合定理,继续类推容易证明剩下的结论。

三. GapSVP问题的困难性

当近似因子为n时,GapSVP问题的输入为(B,d),输出包含两种情况。

情况1 Yes instance:

\lambda_1(L(B))\leq d

情况2 No instance:

\lambda_1(L(B))\geq nd

定理 GapSVP_n\in coNP

证明:

GapSVP问题的答案,通常我们叫witness是n个格向量,如下:

v_1,\cdots,v_n

该n个格向量需要组成格基L(B),并且如果满足如下:

min(||\tilde v_1||,\cdots,||\tilde v_n||)> d

此时GapSVP会输出No

证明如下:

如果最短格向量满足:

\lambda_1(L(B))\geq nd

那么上面定理中一定能找到这样的一组格基。

如果最短格向量满足:

\lambda_1(L(B))\leq d

那么可运算得:

此时则找不到对应的witness

此时证明完毕,近似GapSVP问题是CoNP类。

其实可以类推,当近似因子为\sqrt n时,GapCVP和GapSVP均为CoNP类。

四. 如何解决近似SVP问题

格密码专栏已经介绍过Minkowski定理,对任意的最短格向量的长度,均满足:

\lambda_1(\Lambda)\leq \sqrt n(det(\Lambda))^{\frac{1}{n}}

在很多网络安全的应用时,我们需要进一步缩小这个界限。如果我们能找到一个格向量的长度为\sqrt n(det(\Lambda))^{\frac{1}{n}},那么我们就可以解决近似因子为n的SVP问题,来看一个定理:

定理:

给定一个格基B,如果存在一个算法A能找到一个非零的格向量,也就是:

v\in L(B)

该格向量的长度满足:

||v||\leq f(n)\cdot(det(L(B)))^{\frac{1}{n}}

其中f(n)要求不是递减函数,那么借助该算法我们就可以解决近似因子为(f(n))^2的SVP问题。

证明:

对格L(B)和对偶格L(B)^*分别运用算法A,可得:

u\in L(B)\quad v\in L(B)^*

使其满足:

||u||\leq f(n)\cdot(det(L(B)))^{\frac{1}{n}}

||v||\leq f(n)\cdot(det(L(B)))^{-\frac{1}{n}}

两者长度相乘可得:

||u||||v||\leq (f(n))^2

接下来的证明需要再利用一个推论。

先来看该定理形式化的表达:

证明:

证明的主题思想是迭代法(recursive)与KZ基。

对于任意给定的格,输出格\Lambda中的n个非零向量:

u_1,\cdots,u_n

输出对偶格\Lambda^*中的一个格基:

v_1,\cdots,v_n

具体过程如下:

根据如上算法A,先获得格向量u_1,接下来获得格向量v_1,将其表示成:

v_1=\sum a_ib_i

如果发现其系数的最大公因子不为1的话,则运算:

v_1/gcd(a_1,\cdots,a_n)

由此便可以得到本原格向量v_1

将对偶格点垂直投影于向量v_1,将新的格记为\Lambda'。然后迭代操作,使其满足:

v_i=v_i'+\alpha_iv_i

其中:

\alpha_i\in(-\frac{1}{2},\frac{1}{2})

不要忘记v_i\in \Lambda^*。由此不断迭代操作,便可以获得:

u_2,\cdots,u_n\quad v_2,\cdots,v_n

根据以上运算过程,对偶格\Lambda^*的格基既是:

v_1,\cdots,v_n

并且每轮迭代时,都满足函数关系:

||u_i||||v_i||\leq g(n-i+1)\leq g(n)

根据对偶格的性质,可得如下:

换种表达的形式可得:

根据以上便可以解决近似因子为g(n)的SVP问题。

五. 推荐论文

(1)解释格困难问题的NP与coNP

D. Aharonov and O. Regev. Lattice problems in NP intersect coNP. In Proc. 45th Annual IEEE Symp. on Foundations of Computer Science (FOCS), pages 362–371, 2004.

(2)解释KZ基与最短格基

J. C. Lagarias, H. W. Lenstra, Jr., and C.-P. Schnorr. Korkin-Zolotarev bases and successive minima of a lattice and its reciprocal lattice. Combinatorica, 10(4):333–348, 1990.

(3)更高端的BKZ 2.0算法

Y. Chen, P.Q. Nguyen, BKZ 2.0: Better lattice security estimates. AdvancesinCryptology– ASIACRYPT 2011, Lecture Notes in Computer Science, vol. 7073(Springer,Berlin, 2011), pp.1–20

格签名相似概念区分: SVP、SIS、LWE的区分 参考. 格的困难问题: 最短向量问题 (Shortest Vector Problem, SVP). SVP 问题定义为:对于给定的格Λ\LambdaΛ ,找到一个非零的格向量v\bold vv ,使得对于任意的非零向量u∈Λ\bold u \in \Lambdau∈Λ,∣∣v∣∣≤∣∣u∣∣||\bold v||\le||\bold u||∣∣v∣∣≤∣∣u∣∣。 类似问题有: 近似最短向量问题aSVP(Approximate Shortest Vector Problem) 唯一最短向量问题 (Uni 阅读详情

相关推荐

格基规约算法:算法详解

本文详细了介绍原始格基规约算法,并简单介绍目前对算法的改进。这些改进算法非常实用,被广泛应用于密码分析中。

su1yu4n's Blog 1万+

格密码:困难问题(LWE,SIS,SIVP,BDD,GapSVP)

格密码中有一个原语叫做multilinear map,常应用于code obfuscation,这个领域出现了非常多新设计的困难问题。但这些困难问题有一个致命的弱点,暂时不能实现最坏情况和一般情况的安全归约,所以不被一些密码学家承认。但这其实是一个常见的发展路径,早些年全同态依赖的困难问题也是特殊设计的,只是后来不断发展后可归约到标准的LWE/RLWE困难问题。所以,本文章尝试梳理格密码论文中常用的困难问题之间的关系。具体对问题的解释可以看我之前的博客。SIS短整数解问题SVP最短向量问题。

forest_LL的博客 4553

格基规约算法:从高斯到BKZ 2.0的演进与实战密码分析

本文深入探讨了格基规约算法从高斯算法到BKZ 2.0的演进历程及其在密码分析中的实战应用。详细解析了LLL算法和BKZ算法的核心原理与优化策略,并通过实际案例展示了如何利用这些算法高效破解GGH加密和优化RSA侧信道攻击。文章还提供了算法选择与参数调优的实用指南,帮助读者掌握格基规约技术在密码分析中的关键应用。

weixin_30879169的博客 376

GSW(2)Preliminaries

1.LWE问题和GapSVP LWE问题是被Regev[Reg05]所提出。 定义1(LWE) 对于安全参数,令是整数维度,是整数,是在上的分布。问题是去区分下面两个分布:在第一个分布,均匀抽样。在第二个分布中,首先均匀取出(均匀选取),之后取样,其中(均匀选取),设置。假设是问题是无解的。 有时这是合适的去把向量看作为矩阵的行,重新定义为。然后,要么矩阵是均匀的,要么存在一个第一项系数为1的向量使得,这里的系数来自分布。 对于格维度参数为和数,问题是区分是否一个维格有一个向量短于或者没有向量短于。

weixin_58331078的博客 732

34、格与密码学:NTRU 与格规约算法解析

本博客深入探讨了基于格的密码系统NTRU及其与格规约算法的关系。首先介绍了NTRU密码系统的基本结构及其与格的内在联系,分析了其解密密钥的概率特性,并详细定义了NTRU格及其关键性质。随后,讨论了NTRU格的安全性,强调其安全性依赖于求解最短向量问题(SVP)的难度。接着,系统介绍了多种格规约算法,包括二维高斯格规约、LLL算法及其推广(如深度插入方法和基于Korkin-Zolotarev约化基的变体),并比较了不同算法的性能和适用场景。最后,总结了NTRU与格规约算法的重要性,并指出未来研究方向。

z5a6b的博客 204

35、格与密码学:LLL算法的应用与分析

本文深入探讨了LLL算法及其变体BKZ-LLL在格密码学中的应用。从理论基础到实际操作,详细分析了LLL算法如何被用于破解多种基于格的密码系统,包括同余密码系统、背包公钥密码系统、GGH密码系统以及NTRU密码系统。通过具体示例展示了如何将密码问题转化为格问题,并使用格约化技术找到解决方案。此外,文章还提供了多种相关练习,帮助读者加深对格密码学与LLL算法在密码分析中作用的理解。

cake8的博客 172

格密码:如何找最近的格点(CVP问题)

本文章将解释如何利用随机取整算法(randomized rounding)来找最近的格向量(closest lattice vector),其中最近指的是欧几里得范数(Euclidean norm)最小。将该问题总结如下:给定格基,给出任意向量x(不在格点上),如何采用启发式算法大概率找到离其最近的格点?

forest_LL的博客 1916

【信息科学与工程学】【数据中心】 第十一篇 人工智能智算中心整体设计102 第一章:集合、测度与概率空间——智算云数据中心的数学基石 01

定义 1.4.1(测度)​设 Ω 是一个集合,F 是 Ω 上的 σ-代数。映射 μ:F→[0,∞] 称为测度非负性:对任意 A∈F,μ(A)≥0;空集为零:μ(∅)=0;可数可加性:对于一列两两不相交的集合 {Ai​}⊂F,有智算云映射计数测度(Counting Measure):μ(A)=∣A∣。用于统计活跃连接数、队列长度。Lebesgue 测度:用于度量连续资源,如“带宽占用区间 [t1​,t2​] 的长度”。资源容量测度。

weixin_49199313的博客 26

格密码6:Gauss 格约化算法和 LLL 格约化算法

《An Introduction to Mathematical Cryptography》格密码学一章学习6:2维格的 Gauss 格约化算法,LLL 格约化算法

Jason_Cheng667的博客 1518

【信息科学与工程学】【数据科学】数据科学领域——第十篇 代数 02

例如,对同一三角形上的自作用,设局部坐标 (u,v)和 (u′,v′),变换 u′=u+ξ(1−u),v′=v+η(1−v),雅可比行列式包含因子 (1−u),抵消 1/R 奇异性。:函数 f(x1​,...,xn​)是对称的,如果对任意置换 π,有 f(x1​,...,xn​)=f(xπ(1)​,...,xπ(n)​)。:系统的哈密顿量为 H(t)=H0​+∑j=1m​uj​(t)Hj​,其中 H0​是漂移哈密顿量,Hj​是控制哈密顿量,uj​(t)是控制场。:从模 q 切换到更小的模 q′≈q/t。

weixin_49199313的博客 73

[Stanford CS217]CUDA中矩阵乘法GEMM优化的最关键点:向量内积和向量外积分别取行和取列

对于矩阵C中的每一个tile,矩阵A与矩阵B中的tile只需要读取一次,这样就可以达到 O(N) 的计算强度。理想情况下性能应当受限于算术吞吐量,确切来说对于一个大型方阵,即 M=N=K ,矩阵乘法的数学操作复杂度为 O(N3) ,而数据量为 O(N2) ,同时计算强度为 N (这里的计算强度可以被理解为同一个数据被重复利用的次数)。GEMM就是指计算 C=A∗B+C ,其中 A 、B和C都是矩阵,A是 M×K 的矩阵,B是 K×N 的矩阵, C是 M×N 的矩阵。这就是向量内积和向量外积的最大区别。

weixin_55035144的博客 1425

格密码的基础概念(1)

格密码的基础概念前言一.格的定义二. 格的延展空间三. 格的基本区四.格基的判断定理五. 格基的关系六. 格基的变换七. 格的行列式八. Gram-Schmidt正交化结论 前言 首先引入数学上的一个概念“格点”。怎么定义格点呢?格点是n维空间中的一组具有周期性结构的点,如下图所示(二维空间的“格”)。三维空间的“格点”可以出现在一些晶体中,就像一堆整齐叠放的橘子。历史上,从18世纪末开始,拉格朗日、高斯以及后来的闵可夫斯基等数学家已经开始研究“格”这个概念。 近几年,“格”已经成为计算机科学领域中研究

forest_LL的博客 1万+

寒武纪AI芯片业务解析:从云端到边缘,如何布局智能计算未来?

本文深入解析了寒武纪在AI芯片领域的业务布局,重点探讨了其从云端到边缘的智能计算战略。文章分析了寒武纪云端“思元”系列芯片如何作为数据中心的高性能计算基石,以及思元220等边缘芯片如何满足碎片化场景的低功耗实时处理需求。同时,也阐述了其IP授权业务模式与技术生态构建,揭示了寒武纪在激烈市场竞争中,通过软硬件全栈方案布局智能计算未来的核心路径。

weixin_29271053的博客 400

格密码1(Lattice-based Cryptography)背景

格密码第一部分,介绍背景以及相关的数学定义。

woaicsdnclover的博客 2913

WPF基础系列六:MVVM框架

MVVM框架 文章目录MVVM框架前言一、MVVM框架简介1. 什么是MVVM?2. MVVM的优势3.MVVM的应用场景二、MVVM使用及示例 前言 在WPF开发中,经典的编程模式是MVVM,是为WPF量身定做的模式,该模式充分利用了WPF的数据绑定机制,最大限度地降低了Xmal文件和CS文件的耦合度,也就是UI显示和逻辑代码的耦合度,如需要更换界面时,逻辑代码修改很少,甚至不用修改。 与WinForm开发相比,我们一般在后置代码中会使用控件的名字来操作控件的属性来更新UI,而在WPF中通常是通过

iceberg7012的博客 2万+

CANoe进阶实战(第十一章)-LIN节点测试调度

《CANoe快速入门实战:LIN节点调度开发》摘要 本文是CANoe系列教程的第十一章,重点讲解如何通过CAPL编程实现LIN报文的灵活调度控制。文章采用"输入-输出-过程"三步骤法,详细介绍了调度表函数linChangeSchedTable()、启动/停止函数linStartScheduler()/linStopDisturbance()等关键API的使用方法。作者创新性地通过系统变量在Test节点间接控制Network节点的调度功能,并提供了完整的节点代码实现方案。最后的Trace窗

weixin_53605885的博客 1022

格密码基础:q-ary格

接着我们可以借助此性质对q-ary垂直格的矩阵A进行扩展,形成新的q-ary垂直格。今天,可以从抽象代数的角度理解格点:m维的格。这个定理的证明需要用到很多线性代数的基础,如果有人感兴趣,后期再补上吧。格密码的基础是研究格点上的困难问题,这种格点使用抽象代数的观点则是。右边代表对矩阵A的变换,看q-ary格的原始定理可直接列出。(在非满秩情况下,格的维度比最大的维度要小)。当然,正常情况下,研究格密码的论文大多是满秩格,也就是常说的。这个是从格点的角度看对偶格,还可以从格基的角度出发。(注意矩阵H的顺序)

forest_LL的博客 2981

【学习笔记】人群归因分数 PAF 以及combined PAF(更新)

在此推荐2篇发表在lancet以及jama子刊上的paf文章,这两篇文章套路是一样的,只是在不同国家进行。希望对大家学习PAF有所帮助,后面有新内容也会继续分享,也欢迎大家分享使用R语言计算PAF的经验~~~的时候,先建立了相关矩阵,再做主成分分析,得到communality。详细信息大家可翻阅原文。

weixin_53499537的博客 1496

格密码中的困难问题

本文章主要关注SVP问题的变式,以及它们的关系。其中包含SVP问题,GapSVP问题,uSVP问题。以及旋转格上这些困难问题的理解。

forest_LL的博客 2156

【电路设计】带阻滤波器实战:从理论到Twin-T陷波电路实现

本文详细介绍了带阻滤波器的原理与Twin-T陷波电路的实战应用,从基础概念到工程实现全面解析。通过具体案例展示如何设计高Q值滤波器,解决电源噪声等实际问题,并分享PCB布局和元件选型的实用技巧,助力工程师提升电路设计能力。

gg901的博客 1011

编写python脚本调用ordinals以及BRC20的接口

1、钱包地址生成walletreceive,对应ord命令:ord wallet receive。6、测试手动出块generate,这个只在regtest链节点用得上。所有接口都是post请求,采用postman进行测试。4、测试bitcoin转币sendtoaddress。7、测试其他的wallet方法wallet。2、钱包币种铭刻inscription,对应bitcoin-cli命令。对应bitcoin-cli命令。对应bitcoin-cli命令。fee.json文本模板。还可以加很多根据需要加减。

云深海阔专栏 1047

格密码初学笔记

@格密码学习笔记 从初学到脱发 格的基础知识 定义1: 格(Lattice) 给定nnn个线性无关向量b1,b2,…,bn∈Rmb_1,b_2,\dots, b_n\in \mathbb{R}^mb1​,b2​,…,bn​∈Rm,由该组向量产生的格被定义为, L(1,b2,…,bn)={∑xibi∣xi∈Z}\mathcal{L}(_1,b_2,\dots, b_n)=\{\sum x_ib_i|x_i\in\mathbb{Z}\}L(1​,b2​,…,bn​)={∑xi​bi​∣xi​∈Z} 我们通常将向

qq_39290054的博客 2646

TIP 2024 | 跨类与跨域语义增强用于域泛化

域泛化方法旨在通过多样化的源域帮助开发一个在未知目标域上表现良好的通用模型。数据增强已被证明是增强计算机视觉中域泛化的有效方法。最近,基于语义级别的数据增强取得了显著成果。然而,这些方法主要集中在从类内和域内采样语义方向,限制了源域的多样性。为了解决这个问题,作者提出了一种新的方法,称为跨类与跨域语义增强(CDSA)。首先,作者引入了一种基于采样的方法CrossSmooth,从跨类中获取语义方向。然后,CrossVariance通过采样语义方向获取不同域的样式。

小白学视觉 210

格密码学重要概念: 格基委派技术

简介1: 通过盆栽树技术(Bonsai Trees)实现格基委派技术,从而实现多层次的基于身份的密码技术。(Hierarchical Identity-Based Encryption) David Cash2010,Bonsai Trees, or How to Delegate a Lattice Basis∗ ↩︎

qq_44775134的博客 1391

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

格密码基础:最短向量与格基正交化

最短的非零向量长度是格密码中的一个基本量(定义前提为非零向量,因为格中总包含零向量,其模长为0),通常使用代量表示。用格的观点来理解:以r为半径的球内的格,只能形成一维的格的延展空间,简单来讲就是这个球内只有一个格点。铺垫欧几里得范数,又叫范数,给定任意向量x定义为如下:通过在格密码相关的论文中,一般被简写为||x||。其实还有范数,定义为如下:格密码的发展简史如下:18世纪到1982年,拉格朗日、高斯、闵可夫斯基、埃尔米特等科学家开始研究格点的数学性质。

forest_LL的博客 2622

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 信道容量与信道编码定理
下一篇: 格密码基础:详解LWE问题
唠嗑!
唠嗑! 优质创作者: 信息安全技术领域 优质创作者: 信息安全技术领域
博客等级 码龄5年 3万+粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值