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

news2024/12/25 11:08:19

目录

一. 介绍

二. 最短向量长度

三. 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394931.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Python安装库时出现的Requirement already satisfied问题

uirement already satisfied的问题当我们用pip install 库名时,出现了下面 Requirement already satisfied WARNING: Ignoring invalid distribution -ip 的问题 对于这样的问题,解决办法就是在 pip install 后加 - -target你所要添加的库文件地址(注意…

网络知识梳理:HTTP和HTTPS

HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是两种用于在互联网上传输数据的协议,主要用于网页浏览。它们在功能上相似,但在安全性方面有重要区别: 1.HTTP 定义:HTTP是一种用…

Flutter编译报错Connection timed out: connect

背景:用Android Studo 创建了Flutter项目,编译运行报错java.net.ConnectException: Connection timed out: connect 我自己的环境: windows11 Android Studio Flutter 截图如下: 将错误日志展开之后: Exception…

小白准备蓝桥杯之旅(c/c++b组)

前言:省赛获奖比例高达百分之60,只要比一半的人努力,你就能大概率获奖。 寒假做的3件事 1.稳基础 熟练掌握基础语法部分,c比c多个stl库优势,c语言的同学需要会实现c中stl库部分 2.刷真题 大概比赛前30天,坚持每天做…

SD-WAN解决跨国公司海外工厂网络安全问题

在跨境业务蓬勃发展的今天,越来越多的大型企业出于人力成本的考虑,在人力成本较低的发展中国家建立工厂。然而,传统基于路由器的网络架构已无法为这些跨国企业提供可靠的安全网络。那么,如何解决跨国企业海外工厂的网络难题呢&…

JAVA基础-----认识异常

文章目录 1. 异常的概念与体系结构1.1 异常的概念1.2 异常的体系结构1.3 异常的分类 2. 异常的处理2.1 防御式编程2.2 异常的抛出2.3 异常的捕获2.3.1 异常声明throws2.3.2 try-catch捕获并处理2.3.3 finally 2.4 异常的处理流程 3. 自定义异常类 1. 异常的概念与体系结构 1.1…

JavaWeb:Request Response

文章目录 1、Request和Response的概述2、Request继承体系3、Request获取请求数据3.1、获取请求行数据3.2、获取请求头3.3、获取请求体 4、Request通用方式请求参数5、POST请求参数乱码解决6、Request请求转发7、Response的响应状态码和响应头8、Response重定向9、Response响应字…

关于linux 救援模式出现xfs 文件系统挂载报 bad supperblock

关于linux 救援模式出现xfs 文件系统挂载报 bad supperblock 一种情况说明 挂载ISO文件进入救援模式,无法挂载XFS文件系统,xfs_repair也是报未知的超级块 使用 xfs_info 可以取到 xfs文件系统分区信息 xfs_db -c “sb 0” -c “p” $your_xfs_dev 也能…

2024年【建筑电工(建筑特殊工种)】考试报名及建筑电工(建筑特殊工种)免费试题

题库来源:安全生产模拟考试一点通公众号小程序 建筑电工(建筑特殊工种)考试报名是安全生产模拟考试一点通总题库中生成的一套建筑电工(建筑特殊工种)免费试题,安全生产模拟考试一点通上建筑电工(建筑特殊工种)作业手机同步练习。2024年【建筑电工(建筑特…

HarmonyOS 转场动画 ForEach控制

本文 我们继续说组件的专场特效 上文 HarmonyOS 转场动画 我们通过if控制了转场效果 本文 我们通过 ForEach 控制它的加载和删除 这时候就有人会好奇 ForEach 怎么控制删除呢? 很简单 循环次数不同 例如 第一次 10个 第二次 5个 那么后面的五个就相当于删除啦 我们…

ubuntu开放ssh服务

📑前言 本文主要是【ubuntu】——ubuntu开放ssh服务的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一…

由于找不到d3dcompiler_43.dll缺失,无法打开软件的解决方法分享

d3dcompiler43.dll是什么文件?为什么会出现丢失的情况?又该如何解决呢?本文将详细介绍d3dcompiler43.dll的作用和影响,并提供6个有效的解决方法。 一、d3dcompiler43.dll是什么文件? d3dcompiler43.dll是DirectX SDK…

Linux网络--- SSH服务

一、ssh服务简介 1、什么是ssh SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在…

linux 更新镜像源

打开终端,备份一下旧的 源 文件,以防万一 cd /etc/apt/ ls sudo cp sources.list sources.list.bak ls然后打开清华大学开源软件镜像站 搜索一下你的linux发行版本,我这里是ubuntu发行版本 点击这个上面图中的问号 查看一下自己的版本号&a…

Docker之nacos的安装和使用

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《Docker之Dockerfile构建镜像》。🎯&…

推荐 10 个基于 Stable Diffusion 的 AI 绘画网站

在当今快速发展的人工智能领域,AI 绘画已经成为一个不可忽视的趋势。特别是基于 Stable Diffusion 技术的 AI 绘画工具,以其强大的图像生成能力和丰富的创意潜力吸引了众多艺术家和设计师的目光。对于那些热爱艺术创作,但又缺乏专业绘画技巧的…

滚动菜单ListView

activity_main.xml <include layout"layout/title"/> 引用上章自定义标题栏 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app&qu…

拿出最少数目的魔法豆

说在前面 &#x1f388;不知道大家对于算法的学习是一个怎样的心态呢&#xff1f;为了面试还是因为兴趣&#xff1f;不管是出于什么原因&#xff0c;算法学习需要持续保持。 题目描述 请你从每个袋子中 拿出 一些豆子&#xff08;也可以 不拿出&#xff09;&#xff0c;使得剩…

【学习总结】动力学方程的龙格库塔积分法(含具体例子与代码)

本文仅用于个人学习总结&#xff0c;如有错误请批评指正。 参考资料 徐超江等&#xff0c;常微分方程基础教程&#xff0c;高等教育出版社&#xff0c;2023年。 1、欧拉法 1.1 前向欧拉 欧拉积分部分不用展开介绍&#xff0c;较为简单。直接拍照课本。 1.2 梯形法/隐式格式…

WebX代码和接口文档自动生成器

朋友最近自己搞了一个代码和接口文档自动生成平台WebX。大家有兴趣可以体验一下。 平台介绍地址&#xff1a;WebX平台