尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
A Gentle Introduction to Lattice-Based Cryptography 第四章:容错学习(LWE)问题 部分练习题
《A Gentle Introduction to Lattice-Based Cryptography》格密码学温和入门是密码学界知名学者、滑铁卢大学University of Waterloo教授Alfred Menezes编写的一份高质量开源讲义。这份讲义专门为高年级本科生和初入学的研究生设计旨在用最通俗易懂、循序渐进的方式揭开后量子密码学Post-Quantum Cryptography, PQC中“格密码”的神秘面纱。练习 4.1编写一个程序寻找满足以下实例的所有解思路对于这种小规模的 LWE 实例我们依旧可以使用暴力搜索。但是如果同时搜索共种可能和共种可能总的组合数会达到。我们可以利用公式的等价变形来极大缩减搜索空间由于误差向量 $e$ 的每一个分量都必须落在临界的区间内即模 $53$ 意义下的。我们只需要对秘密向量的所有可能进行网格搜索只需搜索万个点对每个候选的计算出对应的误差。检查这个的每个分量是否都满足临界条件。如果满足则该为可行解对应的也能直接算出来。完整代码如下所示import numpy as np # 1. 初始化输入数据 A np.array([ [24, 4, 37], [51, 41, 17], [ 2, 11, 13], [44, 52, 50], [ 1, 0, 2] ]) b np.array([5, 3, 12, 10, 6]) m 5 n 3 q 53 B 2 # 2. 生成 s 的全部搜索空间 # s 的每个分量取值在 [0, q-1] s_vals np.arange(q) # 使用 meshgrid 生成 3 维网格并重塑为 (53^3, 3) grid np.meshgrid(s_vals, s_vals, s_vals, indexingij) S_space np.stack(grid, axis-1).reshape(-1,3) # 3. 批量计算并求解误差 e # 计算 A * s (mod q) # A 形状为 (5, 3)S_space.T 形状为 (3, 148877) - AS 形状为 (5, 148877) AS np.dot(A, S_space.T) % q # 计算误差 e (b - As) (mod q)结果形状为 (5, 148877) E_space (b.reshape(-1,1) - AS) % q # 4. 筛选满足短整数约束的列 # 在模 53 意义下满足 |e_i| 2 的合法误差取值集合为 {0, 1, 2, 51, 52} vaild_errors [0, 1, 2, q-2, q-1] # 使用 np.isin 检查 E_space 中每个元素是否在合法集合中 # np.isin 得到一个形状相同的布尔矩阵再用 np.all(..., axis0) 确保该列的所有 5 个误差全都合规 mask1 np.isin(E_space, vaild_errors) mask np.all(mask1, axis0) # 5. 输出最终解 (s, e) matching_s S_space[mask] matching_e E_space[:, mask].T # 将模 53 下的误差 [51, 52] 映射回负数 [-2, -1] 便于直观观察 matching_e_mapped np.where(matching_e q // 2, matching_e - q, matching_e) print(f共找到 {len(matching_s)} 组解\n) for i in range(len(matching_s)): print(f解对 {i1}:) print(f s {matching_s[i]}) print(f e {matching_e_mapped[i]})练习 4.2寻找满足以下实例的所有解具体思路可以参考上一题的解题思路import numpy as np # 1. 初始化数据 A np.array([ [ 5, 22, 14, 47], [45, 25, 17, 49], [39, 14, 26, 51], [31, 9, 46, 24] ]) b np.array([36, 14, 46, 30]) q 53 B 3 # 边界 beta 3 # 2. 生成短秘密 s 的搜索空间 s_vals np.array(range(-B, B 1)) # [-3, -2, -1, 0, 1, 2, 3] grid np.meshgrid(s_vals, s_vals, s_vals, s_vals, indexingij) S_space np.stack(grid, axis-1).reshape(-1,4) # 3. 批量计算误差 e AS np.dot(A, S_space.T) % q E_space (b.reshape(-1,1) - AS) % q # 4. 筛选合格的误差 e # 合法误差值在 [-3, 3] 区间模 53 映射为 {0, 1, 2, 3, 50, 51, 52} vaild_errors [0, 1, 2, 3, q-3, q-2, q-1] mask np.all(np.isin(E_space, vaild_errors),axis0) # 5. 输出结果 matching_s S_space[mask] matching_e E_space[:, mask].T matching_e_mapped np.where(matching_e q // 2, matching_e - q, matching_e) print(f共找到 {len(matching_s)} 组解\n) for i in range(len(matching_s)): print(f解对 {i1}:) print(f s {matching_s[i]}) print(f e {matching_e_mapped[i]})
RELATED

相关推荐

智慧出入口管理系统是什么?如何提升园区人车通行管理效率

智慧出入口管理系统是什么?如何提升园区人车通行管理效率

**出入口管理是园区、商业场所、学校及医疗机构等场景中基础设施管理的重要组成部分。**传统管理模式下,入口主要承担基础通行功能,依赖道闸、门体及人工值守完成车辆与人员的进出管控。随着管理场景日趋复杂、通行规模持续扩大,单纯依靠人工…

📅 2026/10/4 16:27:30
深入解析TMS320F2838x I2C驱动:从寄存器到Driverlib函数映射与实战

深入解析TMS320F2838x I2C驱动:从寄存器到Driverlib函数映射与实战

1. 项目概述与核心价值在嵌入式开发,尤其是工业控制、电机驱动和数字电源这些对实时性和可靠性要求极高的领域,与外部传感器、存储芯片或从设备通信是家常便饭。I2C总线因其简洁的两线制(SDA数据线、SCL时钟线)和软件可寻址的多主…

📅 2026/10/15 10:00:17
Freeze.rs快速上手:3分钟生成你的第一个EDR绕过Payload

Freeze.rs快速上手:3分钟生成你的第一个EDR绕过Payload

Freeze.rs快速上手:3分钟生成你的第一个EDR绕过Payload 【免费下载链接】Freeze.rs Freeze.rs is a payload toolkit for bypassing EDRs using suspended processes, direct syscalls written in RUST 项目地址: https://gitcode.com/gh_mirrors/fr/Freeze.rs …

📅 2026/10/6 5:52:08
MORE NEWS

更多资讯

📰

电工证复训什么意思值不值得考

电工证复训什么意思值不值得考 你学历不高怕报不上名?别慌,电工证复训其实是每个持证人必须经历的一环,和你能不能考过、能不能继续干电工工作直接挂钩。今天就从驻马店劳务班组负责人的角度,给你讲讲电工证复训到底是个啥,值不值得考,也别再说“我没文…

📰

低压电工作业检查怎么考不白交钱?网上查询全搞定

低压电工作业检查怎么考不白交钱?网上查询全搞定 怕考不过白交培训费?低压电工作业检查作为特种作业中最基础也是最普遍的工种之一,很多刚入行的电工都担心自己花了几千块报名费,结果考试没通过,培训费打水漂。其实只要方法对,通过率还是挺高的。关键是…

📰

国家低压电工证难考吗?官方报名入口详解+备考攻略

国家低压电工证难考吗?官方报名入口详解+备考攻略 证书过期了不知道怎么复审延期?别急,咱们一步步来,讲讲国家低压电工证的考试难度、官方报名入口、备考技巧,以及漯河房建工程从业者最关心的通过率和合格标准。…

📰

石河子低压电工证千万别踩坑:证书过期了不知道怎么复审延期怎么办

石河子低压电工证千万别踩坑:证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期?你不是一个人。石河子低压电工证是许多一线电工从业者不可或缺的“通行证”,但一旦错过复审时间,轻则影响工作,重则面临“无证上岗”的风险,…

📰

装修半截换电工证吗?工地太忙根本没时间复习考试,多久拿证能解决这个问题?

装修半截换电工证吗?工地太忙根本没时间复习考试,多久拿证能解决这个问题? 工地太忙根本没时间复习考试,这几乎是每个施工一线电工的共同痛点。特别是现在装修工程周期紧、任务重,很多人在施工中途突然被要求换证或补证,才发现自己手头没证或者证已过期…

📰

工地太忙根本没时间复习考试?郑州理工电工证多久拿证,看这里!

工地太忙根本没时间复习考试?郑州理工电工证多久拿证,看这里! 工地太忙根本没时间复习考试,这几乎是每位一线施工人员的真实写照。特别是刚起步的电工,一边要赶工期,一边还要兼顾考证,精力根本不够用。 郑州理工电工证…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬