【格密码基础】基于LWE问题的密码系统

目录

一. 介绍

二. LWE密码方案简单介绍

三. LWE经典归约

四. LWE性质

五. LWE的鲁棒性


一. 介绍

在2005年,Regev基于LWE问题提出了一个新的公钥密码方案。该方案可实现语义安全(semantic security),其中误差率(error rate)为:

\alpha=\tilde \Omega(1/\sqrt n)

其安全性可利用量子算法归约到近似GapSVP和SIVP问题,其中近似因子取:

\gamma=\tilde O(n^{3/2})

该方案借鉴了两个工作,一个是1997年Ajtai-Dwork的工作,一个是2003年Regev的工作。但相比之下有两大优点比较突出。

优点1:一般性(generality)

该方案依赖的最坏(worst case)情况是近似GapSVP和近似SIVP问题。在网路安全领域,还有一个问题叫近似unique-SVP问题,有时也简称为uSVP问题。该问题的结构性太强了,不太适合进行归约证明困难性。

优点2:效率更高

有关密码方案的效率,我们关注很多方面,比如公钥尺寸,以前的方案公钥尺寸是\tilde O(n^4),该方案是\tilde O(n^2)

每次加密一个明文比特,私钥和密文的尺寸是一样的为:

\tilde O(n)

相比以前的方案是:

\tilde O(n^2)

如果将该方案推广到多用户,情况则变得很有意思。2005年,Ajtai指出可以利用密码方案来实现公共随机性共享,但很遗憾还不能证明其符合最坏情况的安全性。如果此过程能实现的话,那么所有用户共享的随机比特串可设定为:

\tilde O(n^2)

此时每个用户的公钥尺寸为:

\tilde O(n)

二. LWE密码方案简单介绍

实际上Regev的基于LWE的密码方案和安全性证明都和Ajtai-Dwork的工作很类似,所以此处就简单解释下。

方案的私钥为s,格式如下:

s\in Z_q^n

很明显可以说明私钥尺寸为\tilde O(n)

公钥则是随机选取一些LWE样本,当然这些样本对应的秘密s是一样的,如下:

(a_i,b_i)

假定样本个数近似n个,那么很容易计算公钥尺寸为:

\tilde O(n^2)

加密时,选择加密一个比特。从刚才的公钥LWE样本中选择一部分子集,然后相加,最后把消息比特隐藏于结果的最后一位,很容易计算密文的尺寸为:

\tilde O(n)

那么怎么解密呢?

密文要么很接近垂直于(-s,1)的子空间,要么很远。拥有私钥的人,则可以区分,也就可以解密出比特0或者比特1

当然密码学中,要想说明语义安全是需要设定严格的安全性证明试验。在敌手看来,根据LWE问题的困难性,是无法区分真随机分布和LWE分布的。

而且在这种设计的密钥下加密,是loosy的,也就是密文和明文信息比特是统计独立的,那么敌手区分加密0和加密1的优势则是可忽略的。

详细的密码方案在“格密码专栏”中,后续会不断更新。

在2005年,Regev提出LWE之后,有关其额外的困难性定理就不断涌现出来,比如基于经典归约的,基于leaky密钥的,更小的误差,更小的模等等,接下来本文章将解释几个比较重要的提高和扩展。

三. LWE经典归约

Regev利用量子算法实现了最坏情况归约,在2009年Peikert去量子化(dequantized),利用经典算法也实现了归约。其格公钥密码也依赖于一般格(genaral lattice),该格的结构性没有那么强(相比unique shortest vectors)。设定LWE问题的错误率为\alpha,其困难性可以归约到最坏情况的近似GapSVP问题,其中近似因子为:

\gamma=\tilde O(n/\alpha)

量子归约到GapSVP和SIVP问题上,但目前经典归约只能到GapSVP问题。

经典归约要求模数得指数大小,也就是在LWE问题中q的范围满足:

q\geq 2^{n/2}

量子归约只需要多项式尺寸大小的模数,也就是:

q\geq 2\sqrt n/\alpha

当然其实经典归约也可以到q=poly(n)的尺寸,但是这时对应的不是标准的GapSVP问题类型。

为啥我们对模数q的大小这么关注呢?

大的模数意味着在表示LWE样本时,需要更多的比特,导致密钥的尺寸变大,密码系统的效率则降低。

虽然经典归约还有许多限制,但是并不妨碍利用LWE问题来构建有效的密码学方案。

四. LWE性质

在2009年,Pei和Lyubashevsky-Micciancio分别在两篇论文中证明了,利用经典归约已经近似因子等于poly(n)时,以下几个问题是等效的:

GapSVP,uSVP,BDD

这也就意味着,虽然说Ajtai-Dwork的密码系统最开始是依赖uSVP问题的,但其实也可以依赖于GapSVP问题。

在2013年,Brakerski等人认为需要平衡LWE问题的维度与模数。他们认为,在固定错误率\alpha的前提下,LWE问题的困难性可以用nlogq来衡量,也就是跟n和q都有关系。举个例子来解释为什么这个结论很有用。

比如说,Peikert认为LWE可归约到n维格上的GapSVP问题,此时模数q满足:

q\geq 2^{n/2}

如果我们将维度提升到n^2,那么模数就只需要q=poly(n)即可。

此方案的证明过程使用到了全同态(fully homomorphic encryption)中的密钥切换(key switching)和模归约(modulus reduction)。当然只是借鉴这些技术,实际上会更加复杂,因为需要产生对应的LWE样本,而不是单纯的拥有小误差的样本。

五. LWE的鲁棒性

robustness,通常翻译成鲁棒性。

已有的研究表明,及时敌手学习到了关于秘密和错误的一些额外信息,LWE问题依旧是困难的。

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

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

相关文章

【云原生】Docker的镜像创建

目录 1.基于现有镜像创建 (1)首先启动一个镜像,在容器里做修改 ​编辑(2)然后将修改后的容器提交为新的镜像,需要使用该容器的 ID 号创建新镜像 实验 2.基于本地模板创建 3&am…

蓝凌OA sysUiExtend.do 任意文件上传漏洞复现

0x01 产品简介 蓝凌核心产品EKP平台定位为新一代数字化生态OA平台,数字化向纵深发展,正加速构建产业互联网,对企业协作能力提出更高要求,蓝凌新一代生态型OA平台能够支撑办公数字化、管理智能化、应用平台化、组织生态化,赋能大中型组织更高效的内外协作与管理,支撑商业…

[docker] Docker的数据卷、数据卷容器,容器互联

一、数据卷(容器与宿主机之间数据共享) 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容…

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析

内容参考于:易道云信息技术研究院VIP课 上一个内容:自动化助手显示物品数据-CSDN博客 然后游戏中有弓箭,弓箭有数量,可以作为突破口,也可以使用物品id 获取弓的方式 获取弓箭的方式 然后搜索250 然后搜索出一个 然后…

Linux零碎点

目录 Linux基础命令 1、who: 2、hostname: 3、ifconfig: 4、pwd: 5、cd: 6、exit: 7、shutdown: 8、ls: 9、创建文件夹: 10、touch: 11、cp&#…

在百度云免费配置SSL证书 http改https操作

以下以在百度智能云上的操作为例,并不是给他打广告 1.购买域名 2.到域名管理处,解析网址,添加,*,www,指向服务器IP, 此时就可以访问网址:http://www.域名.cn 3.但是浏览器会报不安全,所以需要配置SSL证书…

acrobat调整pdf的页码和实际页码保持一致

Acrobat版本 具体操作 现在拿到pdf的结构如下: pdf页码实际页码1-10页无页码数11页第1页 操作,选择pdf第10页,右键点击 具体设置 最终效果

实习日志5

活字格图片上传功能(批量) 这个报错真的恶心,又看不了他服务器源码,接口文档又是错的 活字格V9获取图片失败bug,报错404-CSDN博客 代码BUG记录: 问题:上传多个文件的base64编码被最后一个文…

【oracle】oracle客户端及oracle连接工具

一、关于oracle客户端 1.1 Oracle Client 完整客户端 包含完整的客户端连接工具。 包很大,需要安装 1.2 instantclient 即时客户端 是 Oracle(R) 发布的轻量级数据库客户端,减少甚至只包含几个文件,您无需安装标准的客户端,就可以…

视频渲染靠cpu还是显卡 会声会影视频渲染的作用是什么

视频渲染最占用的资源就是CPU,多核心多线程,这样才能渲染快。渲染可以在时间线上实时平滑预览,便于编辑,最终导出成片的时候速度也会快一些,渲染就是对每桢的图像进行重新优化的过程。 渲染的作用主要是能够保证使用者…

【java面试】Spring

目录 1. Spring 介绍1.1 Spring 的优点1.2 Spring 的缺点1.3 详细讲解一下核心容器(spring context应用上下文) 模块 2. Spring俩大核心概念IOC,Inversion of Control,控制反转AOP(Aspect-OrientedProgramming),面向切面编程Sprin…

Gradle学习笔记:Gradle的使用方法

文章目录 1.初始化项目2.构建脚本语言选择3.项目命名4.项目构建过程 1.初始化项目 创建一个test空文件夹,在该文件夹下打开终端,并执行命令:gradle init. 会有一个选项让你选择项目的类型。下面是每个选项的含义和用途: basic&am…

Hylicos - MINI2440 - 中断控制

中断 中断源管理 中断是一种异步异常,CPU需要处理很多来自设备的中断请求,而CPU引出的line只有IRQ线和FIQ线,所以就得引入中断控制器帮助CPU搞清楚是中断的来源。 MINI2440的中断控制器,可以接受来自60个中断源的请求。提供这些…

机器学习笔记 - 基于自定义数据集 + 3D CNN进行视频分类

一、简述 这里主要介绍了基于自定义动作识别数据集训练用于视频分类的 3D 卷积神经网络 (CNN) 。3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。 这里的模型主要基于D. Tran 等人2017年的论文“动作识别的时空卷积研究”。 …

【算法】糖果(差分约束)

题目 幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候&#xff…

RocketMQ源码阅读-九-自定义过滤规则Flitersrv

RocketMQ源码阅读-九-自定义过滤规则Flitersrv 什么是FiltersrvFiltersrv注册到Broker过滤类Consumer发起订阅设置过滤类代码Consumer上传过滤类代码Flitersrv编译过滤类代码 过滤消息Consumer 从 Filtersrv 拉取消息Flitersrv从Broker拉取消息 Flitersrv的高可用总结 什么是Fi…

【C++】内存分区模型

目录 1.程序运行前 2.程序运行后 3. new操作符 3.1 基本语法 3.2 开辟数组 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区: 存放全局变量和静态变量以及常量栈区 …

时序分解 | MATLAB实现CEEMDAN+SE自适应经验模态分解+样本熵计算

时序分解 | MATLAB实现CEEMDANSE自适应经验模态分解样本熵计算 目录 时序分解 | MATLAB实现CEEMDANSE自适应经验模态分解样本熵计算效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现CEEMDANSE自适应经验模态分解样本熵计算 包括频谱图 附赠案例数据 可直接运行 …

喜报|「云原生数据库PolarDB」、「阿里云瑶池一站式数据管理平台」揽获“2023技术卓越奖”

日前,国内知名IT垂直媒体&技术社区IT168公布2023年“技术卓越奖”评选结果,经由行业CIO/CTO大咖、技术专家及IT媒体三方的联合严格评审,阿里云瑶池数据库揽获两项大奖:云原生数据库PolarDB荣获“2023年度技术卓越奖”&#xf…

YOLOv5全网独家首发:Powerful-IoU更好、更快的收敛IoU,效果秒杀CIoU、GIoU等 | 2024年最新IoU

💡💡💡本文独家改进:Powerful-IoU更好、更快的收敛IoU,是一种结合了目标尺寸自适应惩罚因子和基于锚框质量的梯度调节函数的损失函数 💡💡💡MS COCO和PASCAL VOC数据集实现涨点 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_1251193…