【格密码基础】:详解Ring-SIS问题

目录

一. 介绍

二. Ring-SIS问题相关的参数

三. Ring-SIS问题定义

四. 相比SIS问题的优点

五. 与SIS问题之间的关系


一. 介绍

在1998年,有关多项式环密码系统NTRU被提出。Ajtai提出了原始的SIS问题。

在2002年,Micciancio发现可以将这两者结合,提出了效率更高的密码学上问题,也就是本文章将要介绍的SIS问题,已经对应的函数f_A

在格密码专栏中,我将陆续更新Ring-SIS问题的定义,它与原始SIS问题的关系,其在最坏情况(worst case)下的困难性分析。而且还包含在环结构下,形成一个新的概念叫理想格(ideal lattice)。

二. Ring-SIS问题相关的参数

通常我们可以把环结构R看成一个次数为n的多项式,完整结构如下:

下面的多项式有f(x)有两者常用的结构。第一个是2002年提出的:

f(X)=X^n-1

第二个是2008年被提出,其指数是2的幂形式,如下:

f(X)=X^{2^k}+1

这个地方可以直观上把环R看成任意多项式模f(X)运算的结果,这样的话,最终就是一个整数的多项式,其次数小于n

环R内的每个元素,也有模的理解,通常写做:

||\cdot||

可以简单将其看成扩展的系数向量对应的模长。在环R上选择一个向量z,那么其模长可理解为:

如果对以上多项式的系数大小进行限制的话,那么可以把每个数都模q,那么可以形成新的环,如下:

R_q=R/qR=Z_q[X]/(f(X))

那么现在每个环上的元素代表次数小于n,系数从整数环Zq内进行选取的元素。

Ring-SIS问题的关键在于限定结果的模长,那么需要给定一个实数模的上限,如下:

\beta>0

样本的个数通常设定为m

在SIS问题中,同样的几个参数:次数n,模q,长度上限\beta。当然相比SIS问题中的m,Ring-SIS问题只需要少n倍的样本个数即可。

三. Ring-SIS问题定义

带参数的环SIS问题,可简写为如下:

给定m个均匀且随机分布的a,如下:

也可以将其写成向量的格式如下:

在满足如下等式的情况下:

我们的目标是寻找到对应的非零向量z,如下:

z\in R^m\quad ||z||\leq \beta

注意此处的z为m维向量,向量的每个位置都是一个多项式。

四. 相比SIS问题的优点

Ring-SIS问题的效率性更高一点。解释如下:

在Ring-SIS中,样本a的格式如下:

a_i\in R_q

为了需要保证短解的存在,样本的个数是有要求的:

然而在原始的SIS问题中,需要多n倍的样本,如下:

简单给个解释。从环内任意取一个元素:

z_i\in R

该元素就是一个次数小于n的多项式,所以其短的情况个数有:

2^{\Omega(n)}

这些短解将会作为a的系数。

然而在SIS问题中,a的格式如下:

a_i\in Z_q^n

其短解存在的个数会更少一些。

在计算意义上,环结构的效率也要更高一些。在Ring-SIS问题,我们需要计算如下:

利用FFT技术,我们计算的复杂度只需要拟线性(quasi-linear)时间,通常记为:

\tilde O(n)

选择合适的模数q和样本数m,那么计算如下函数也近似拟线性时间:

五. 与SIS问题之间的关系

SIS问题与Ring-SIS问题之间有相似的代数性质。在网络安全领域,一个密码系统两者之间往往可以互相转换。当然这种转换往往需要说清楚其中的安全性证明(security proof)。

在这里我将举一个例子来解释有环结构和无环结构之间的联系。

在Ring-SIS中,我们需要均匀且随机的取一个环元素,如下:

a_i\in R_q

在SIS中这对应着n维的向量,当然向量不同位置元素之间是有联系的,如下:

a_i\in Z_q^n

可以把此处的n看成整数Z上环R的系数(degree)。

那么借助这种理解,环-SIS问题的答案格式如下:

z_i\in R

就对应着SIS问题答案中的n个整数。

根据经验主义,原始SIS问题带有一种特殊的结构(instance),就可以形成Ring-SIS.

(1)利用格的观点看环多项式

可以把环R内的元素看成由整数格基产生,那么环R则是n维的,对应关系如下:

R\quad Z^n

类似的,可得:

R_q\quad Z_q^n

这种对应关系其实就是抽象代数中的加法群同态(additive group isomorphism)。在这种理解下,短解是可以类推的。

可以把环R的结构看成如下:

那么单项式X^i对应着第(i+1)个基向量e,如下:

e_{i+1}\in Z^n\quad i=0,\cdots,n-1

那么环-SIS问题中的z格式如下:

\vec{z}\in R^m

对应SIS中的维度也就是nm,如下:

z\in Z^{nm}

(2)环内乘法

如果从商环中选择一个元素a,如下:

a\in R_q

让后将任意其他环元素进行与之相乘,那么就相当于是一种Z-Linear函数运算过程:

R to Rq

将此相乘的过程可以看成乘以一个n维方阵,如下:

A_a\in Z_q^{n\times n}

看成矩阵相乘的话,那么这个过程对应着映射:

Z^n to Z_q^n

比如我们来看一个例子。

给定一个环结构如下:

那么商环Rq内的元素a就对应着循环矩阵,矩阵第一列的元素就是系数向量a。这样子来看的话,我们可以从Ring-SIS中给出一个instance,如下:

每一个ai都对应着一个循环矩阵,那么其在SIS中对应的instance如下:

以上理解的根源来自于抽象代数(abstract algebra),有很多跟群环域相关的理解,有时间的话,在本专栏会陆续补充相关的基础数学在网络安全中的应用。

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

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

相关文章

python爬虫2

1.table 是表格&#xff0c;tr是行&#xff0c;td是列 ul li是无序列标签用的较多&#xff0c;ol li是有序列标签 最基本的结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title> Title </title>…

外汇监管牌照解析:确保交易安全与合规性

外汇交易中&#xff0c;资金安全与平台监管是大家最关心的话题。监管是评估外汇经纪商是否值得信赖、是否具备相关资质的关键依据&#xff0c;因此选择一家拥有海外合法监管的经济商至关重要。 那么&#xff0c;今天我们就来聊聊全球权威的几大监管机构 — FCA、ASIC、NFA、FSA…

HarmonyOS 线程讲解(任务分发、线程通信)

一、简单说明 说起鸿蒙的线程就不得不说Android的线程&#xff0c;相信都知道在Android中&#xff0c;每一个应用都会有自己的主线程和其他的子线程&#xff0c;主线程负责处理大部分业务&#xff0c;负责UI的显示和更新等操作&#xff0c;所以又称之为UI线程&#xff0c;同时…

什么是事务?

事务 是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功&#xff0c;要么同时失败。 1. 事务管理 怎么样来控制这组操作&#xff0c;让这组操作同时成功或…

InputNumber数字输入框(antd-design组件库)简单使用

1.InputNumber数字输入框 通过鼠标或键盘&#xff0c;输入范围内的数值。 2.何时使用 当需要获取标准数值时。 组件代码来自&#xff1a; 数字输入框 InputNumber - Ant Design 3.本地验证前的准备 参考文章【react项目antd组件-demo:hello-world react项目antd组件-demo:hello…

十分钟学会用springboot制作微信小程序富文本编辑器

1.1 富文本模型设计 在构建富文本编辑器系统时&#xff0c;首先需要设计一个合适的富文本模型。 CREATE TABLE IF NOT EXISTS rich_texts (id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255),content TEXT,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );这个表包括…

Flink CEP实现10秒内连续登录失败用户分析

1、什么是CEP&#xff1f; Flink CEP即 Flink Complex Event Processing&#xff0c;是基于DataStream流式数据提供的一套复杂事件处理编程模型。你可以把他理解为基于无界流的一套正则匹配模型&#xff0c;即对于无界流中的各种数据(称为事件)&#xff0c;提供一种组合匹配的…

stm32中的SDIO

SDIO-SD卡 文章目录 SDIO-SD卡SD卡结构物理结构SD卡寄存器列表 SDIO总线SDIO总线拓扑SDIO总线SDIO总线协议常规数据传输宽位数据包 命令命令格式命令的类型命令集 SD卡的操作模式数据传输模式 STM32 的 SDIO 功能框图控制单元命令路径CPSM 状态机描述图数据路径数据 FIFO SDIO结…

【Tomcat与网络7】亲测有效—如何用idea运行Tomcat9的代码

前面我们看了很多理论&#xff0c;但是总感觉少了什么&#xff1f;少了什么呢&#xff1f;亲手搞一下Tomcat源码&#xff0c;至少要将源码运行起来玩玩吧。今天我们就来看一下如何在idea中运行Tomcat源码。 目录 1.下载源码 2.增加pom文件 3.idea导入Tomcat源码 1.下载源码…

kettle通过severice_name连接oracle数据源踩坑

最近在研究kettle做数据抽取核对&#xff0c;按照官网安装kettle后无法连接oracle 坑1&#xff1a;kettle 连接oracle的数据库名指的是sidname 而非severicename&#xff0c;前期一直使用severicename 如下始终报错 注意区分下&#xff1a; SID:一个数据库可以有多个实例&…

林浩然与他的“圆”满人生

林浩然与他的“圆”满人生 Lin Haoran and His “Round” Life of Fulfillment 在那遥远的数学王国&#xff0c;有一个名叫林浩然的小哥&#xff0c;他可不是一般的程序员&#xff0c;而是个痴迷于几何之美、生活之趣的大玩家。话说有一天&#xff0c;林浩然正沉浸在毕达哥拉斯…

图像模板匹配算法(MATLAB)

模板匹配是一种用于在图像中定位和识别对象的技术。它的基本思想是: 提取图像中的一个子图像作为“模板”(template)。这个子图像通常包含我们感兴趣的目标对象。 在整个原始图像上,逐点比较模板和原始图像的相似度。相似度通常用归一化的交叉相关(Normalized Cross Correlati…