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

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

本文深入探讨了格密码中的关键概念,包括最短向量长度、格基正交化及其性质、最短向量长度下界证明、格点的离散性和格的连续最小值。通过详细的数学推导和解释,阐述了这些概念在格密码学中的重要地位和应用。

目录

前言

一. 格的最短向量

二. 格基正交化

2.1 基本理解

2.2 常用性质

(1)向量的正交性

(2)空间维度保持不变

(3)格基改变

(4)正交化的顺序

三. 最短向量长度下界

证明方法一:

证明方法二: 

四. 格点离散

 五. 格的连续最小值

总结


前言

最短的非零向量长度是格密码中的一个基本量(定义前提为非零向量,因为格中总包含零向量,其模长为0),通常使用代量\lambda_1表示。用格的观点来理解\lambda_1=r:以r为半径的球内的格,只能形成一维的格的延展空间,简单来讲就是这个球内只有一个格点。

铺垫欧几里得范数,又叫l_2范数,给定任意向量x定义为如下:

||x||_2=\sqrt{\sum x_i^2}

通过在格密码相关的论文中,||x||_2一般被简写为||x||。

其实还有l_1范数,定义为如下:

||x||_1=\sum|x_i|

l_\infty范数定义为如下:

l_\infty=max|x_i|

一. 格的最短向量

首先定义圆心为原点,半径为r的m维实心球的式子,如下:

\bar B(0,r)=\lbrace x\in R^m:\ ||x||\leq r\rbrace

对于秩为n的格\Lambda,其连续最小值定义为如下:

\lambda_i(\Lambda)=inf\lbrace r|dim(span(\Lambda\cap\bar B(0,r)))\geq i\rbrace

如下图表示了最小值和次小值的长度:

此定义表明了格的最短向量,次短向量,······的长度。

备注:格的连续最小值还跟维度相关,不能只理解为长度

在分析最短向量下界之前,需要理解格基的正交化(有的时候也叫做Gram-Schmidt正交化)。

二. 格基正交化

2.1 基本理解

给定n个线性独立的向量,把它们转化成n个正交的向量,这个过程就是线性代数中所谓的Gram-Schmidt正交化过程。先来看一个二维向量的例子:

保持向量b_1不变,也就是\tilde b_1=b_1,将向量b_2投影到向量b_1的正交子空间上,就可以形成\tilde b_2。教科书式的表达,我们也可以看一下:

Project each vector on the space orthogonal to the span of the previous vectors.

正交化的过程一般是按照顺序进行的,先b_1,再b_2接着一直往后。给定n个线性独立的向量b_1,b_2,\cdots,b_n,Gram-Schmidt正交化的计算公式如下:

注意j的取值代表i前面所有的向量,b_i垂直于\tilde{b_1},\tilde{b_2},\cdots,\tilde{b}_{i-1}的分量即为\tilde{b}_i。

2.2 常用性质

(1)向量的正交性

对任意i\neq j,都有:

\langle \tilde b_i,\tilde b_j\rangle=0

(2)空间维度保持不变

令span()代表向量形成的空间,则可得:

span(b_1,b_2,\cdots,b_i)=span(\tilde{b_1},\tilde{b_2},\cdots,\tilde{b}_{i})

(3)格基改变

注意向量正交化已经把格基改的面目全非,正交化后的格基已经不能形成原来的格点,看上面那张图就很清楚了。也就是向量\tilde{b_1},\tilde{b_2},\cdots,\tilde{b}_{n}不一定是格L(b_1,b_2,\cdots,b_n)的格基。

(4)正交化的顺序

通过正交化的公式不难看出,正交化的顺序很重要,所以这个过程中应该把格基矩阵看成序列而不是集合。因为序列是受顺序影响的,集合具有无序性。

既然格基的正交化会改变格点,那岂不是很难利用在格密码上?别急,把以上公式改成与标准正交基相关即可。

给定n个线性独立的向量b_1,b_2,\cdots,b_n,其中每个向量都属于m维度R^m,我们都知道标准正交基如下:

\frac{\tilde b_1}{||\tilde b_1||},\cdots,\frac{\tilde b_n}{||\tilde b_n||}

借助此理论,原始的格基可以表示为如下m行n列的矩阵:

其中\mu就是格基正交化公式中的那个\mu。

如果原始格满秩的话,也就是m=n,格基可以变成一个上三角的方阵。

三. 最短向量长度下界

若B为秩为n的格基,\tilde {B}代表对应的Gram-Schmidt正交化结果,那么最短向量长度满足如下不等式:

\lambda_1(L(B))\geq min ||\tilde{b_i}||>0

此处将用两种方法来证明该定理。

\lambda_1(L(B))与min ||\tilde{b_i}||均代表长度,所以肯定都大于0,这个好证明。接下来,我们把重心放在证明\lambda_1(L(B))\geq min ||\tilde{b_i}||上。

证明方法一:

任取x\in Z^n为整数非零向量,Bx即代表任意格点,我们只需要证明下列不等式恒成立即可:

||Bx||\geq min||\tilde b_i||

取j\in \lbrace 1, \ldots ,n\rbrace且x_j为下标最大的非零元素。我们把格点和正交化后的格基向量相乘,由此可得如下等式:

简单分析:

  • 第一个等号:格点=格基乘以整数组合
  • 第二个等号:向量正交的定义
  • 第三个等号:向量乘以向量等于向量长度的平方

对于任意的i<j,根据正交矩阵的理解,将正交矩阵的每一列都看成一个向量,都有如下向量相乘的结论:

<b_i,\tilde b_j>=0,\quad <b_j,\tilde b_j>=<\tilde b_j,\tilde b_j>

注意第二个等式,类似投影向量的理解。

根据向量相乘的结论,我们易得:

|\langle Bx,\tilde b_j\rangle|\leq ||Bx||\cdot ||\tilde b_j||

 最终可得:

||Bx||\geq |x_j|||\tilde b_j||\geq ||\tilde b_j||\geq min ||\tilde b_i||

到此,证明完毕。

证明方法二: 

根据线性代数矩阵分解的理解,我们可以把格基矩阵分解成一个标准正交基矩阵和另一个矩阵,令\bold{\hat{B}}代表标准正交基,也就是向量长度为1,我们可得如下分解(仅考虑满秩格):

从以上可以看出,在任何非零的组合中,最靠下的量最小的正值为\lVert \tilde{b}_i\rVert。

四. 格点离散

对于任意两个不同格点x,y,总存在\xi>0,满足\lVert x-y\rVert>\xi。通过定义名称易理解,格是一个离散的集合。

证明:

根据格点的定义,当x和y均为格点时,x-y也必定属于格点,那么现在有两种理解方式:

  1. x-y整体看成新的格点
  2. x-y看成两个向量相减,可以代表向量x与向量y之间的间隔

该间隔一定大于0,换句话说格点离散。总结如上分析,也就是:

 五. 格的连续最小值

格的连续最小值可以用格内某向量长度表示,对于任意的1\leq i \leq n,必定存在向量v_i\in \Lambda,使得\lVert v_i\rVert=\lambda_i(\Lambda)。

证明:

依据格的最短向量概念,半径为2\lambda_i(\Lambda)的n维球内仅包含有限个格点。依据\lambda_i的定义,球内必定包含长度为\lambda_i(\Lambda)的向量。

总结

格密码的发展简史如下:

18世纪到1982年,拉格朗日、高斯、闵可夫斯基、埃尔米特等科学家开始研究格点的数学性质。

1982年到1996年进入LLL密码分析与网络安全领域。LLL算法主要用于格基约化,为格密码的科学研究埋下了铺垫。

1996年到2005年第一代格密码开始出现,包含Ajtai96,AD97G, GH97。

2005年到2016年第二代格密码关注于实用化格密码算法,包含Regev0, GPV08, MP12, BLISS, NewHope, Frodo。

2016年至今,格密码开始不断标准化。

格签名重要论文简介1-GPV08 Craig Gentry and Chris Peikert and Vinod Vaikuntanathan,2008,Trapdoors for Hard Lattices and New Cryptographic Constructions,IACR链接 1主要贡献 使用原像采样的陷门函数 高效hash-and-sign数字签名方案 IBE 2技术综述 高斯采样算法 3签名方案 ... 阅读详情

相关推荐

格基约减算法全攻略:LLL与BKZ在密码分析中的实际应用与性能对比

本文深入解析了格基约减算法LLL与BKZ在密码分析中的核心原理与实战应用。通过对比两者性能,文章指出LLL算法适用于低维快速约减,而BKZ算法则通过调整块大小在质量与时间上取得平衡,是破解NTRU、LWE等格密码方案的关键工具。文中提供了算法调优指南和性能对比数据,帮助密码分析人员根据具体场景做出高效选择。

i1j2k的博客 657

格密码基础:详解最短向量问题(SVP)以及攻击算法

之前讨论过的闵可夫斯基第一定理表明:任何秩为n的格一定包含一个非零且长度不超过的向量已给出的证明过程实际上不够全面,并没有给出找到此最短向量的准确算法。当然,这其实是一个公开的问题,目前还没有完全准确的算法找到此最短向量。这也是格密码的最底层问题,如果有一天这个问题被解决了,那么格密码的大厦将轰然倒塌。今天我们来看下这个问题为何如此重要。为了讨论此类问题的计算复杂度,可以先定义下格的一种问题:最短向量问题,简写SVP。找出最短向量叫做计算SVP问题计算出最短向量长度:优化SVP问题。

forest_LL的博客 6598

从高斯到LLL:一个跨越180年的故事,看数学家如何一步步逼近‘最短向量’难题

本文追溯了从高斯到LLL算法的数学发展历程,揭示了数学家们如何逐步攻克‘最短向量’难题。高斯在19世纪提出的二维向量约化算法为现代格密码奠定了基础,而1982年Lenstra、Lenstra和Lovász提出的LLL算法则成为高维格问题的里程碑。文章还探讨了Schnorr的改进及抗量子时代的格密码应用,展现了数学理论如何演变为保护数字安全的关键工具。

weixin_30470643的博客 387

格密码的基础概念(1)

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

forest_LL的博客 1万+

格密码LLL算法:从理论到实践,如何逼近SVP难题

本文深入探讨了格密码中的LLL算法及其在解决最短向量问题(SVP)中的应用。从密码分析师的角度出发,详细解析了LLL算法的数学核心、实现步骤,并通过实战案例展示了其在破解低指数RSA加密和背包密码系统中的高效性。同时,文章也探讨了算法的局限性及改进方向,为密码学研究和实践提供了宝贵参考。

weixin_42524499的博客 159

UnityWebGL异常捕获全攻略:从报错提示到完美解决的3种配置方案

本文详细解析了UnityWebGL项目中异常捕获的三种核心配置方案:禁用异常、仅捕获显式异常以及完全捕获异常(无堆栈跟踪)。通过对比不同方案在构建体积、运行性能及错误信息详细度上的差异,帮助开发者根据开发、测试与发布阶段的不同需求,选择并配置最优的异常处理策略,从而有效提升WebGL应用的调试效率和线上稳定性。

5f4d3s2a1q的博客 397

格密码LLL算法:如何解决最短向量SVP问题(1)

前言 在本节中,提出一个解决最短向量(SVP)问题的算法。在1982年,此算法由A.K.Lenstra,H.W.Lenstra,Jr和L.lovasz提出,通常称之为LLL算法。 在1801年,Gauss曾给出一个解决二维空间的SVP算法。某种意义上,LLL算法可以看成解决多维空间SVP问题的算法。在1987年,Schnorr改进过LLL算法,将计算复杂性改进到。 一. LLL算法的应用 1. 在整数和有理数的范畴分解多项式,例如将分解成和。 2. 找到多项式方程足够精确的代数解,例如的输出解

forest_LL的博客 8395

瑞芯微RV1126B芯片实战:如何用3Tops NPU打造智能安防摄像头(附配置指南)

本文详细介绍了基于瑞芯微RV1126B芯片构建高性能智能安防摄像头的实战经验。文章深入剖析了其3Tops NPU与独立AI-ISP的协同优势,提供了从硬件选型、开发环境搭建、AI模型部署到系统调优的全流程配置指南,帮助开发者充分发挥芯片潜力,实现高效、稳定的智能视觉应用。

weixin_29281915的博客 442

格密码LLL算法:如何解决最短向量SVP问题(2)

一. 约化基 令为约化基,可得。当时,结论可化简为。 证明:

forest_LL的博客 4199

无刷电机控制避坑指南:六步换向 vs FOC的5个关键差异

本文深入对比了无刷电机控制中六步换向与FOC(磁场定向控制)的五大核心差异。从控制逻辑、性能表现、效率能耗、硬件成本到应用场景,详细解析了FOC如何通过矢量合成实现平滑的正弦波控制与更高效率,而六步换向则以低成本实现简单开关驱动。旨在帮助工程师根据项目需求,在性能、成本与复杂度间做出最佳选择。

weixin_29216957的博客 505

《PLECS仿真与实战:从建模到高端应用》-专栏文件目录

《PLECS仿真与实战:从建模到高端应用》是一本系统介绍PLECS电力电子仿真软件的实用指南。全书共10章,首先介绍软件安装与基础操作,包括RC电路仿真等入门内容;随后深入讲解各类电力电子电路的建模与仿真,涵盖整流、交交变换、直流变换、逆变等电路;最后探讨PWM控制建模和直流调速系统等高端应用。书中配有丰富的示例程序和波形分析方法,附录还包含电力电子器件、代码生成等实用资料。该书适合电力电子领域工程师和学生系统学习电路仿真技术。

540

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

KZ基的全称叫Korkine-Zolotarev格基,KZ基也被称之为最短的格基。接下来我们介绍什么是KZ基?给定任意秩为n的格,首先第一步寻找其最短的向量,记作,这个就是KZ基的第一个向量。格的扩展空间写做:将此扩展空间垂直投影于向量,形成一个子空间(subspace)。接着将格点投影于此子空间形成新的格点叫做,将此新的格中最短的格向量叫做。以上过程可直接抽象看成:接着寻找满足如下等式的向量:其中的取值如下:由此就可以确定原来的格的第二个格基。根据以上讨论我们发现。

forest_LL的博客 2027

基于毫米波雷达的智能风扇算法设计与实现

摘要:本文设计了一种基于毫米波雷达的智能风扇控制系统,采用FMCW雷达实现人体目标的精准检测与定位。系统通过距离FFT、速度FFT、CFAR检测和AoA估计构建完整的信号处理链路,并针对风扇叶片干扰设计了基于自相关函数的抗干扰算法。创新性地提出了人在开机、多人优先送风、摇头追踪等控制策略。研究采用MATLAB完成全链路算法仿真验证,并在STM32平台上实现实物系统。实验表明,该系统可实现0.15m测距精度和±60°方位角覆盖,有效解决了传统风扇的能源浪费和用户体验问题。本文提供了完整的MATLAB仿真代码和

huanghm88的专栏 403

从零开始理解格密码:Lattice基础概念与最短向量问题(SVP)实战解析

本文深入解析格密码(Lattice)的基础概念与最短向量问题(SVP),从数学定义到实战应用,帮助开发者理解后量子密码学的核心支柱。通过Python代码示例和算法剖析,展示如何在低维和高维空间中求解SVP,并探讨格密码在前沿加密技术中的应用与性能优化策略。

weixin_30823001的博客 364

【DeepSeek开发入门】DeepSeek API 开发初体验

在人工智能蓬勃发展的时代,DeepSeek作为一款功能强大的AI大模型,为开发者提供了丰富的接口和便捷的开发体验。本文将基于DeepSeek的几个关键接口,带你快速入门,开启DeepSeek开发的探索之旅。通过本文,你已经初步了解了DeepSeek开发中几个重要接口的使用方法,包括列出模型、对话补全和查询余额接口,以及开发过程中的常见问题及解决办法。这是你踏入DeepSeek开发领域的第一步。在后续的学习中,你可以深入研究模型的参数调优,探索不同模型在各种场景下的应用,如利用模型实现更复杂的推理对话功能。

寻道AI,探索AI无限可能! 2754

R语言生存分析之限制性立方样条分析:样条回归、和多项式回归有什么不同?是否存在非线性关系、限制性立方样条cox回归模型

R语言生存分析之限制性立方样条分析:样条回归、和多项式回归有什么不同?是否存在非线性关系、限制性立方样条cox回归模型

statistics+insight+vista+power 633

格密码基础:对偶格(超全面)

对偶格(dual lattice)也被称之为倒易格(reciprocal lattice)。原来满秩的格写做,其对偶格的定义如下:原来的格点和对偶格的任意(这两个字非常重要)格点相乘为整数即可。原来的格点如果为整数,那么对偶格里有可能会出现小数。此处代表n维实数空间,更准确来讲,对偶格应该在原来格的扩展空间内。那么对偶格更准确的定义,如下:对偶格的右上角经常带“*”,代表格的扩展空间。对偶格的重心在于,向量相乘为整数。当然,对偶格也是一种格,格的一些基本性质对偶格也具有。格和对偶格是成对出现的。

forest_LL的博客 2821

芒果YOLOv8改进52:主干Backbone篇之GhostNetV2:提出原创GhostNetV2 架构升级版:引入长距离注意力机制增强廉价操作,构建更强端侧轻量型骨干,打造高效轻量级检测器

长距离注意力机制增强廉价操作,打造轻量级检测器

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1609

从晶体结构到加密算法:用Python和NumPy直观理解格密码的数学基础

本文通过Python和NumPy直观解析格密码的数学基础,从晶体结构类比到加密算法实现。详细介绍了格的几何定义、行列式计算、Gram-Schmidt正交化等核心概念,并通过代码演示了最短向量问题(SVP)和最近向量问题(CVP)的求解难度,揭示了格密码在后量子时代的抗量子特性优势。

weixin_30790841的博客 456

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

格密码的基础概念(2)

前言 本节主要讨论闵可夫斯基提出的关于连续最小值的上界问题。为了简化分析过程,主要讨论满秩的格,将结果类推到非满秩的格也是同理可得。 一. BLICHFELD理论 对于任意满秩格和集合,满足,存在。满足。如下图所示: 证明: 将S平移到基本区中,若,则存在重合点。具体分析思路如下: ...

forest_LL的博客 2932

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

10、格密码-抗量子计算

格密码

安全学习笔记 6504

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

格密码学入门:从线性代数到LWE问题实战指南(附Python代码示例)

本文深入浅出地介绍了格密码学的基础知识及其在抗量子计算密码系统中的应用。从线性代数基础出发,详细讲解了格(Lattice)的数学定义、困难问题(如SVP和LWE)以及LLL格基约简算法,并通过Python代码示例展示了LWE加密系统的实现过程,为读者提供了从理论到实践的完整学习路径。

weixin_29066781的博客 208

【格密码】如何解决BDD问题

接下来介绍的算法最早由Klein提出,他将BDD问题的解码半径优化到了:其中k的范围如下:随机化的BDD算法的复杂度为:可以看到当k为常数时,该算法即为多项式时间复杂度。我们知道标准的串行干扰消除算法中会用到就近取整,这一步可以进行优化。

forest_LL的博客 1671

从高斯算法到BKZ 2.0:格基规约算法的实战演进与性能对比

本文系统梳理了格基规约算法从经典高斯算法、LLL算法到现代BKZ 2.0的演进历程。通过实战代码与性能对比,重点分析了BKZ 2.0在密码分析中的核心优化,如极限剪枝与启发式策略,并提供了针对不同安全需求与计算资源的算法选择指南。

palm99的专栏 954

格的基础知识

格是离散加法子群,由线性无关基向量的整数组合生成。逐次最小长度λₖ描述格中k个线性无关向量的最小长度序列,反映格在不同方向上的紧密程度。通过二维格实例(整数格、扭曲格、长方形格)说明λₖ的计算与几何意义。Minkowski定理揭示了最短向量与施密特正交化的关系,证明最短向量长度不小于正交基最小长度。文章最后列举格理论中的基本计算问题,包括最短向量问题(SVP)、最近向量问题(CVP)及其变种,以及堆积半径与覆盖半径的概念。

weixin_69312848的博客 845
上一篇: 格密码的基础概念(1)
下一篇: 基于LFSR的流密码的代数攻击
唠嗑!
唠嗑! 优质创作者: 信息安全技术领域 优质创作者: 信息安全技术领域
博客等级 码龄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、付费专栏及课程。

余额充值