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

news2024/11/16 7:47:09

目录

一. 介绍

二. 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.coloradmin.cn/o/1411416.html

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

相关文章

2023年我国民用无人机产业规模超过1200亿元,低空经济时代来临

2023年我国民用无人机产业规模超过1200亿元,低空经济时代来临 根据最新数据显示,2023年中国的民用无人机产业规模已经超过了1200亿元,稳居全球榜首。预计到2025年,这个数字将突破2000亿元,届时低空经济对国民经济的综…

SpringBoot 自定义Filter 提前返回 CORS 错误 处理前后端分离跨域配置无效问题解析

前言 浏览器有跨域限制,非同源策略 (协议、主机名或端口不同) 被视为跨域请求,解决跨域有跨域资源共享(CORS)、反向代理和 JSONP的方式。本篇通过 SpringBoot 的资源共享配置 (CORS) 来解决前后端分离项目的跨域,以及从原理上去解决跨域配置…

docker指令存档

目录 Docker 1、概念 2、架构图 3、安装 4、Docker怎么工作的? 5、Docker常用命令 帮助命令 镜像命令 1、查看镜像 2、帮助命令 3、搜索镜像 4、拉取镜像 5、删除镜像 容器命令 1、启动 2、查看运行的容器 3、删除容器 4、启动&停止 其他命令…

开始学习Vue2(axios和Vuex)

一、Axios 1、Axios 简介 Axios 是一个基于 promise 网络请求库 ,作用于node.j s 和浏 览器中。它是 isomorphic 的(即同一套代码可以运行在浏览器 和 node.js 中)。在服务端它使用原生 node.js http 模块, 而在 客户端 (浏览端) 则使用 XMLHttpRequests。 …

滴滴开源小程序框架 Mpx 新特性:局部运行时能力增强

Mpx 是滴滴开源的一款增强型跨端小程序框架,自 2018 年立项开源以来如今已经进入第六个年头,在这六年间,Mpx 根植于业务,与业务共同成长,针对小程序业务开发中遇到的各类痛点问题提出了解决方案,并在滴滴内…

C语言实现插入排序算法(附带源代码)

插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常…

【Vue3】计算属性computed和监听属性watch

目录 👉 computed 👈 🐌只读取不修改 ☃️既读取又修改 👉 watch 👈 1、监听 ref 基本类型 数据 2、监听 ref 对象类型 数据 3、监听 reactive 对象类型 数据 4、监听对象类型的某个属性 5、监视以上多个数据…

小程序 样式 WXSS

文章目录 样式 WXSS尺⼨单位样式导⼊选择器⼩程序中使⽤less 样式 WXSS WXSS( WeiXin Style Sheets )是⼀套样式语⾔,⽤于描述 WXML 的组件样式。 与 CSS 相⽐,WXSS 扩展的特性有: 响应式⻓度单位 rpx样式导⼊ 尺⼨单位 rpx (…

08.Elasticsearch应用(八)

Elasticsearch应用(八) 1.为什么需要相关性算分 我们在文档搜索的时候,匹配程度越高的相关性算分越高,算分越高的越靠前,但是有时候我们不需要算分越高越靠前我们可能需要手动影响算分来控制顺序比如广告&#xff08…

数学建模学习笔记||一文了解美赛论文如何写作

目录 ​编辑 Title/标题 要求 形式 Summary Sheet/摘要 要求 三要素 书写特点 内容 开头段 中间段 格式 内容 结尾段 关键词 Contents/目录 Introduction/引言 Problem Background/问题背景 Restatement of the Problem/问题重述 Literature Review/文献综…

有向图的拓扑序列——拓扑排序

问题描述 什么是拓扑序列 若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。图中不能有环图中至少存在一个点的入度为0 如何求拓扑序列? 计算出每个节点的…

将Python打包为exe+inno setup将exe程序封装成向导安装程序

为什么要打包? Python脚本不能在没有安装Python的机器上运行。如果写了一个脚本,想分享给其他人使用,可她电脑又没有装Python。如果将脚本打包成exe文件,即使她的电脑上没有安装Python解释器,这个exe程序也能在上面运行…

数据结构实验八:排序的应用

目录 一、实验目的 二、实验原理 1.直接插入排序 2.快速排序 三、实验内容 实验1 代码 截图 实验2 代码 截图 一、实验目的 1、掌握排序的基本概念; 2.掌握并实现以下排序算法:直接插入排序、快速排序。 二、实验原理 1.直接插…

RK3399ProD开发板的固件烧录实战

参考 Toybrick-开源社区-TB-RK3399ProD-RK3399ProD开发板的固件烧录教程 https://download.csdn.net/download/quantum7/88769396 环境 主机:win10 开发板:TB-RK3399ProD 烧录工具:FlashTool_CN\Windows\AndroidTool.exe 串口驱动&#xf…

14.5 Flash查询和添加数据库数据

14.5 Flash查询和添加数据库数据 在Flash与数据库通讯的实际应用中,如何实现用户的登录与注册是经常遇到的一个问题。登录实际上就是ASP根据Flash提供的数据查询数据库的过程,而注册则是ASP将Flash提供的数据写入数据库的过程。 1.启动Access2003&…

linux 查找文件或查找内容 (find grep)

一 linux 查找包含指定内容的文件: 在linux 有时我们只我知道内容但不知道文件在哪,可以使用find 与grep查找 例1 要查找指定目录(默认包含子目录)文件内容包含 xxx 的文件 find /etc/ -type f -exec grep -l "mysql"…

音频格式之AAC:(2)AAC封装格式ADIF,ADTS,LATM,extradata及AAC ES存储格式

系列文章目录 音频格式的介绍文章系列: 音频编解码格式介绍(1) ADPCM:adpcm编解码原理及其代码实现 音频编解码格式介绍(2) MP3 :音频格式之MP3:(1)MP3封装格式简介 音频编解码格式介绍(2) MP3 :音频格式之MP3&#x…

第14章_数据结构与集合源码(一维数组,链表,栈,队列,树与二叉树,List接口分析,Map接口分析,Set接口分析,HashMap的相关问题)

文章目录 第14章_数据结构与集合源码本章专题与脉络1. 数据结构剖析1.1 研究对象一:数据间逻辑关系1.2 研究对象二:数据的存储结构(或物理结构)1.3 研究对象三:运算结构1.4 小结 2. 一维数组2.1 数组的特点2.2 自定义数…

Linux——系统简介

1、从UNIX到LINUX 在目前主流的服务器端操作系统中,UNIX诞生于20世纪60年代末,Windows诞生于20世纪80年代中期,Linux诞生于20世纪90年代初,可以说UNIX是操作系统中的“老大哥”。 1.1、Linux简史 Linux内核最初是由李纳斯托瓦兹…

Chrony时间同步程序

Chrony简介 学习chrony之前首先要来看看chrony到底是干什么用的: chrony是网络时间协议 (NTP) 的通用实现。 它可以将系统时钟与 NTP 服务器、参考时钟同步 (例如 GPS 接收器),以及使用手表和键盘手动输入…