自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(288)
  • 资源 (1)
  • 收藏
  • 关注

原创 【解决方案】右击找不到记事本

【代码】【解决方案】右击找不到记事本。

2025-04-02 14:08:48 70

原创 Merkle Tree 实现

Merkle Tree 是一种基于 Hash 函数的承诺协议,能够对大量数据块的位置和内容做校验。

2025-03-28 16:40:47 756

原创 rANS:快速的渐进最优码

为了压缩已知概率密度的符号序列,有两种主流方法:1. 哈夫曼编码:使用二的幂次近似密度(二叉树),速度快,但压缩率低(除非信源密度恰好都是二的幂次);2. 算术/范围编码:使用精确密度,压缩率很容易达到香农熵,但是速度慢。[Duda09] 提出了 **Asymmetric numeral systems**(ANS),它是渐进最优码(平均码长等于香农熵),并且速度比哈夫曼编码更快。

2025-03-26 17:22:09 724

原创 信息集译码算法(ISD)

目前求解汉明距离下校验子译码问题的最有效算法是 Information Set Decoding

2025-03-25 17:50:51 766

原创 Code-based SIG: CROSS

CROSS: NIST PQC, Additional Digital Signature Schemes, Round 2

2025-03-25 16:05:24 665

原创 C++ 代码复用技巧:基于宏定义和命名空间

C++ 代码复用

2025-03-21 17:25:43 388

原创 VSCode + CMake

在 VSCode 中配置 CMake 扩展的调试环境

2025-03-16 11:13:35 732

原创 Merkle Tree & Hash-based SIG

[Merkle87] 提出了一种二叉哈希树,可以提供数据完整性校验、密码学承诺、零知识证明等功能。

2025-02-27 18:42:29 716

原创 SDP-based ZKP & SIG

[Shamir89] 基于 Permuted Kernel Problem 设计了一种高效的身份认证协议,只需要 888-bit 算术运算,具有较高的计算效率。令 π\piπ 是集合 {1,2,⋯ ,n}\{1,2,\cdots,n\}{1,2,⋯,n} 上的置换,矩阵 A∈Zm×nA \in \Z^{m \times n}A∈Zm×n(m<nm < nm<n),向量 v∈Znv \in \Z^nv∈Zn,其系数为 aija_{ij}aij​ 和 vjv_jvj​。定义 Aπ=[ai,π(j)]i

2025-02-27 14:37:17 922

原创 本地部署 deepseek-R1 模型

本地部署 deepseek-R1 模型

2025-01-31 00:08:23 4866 1

原创 密码学文献引用:CryptoBib + DBLP

网络安全和密码学,推荐文献引用:1. [**CryptoBib (ens.fr)**](https://cryptobib.di.ens.fr/manual)2. [**DBLP: computer science bibliography**](https://dblp.org/)

2025-01-05 21:35:20 581

原创 BUFF:获得更强大的数字签名

数字签名算法的标准安全性是 **EUF-CMA** 和 **SUF-CMA**,即:给定公钥,难以伪造签名。但是在高级密码协议中,可能会对 SIGs 提出其他安全性要求,比如:签名和消息绑定、签名和公钥绑定、签名者必须知道消息,等等;否则会存在各种安全缺陷。在 NIST PQC 数字签名的追加轮中,也对 EUF/SUF 以外的其他安全属性做了要求。

2024-12-27 10:31:18 927

原创 AKE from KEM

利用多种手段,可以把被动安全的 KE 协议增强为 AKE 协议,具体可分为 **Explicit AKE** 以及 **Implicit AKE**,前者使用额外的 Sign 和 MAC 针对 KE 的对话消息做认证,后者则是仅使用 KE 协议本身。

2024-12-24 16:38:19 698

原创 AKE 安全模型:CK, CK+, eCK

[Kra05] 考虑了一些没有被 CK Model 捕获的攻击,然后给出了 [CK01] 安全性的加强版本,被后续文章称为 "CK+" 模型/安全。

2024-12-09 14:23:28 1166 1

原创 刷算法题(C++)

刷题

2024-11-13 17:41:26 990

原创 基于多面体的 Fiat-Shamir 范式数字签名方案

[DFPS22] 研究了已有的拒绝采样策略(仅考虑了**连续分布**,而非离散情况),包括:**超立方上的均匀分布**([Lyu09]),**单峰的高斯分布**([Lyu12])、**双峰的高斯分布**([DDLL13]),并提出了一种新的策略:**超球上的均匀分布**。[DFPS22] 使用 Renyi 散度重写了 [Lyu12] 的一般拒绝采样定理。

2024-11-12 17:04:12 688

原创 C++ 常用 STL 接口

C++ 常用 STL 接口

2024-10-11 15:11:44 673

原创 Faster PC-MM in CKKS

[LZ23] 提出了一种同态矩阵乘法,把一个 **PC-MM**(homomorphically multiply a plaintext matrix with a ciphertext matrix, 密文矩阵左乘明文矩阵)归约为了两个 **PP-MM**(multiplications of plaintext matrices),但是要求矩阵维度 $d$ 大于等于 RLWE ring 维度 $N$,且对于 $d=kN$ 的处理速度较慢。

2024-10-10 11:47:37 848 1

原创 C/C++ 编程小工具

编写了 tools.h 和 tools.cpp,用于 Debug、性能测试、打印日志。

2024-10-08 20:46:35 736

原创 Docker 的安装和使用

本人使用 WSL 作为开发环境,但是它默认使用 `init` 管理进程;使用 `systemctl` 时会报错。现在我们在 WSL 中启用 `systemd` 进程管理器。

2024-09-07 10:20:42 1250 1

原创 Code-based KEM:HQC

HQC 是基于编码的 KEM 方案,具有一些理想的性质:基于 structured codes 上的校验子译码问题,可以证明其 IND-CPA 安全;不需要假设使用的 structured codes 与随机码不可区分;**可以给出解码失败率(DFR)的上界**,从而利用 FO 能够(可证明地)提升为 IND-CCA 安全。

2024-08-27 17:36:12 1365

原创 Code-based KEM:BIKE

使用 google-perftools 分析该实现,可以发现在整个密钥传输过程中,KEM.Dec 占据了 72% 的总时间,而其中的 Decode 就占据了 67% 的总时间。

2024-08-27 13:56:05 1105

原创 使用gpreftools测试性能

在 `gcc` 编译指令中,添加:```bash-Wl,--no-as-needed,-lprofiler,--as-needed```注意,不要和 `gprof` 的指令 `-pg` 合用(它不能处理动态库中的函数,除非设置 `-pg` 重新编译一遍),会发生冲突。在 `main.cpp` 中,添加如下代码:```c#include int main(){ ProfilerStart("test_capture.prof");

2024-08-20 17:20:26 381

原创 Latex 绘图:Tikz 包

【代码】Latex 绘图:Tikz 包。

2024-07-02 15:30:51 1211

原创 Linux 程序打包

假设编译了一个cmd可执行文件,想要把它交给其他人运行。

2024-07-02 10:10:48 573

原创 WSL:桌面 UI + 远程连接 RDP + 配置 VScode

WSL:桌面 UI + 远程连接 RDP

2024-06-25 20:16:59 1038

原创 Unbounded CKKS for Bits & NTT with Composite Modulus

[DMP+24] 假设 CKKS 编码的消息取自**某个先验的离散集合**,然后使用**阶跃函数**将带噪的相位映射到**最近的离散点**(效果就是减小了噪声),从而可以支持无界深度的电路。

2024-06-19 17:38:55 1410

原创 Amortized bootstrapping via Automorphisms

[GPV23] 和 [DKM+24] 都遵照 [MS18] 的思路:1. **packing**:将 $n$ 个 LWE 密文打包成单个 RLWE 密文,系数编码,形如 $(b,a) \in R_{q,n}^2$,私钥 $s \in R_{n}$2. **decryption**:把 $s_i$ 加密在 RGSW 密文中作为自举密钥,将多项式 $a,b$ 的 DFT-form 加密在 RGSW 密文的指数上($q$ 阶乘法循环群),利用 RGSW 同态乘法(指数上的加法)计算常数 $NTT(a)$ 和

2024-06-11 16:55:44 1221

原创 New Work-flow of Circuit Bootstrapping

TFHE 除了有 FHE mode,还有 [CGGI17] 提出的 LHE mode:* 前者每个 Gate 都需要自举,利用 **LinPoly + PBS** 实现布尔运算;* 后者仅在噪声过大或者类型不符时才自举,利用 **det-WFA + CMux-based OBDD + BRS** 实现布尔运算。由于 RLWE 和 RGSW 外积的噪声增长不对称性,只要 RGSW 加密消息的范数很小(比如:布尔值、单项式),那么 LHE 的容许 CMux 深度就会很大。

2024-06-07 17:37:21 894 8

原创 HElib 使用样例

文件 `./.cscode/tasks.json`(用于代码编译),在 `"args"` 中配置:头文件目录 `-I`、库文件目录 `-L`、链接的库 `-lhelib -lntl -lgmp -lgf2x -lssl -lstdc++ -lm`(注意 `gcc` 遵循 “从左到右” 编译顺序,**依赖其他库的库应当放在前面,被依赖的库必须放在后面**,否则依旧会出现 `undefined reference to` 报错,不过 `cmake` 似乎会自动重排)

2024-06-03 21:05:27 958 1

原创 ACWC:Average-Case to Worst-Case Decryption Error

PKE 最基本的要求是 Average-Case Decryption Error 可忽略。为了抵御 decryption-error attacks,还需要保证 Worst-Case Decryption Error 也是可忽略的。

2024-06-03 17:44:57 803

原创 OpenFHE 使用样例

BGV 方案使用 LSD 纠错码,**需要模切换**。在 `Ciphertext` 密文中,`GetScalingFactorInt()` 记录了**扭曲因子**,`GetLevel()` 记录了**乘法深度**,`GetNoiseScaleDeg()` 记录了**扭曲因子的指数**,`GetElements().size()` 是密文中环元素向量的长度。对于 `PackedPlaintext` 打包,明文模数必须是**满足 NTT 的大素数**,槽旋转对应的自同构指标由 `5 mo

2024-06-02 17:58:04 1275

原创 TFHE-Key Packing,Smooth KS Process,Key Unrolling,Approximate Gadget Decomposition

[KLD+23] 关注 **Blind Rotation Key** 的传输开销,用于客户端能力受限的场景。

2024-05-31 17:26:52 1084

原创 OpenFHE 源码解析:PKE 部分

OpenFHE

2024-05-30 17:33:41 945

原创 OpenFHE 源码解析:BinFHE 部分

OpenFHE 源码解析

2024-05-29 20:41:54 1160

原创 Latex:newcommand

\newcommand{}[][]{}

2024-05-27 12:05:30 1228

原创 Randomized Encodings in NC^0

IK00] 利用 Branching Program 构造出了任意布尔函数的 degree-3 随机多项式,这是紧的。在较温和的假设下,密码原语 OWF,PRG,CR-Hash,Enc,Sign,MACs,NI-Sommit 都可以在。因为 [IK00] 构造出了任意布尔函数的 degree-3 随机多项式,因此 [AIK04] 就构造出了。利用 minimal PRG,可以构造出一个对称加密方案,使得它的加密是落在。的电路所计算,这个电路包含:有界扇入的 OR 以及 AND,无界扇入的。

2024-05-21 17:45:18 834

原创 Faster Ring-Packing via BST and Ring-Switch

导致 KSK 规模的较大。为了进一步减小密钥规模,[BCK+23] 将上述的 Ring packing 推广到 Module packing,在 LWE 密文和 RLWE 密文之间插入 MLWE 密文,多层迭代。这里的 base ring packing 可以是上述的三种打包方法,但是 column method 不需要 Galois 自同构,因此不消耗 Levels,获得的收益会更大。自举要求巨大的模数,从而维度也会很大,之前的那些打包算法存在诸多限制:系数打包、速度慢、仅支持少量 LWE 密文。

2024-05-13 17:02:17 1191

原创 Ring-Switch & Field-Switch

[GHPS12] 提出了环切换技术,它针对 coeff-packing,考虑的是 non-dual RLWE 版本。[GHPS13] 提出的域切换技术,它针对 slot-packing,并且考虑的是 dual RLWE 版本。

2024-05-11 17:08:13 524

原创 Simple ThFHE with poly ratio via Rényi Divergence

[BS23] 在安全定义中使用 Rényi Divergence 替换了原本的 statistical distance,给出了**多项式模数的简单 ThFHE 方案**。由于 Renyi 散度不兼容 IND-CPA 安全性,他们首先构造了 OW-CPA ThFHE,然后再转化为 IND-CPA ThFHE。

2024-05-06 17:35:48 830

linux_tools.zip

可在Windows下使用的Linux指令(cat,grep,ls,...)

2021-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除