格密码1(Lattice-based Cryptography)背景

格密码(Lattice-based Cryptography)

Background

为什么要引入格密码?

在经典计算机上,质因数分解是一个非常困难的问题,特别是对于非常大的整数。质因数分解的目标是将一个大的整数分解为其素因数的乘积。例如,对于整数N,我们要找到素数p和q,使得N = p * q。对于经典计算机而言,随着整数N的位数增加,质因数分解的计算复杂度急剧增加,从而变得非常耗时。

然而,彼得·肖尔的Shor算法却可以在量子计算机上以多项式时间复杂度完成质因数分解。具体而言,Shor算法的时间复杂度是O((log N)^3),其中N是要分解的整数的位数。这意味着,对于足够大的整数N,Shor算法在量子计算机上能够以极快的速度完成质因数分解,而经典计算机则无法在合理的时间内完成相同的任务。

Shor算法的出现引起了密码学领域的轰动,因为目前广泛使用的非对称加密算法(如RSA)依赖于大数分解的困难性。一旦量子计算机发展到足够强大的程度,它们可能会破解目前被认为是安全的加密算法,从而对信息安全造成严重威胁。

格基密码学的主要目标是提供一种在量子计算机出现时仍然安全的加密和签名方案。它利用了格的结构和性质,这些结构可以看作是高维空间中的向量组成的网格。这些向量可以用来表示一些复杂的数学问题,这些问题在传统计算机上难以解决,在量子计算机上也是计算困难的。

总结

  • 格密码学是指利用的概念或安全性证明来构造密码学原语的方法。
  • 格密码学是后量子密码学的重要候选方案,因为它们可以抵抗经典和量子计算机的攻击。
  • 格密码学的安全性通常基于一些格难题,如最短向量问题(SVP)和带误差的学习问题(LWE)。

Mathematical background

什么是格?

在抽象代数的课程当中,我们已经对群、环、域这些代数结构有了一定的了解。类似地,**格(Lattice)**也是一种代数结构。下面是wiki中对格的定义:

在]数学中,是其非空有限子集都有一个上确界(称为)和一个下确界(称为)的偏序集合(poset)。

格也可以特征化为满足特定公理恒等式代数结构

因为两个定义是等价的,格理论从序理论泛代数二者提取内容。半格包括了格,依次包括海廷代数布尔代数。这些"格样式"的结构都允许序理论和抽象代数的描述。

概念理解

  1. 格的集合:考虑一个集合S,其中的元素是某种类型的对象,而且S中的元素可以与其他元素进行比较。

  2. 偏序关系:格的核心特性是偏序关系:定义了S中的元素之间的一种顺序或等级关系。偏序关系通常表示为≤(小于等于)符号。这个关系需要满足以下性质:

    • 自反性:对于S中的任何元素a,a ≤ a(每个元素都小于或等于自己)。
    • 反对称性:如果a ≤ b且b ≤ a,则a和b相等。
    • 传递性:如果a ≤ b且b ≤ c,则a ≤ c(如果a小于等于b,b小于等于c,那么a小于等于c)。
  3. 上确界和下确界:在一个格中,对于任意元素a和b,存在它们的最小公共上界(上确界)和最大公共下界(下确界),通常分别表示为a∨b和a∧b。上确界是格中大于等于a和b的元素中最小的一个,而下确界是小于等于a和b的元素中最大的一个。

  4. 格的性质:格可以是有限的或无限的。有限格通常表示为有限集合上的偏序关系,而无限格可以是无限集合上的。

    一个常见的例子是整数集合Z上的自然偏序关系≤,其中a ≤ b表示a小于等于b。在这种情况下,Z中的上确界是最小公共上界(最小的上限),下确界是最大公共下界(最大的下限)。

密码学中的格

在格基密码学中,我们往往采用线性代数的角度定义格:

给定n个线性无关的向量 b 1 , … , b n ∈ R m b_1,\dots,b_n \in \mathbb R^m b1,,bnRm,由它们生成的格

L ( b 1 , … , b n ) = { ∑ i = 1 n x i b i ∣   x i ∈ Z } \mathbb{L}(b_1,\dots,b_n)=\{\sum\limits_{i=1}^nx_ib_i|\ x_i\in\mathbb{Z}\} L(b1,,bn)={i=1nxibi xiZ}

其中, b 1 , … , b n b_1,\dots,b_n b1,,bn叫做该格的一组基, n n n叫做格的秩(rank), m m m叫做格的维数(dimension).

一般来说, n ≤ m n\leq m nm,当 n = m n=m n=m时,称该格满秩(full-rank),为了便于研究,我们之后的讨论中只关注满秩的格,事实上很多结论对于非满秩的格也适用。

B = ( b 1   …   b n ) B=(b_1\ \dots\ b_n) B=(b1  bn),上述定义也可以简记为
L ( B ) = { B x ∣   x ∈ Z n } \mathbb{L}(B)=\{Bx|\ x\in \mathbb{Z}^n\} L(B)={Bx xZn}
无特殊说明,一般把向量都处理为列向量,便于研究。
在这里插入图片描述
从群论角度对格下的定义可以看作上述定义的几何解释:
在这里插入图片描述
一些例子,其中(d)展示了非满秩的格
在这里插入图片描述

一组向量生成的格与它们张成的子空间是有一定联系的,回顾一下后者的定义:

给定n个线性无关的向量 b 1 , … , b n ∈ R m b_1,\dots,b_n \in \mathbb R^m b1,,bnRm,由它们张成的线性空间

S p a n ( b 1 , … , b n ) = { ∑ i = 1 n x i b i ∣   x i ∈ R } Span(b_1,\dots,b_n)=\{\sum\limits_{i=1}^nx_ib_i|\ x_i\in\mathbb{R}\} Span(b1,,bn)={i=1nxibi xiR}

唯一的区别就是格中 x i ∈ Z x_i\in \mathbb{Z} xiZ,而张成的线性空间中 x i ∈ R x_i\in \mathbb{R} xiR,即有
L ( b 1 , … , b n ) ⊂ S p a n ( b 1 , … , b n ) \mathbb{L}(b_1,\dots,b_n) \subset Span(b_1,\dots,b_n) L(b1,,bn)Span(b1,,bn)
显然,格的基并不是唯一的,如例子中的(a)与(b);更确切地说,任何格都有无穷组基。

思考:给定两组基,如何判断它们生成的格是否相同呢?

参考资料

CSC 2414 Lattices in Computer Science

《格理论与密码学》周福才

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 平面变换器(Flat Lattice Transformer)是一种用于自然语言处理的神经网络模型,它是基于Transformer模型的改进版本。与传统的Transformer模型不同,平面变换器使用平面结构来表示输入和输出序列,这种结构可以更好地捕捉序列中的局部依赖关系。平面变换器在机器翻译、文本分类、问答系统等任务中取得了很好的效果。 ### 回答2: Flat-lattice-transformer 是一种新型的序列建模技术,它是基于已有的transformer模型而进行改良升级所得到的。Flat-lattice-transformer在序列任务中具有极强的建模能力,在各种语言模型、机器翻译、文本分类等自然语言处理任务中表现优异。 Flat-lattice-transformer的主要思想是将传统的句子表示构建转换成一种扁平化的结构,从而解决了原来transformer模型中无法处理较长句子的问题。Flat-lattice-transformer将输入序列转换成一个图,将每个单词作为结点,并根据它们之间的依赖关系建立边,得到一个扁平的表示。这样做的好处是可以在不损失重要信息的前提下,缩小模型的空间复杂度,使其能够处理更长的序列。 构建这样一个扁平的图结构需要进行一系列的预处理和转换,其中最重要的是将输入的序列转换成一个有限状态自动机(Finite State Machine,FSM),然后将该自动状态转换成一个有向图。在构建图结构之后,Flat-lattice-transformer还会对其进行一定的拓扑排序和优化,以便在后续处理中更加高效地搜索图的信息。 最终的输出是一个矩阵,其中每个元素代表了一个状态下输出的结果概率,然后根据这个矩阵来计算输入序列的概率。 Flat-lattice-transformer在一些自然语言处理任务中已经取得了优异的成果,而且其对于长句建模和处理的能力更为突出,成为了自然语言处理领域中一个备受关注的技术。 ### 回答3: Flat-lattice-transformer是指一种基于transformer模型的语音识别系统。它是由研究人员提出的一种新型语音识别架构,用于解决传统语音识别系统中困扰人们已久的问题。 传统的语音识别系统通常采用深度神经网络(DNN)或循环神经网络(RNN)进行声学建模。这些模型通常使用帧级别的信息来预测每个音素的输出结果。然而,由于音素之间存在连续性和上下文依赖性,这种方法往往会导致误识别率较高。 Flat-lattice-transformer采用transformer作为声学建模器,从而利用transformer的自注意力机制学习多级别上下文信息,并能够直接预测音素序列,而无需使用基于帧的分类器。另外,该模型引入统一的flat lattice生成机制,将声学特征和语言学知识进行融合,使得模型具备更好的能力来解决上下文依赖性和连续性的问题,从而实现了更高的识别精度。 Flat-lattice-transformer还具有许多其他优点。例如,与传统的基于标注的端到端语音识别系统相比,它不需要任何语言标注信息,因此可以避免标注数据的稀缺性和昂贵的标注成本。此外,该系统还可以在训练数据较少的情况下实现较高的识别性能,这为许多实际应用提供了便利和可能性。 总的来说,Flat-lattice-transformer是一种比传统语音识别系统更优秀的语音识别架构。它的出现为语音识别领域带来了新的思路和技术,同时也为我们提供了更多解决语音识别问题的可能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

照烧小卤蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值