Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
alaniz-cipher — 基于图上的非线性层态射的加密 | Kitploit
工具/GitHubGitHub/quantusync/alaniz-cipher
静态分析加密/解密工具密码学论文与研究学习与教育
GitHubquantusync/alaniz-cipher

alaniz-cipher

基于图上的非线性层态射的加密

查看仓库
5124个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Alaniz 密码 (v3)

基于层的后量子加密,通过向量值有限域置换

一种基于非线性层态射反问题 (NL-SMIP) 的密码原语:一个具有秘密系数并由图上的层上同调耦合的多项式系统。

论文 (v3):L. Alaniz Pintos,《Alaniz 密码 v3:基于层的后量子加密,通过向量值有限域置换》,2026 年。

v3 的变化

版本 2 引入了 σ_SPN 以抵御破坏 v1 的缩放攻击。然而,v2 本身被一种更通用的攻击所破解,该攻击结合了多项式插值与 Gröbner 基计算:任何形式为 c = As + Bσ(As) 且 σ 具有有界多项式次数的确定性加密都允许 CPA 密钥恢复攻击。参见论文第 3 节和 experiments/02_cpa_attack_analysis.py。

版本 3 在结构层面解决了这个问题:

特性v2v3
加密确定性概率性 (nonce + PRG)
σ在 F_p 上的分量 SPN向量值:π_e(x) = x^e 在 F_{p^d} 上
次密钥矩阵 B_v ∈ GL(d, F_p)标量 β_v ∈ F_{p^d}^*
解密在 F_p^d 上暴力搜索在 F_{p^d}[τ] 上单变量分解
σ 的差分均匀性δ ≥ 2p (~34 当 p=17)δ ∈ {2, 4} (APN 或近乎 APN)
IND-CCA 目标不适用通过 FO 变换实现

测试了 14 种半正则性配置,全部精确匹配 Hilbert-Poincaré 预测。 根据定理 6.5(中心化子论证),不存在 MinRank 漏洞。在 69 种配置中未检测到弱密钥。

概述

消息被编码为图上具有循环秩 β_1 ≥ 1 的细胞层的全局截面。每个节点的加密:

root@kitploit:~
r_v = PRG(nonce, v)
u_v = ι(A_v · s_v + r_v)           ∈ F_{p^d}
w_v = β_v · u_v + (β_v − 1) · (L · u_v + 1)^e
c_v = ι^{-1}(w_v) − r_v

其中 A_v ∈ GL(d, F_p),β_v ∈ F_{p^d}^*,L ∈ F_{p^d}^* 是公开的。解密简化为在 F_{p^d}[τ] 中通过 Cantor-Zassenhaus 寻找 γ·τ^e + α·τ − (c′ + α) = 0 的根,然后通过所有 n − 1 个非根顶点处的上同调一致性进行过滤。

参数集

| 集合 | d | log₂ p | n | e | |sk| | |pk| | |c| | 安全性 | |---|---|---|---|---|---|---|---|---| | 演示 | 2 | 4 | 4 | 17 | 30 B | 10 B | 16 B | 不安全 | | 学术 | 3 | 16 | 8 | 17 | 0.3 KB | 30 B | 96 B | ~80 位经典 | | PQ-128 | 6 | 61 | 32 | 17 | 16 KB | 64 B | 1.5 KB | ≥128 后 Grover | | PQ-256 | 8 | 127 | 64 | 17 | 170 KB | 128 B | 8 KB | ≥256 后 Grover |

快速开始

root@kitploit:~
git clone https://github.com/QuantuSync/alaniz-cipher.git
cd alaniz-cipher
pip install -e .[test]

# 运行 v2 演示(历史)
python -m alaniz.demo.demo_basic

# 运行所有测试
pytest tests/ -v

# 运行 v3 验证实验
python experiments/07_semi_regularity.py
python experiments/08_weak_keys.py
python experiments/09_nonce_robustness.py
python experiments/10_centralizer.py
python experiments/11_kem_verification.py

最小 v3 示例

root@kitploit:~
from alaniz.core.field import FiniteField
from alaniz.core.graph import Graph
from alaniz.core.sheaf import Sheaf
from alaniz.crypto.protocol import ProtocolV3, PublicParamsV3
from alaniz.crypto.kem import KEM

Fp = FiniteField(17)
graph = Graph.cycle(4)
sheaf = Sheaf.random_with_cohomology(graph, dv=2, Fp=Fp)
proto = ProtocolV3(PublicParamsV3.generate(sheaf))
kem   = KEM(proto)

sk       = kem.keygen()
K, ct    = kem.encaps(sk)     # 发送方:随机消息 + 共享密钥
K_recv   = kem.decaps(sk, ct) # 接收方:如果有效,得到相同的 K
assert K == K_recv

项目结构

root@kitploit:~
alaniz-cipher/
├── alaniz/
│   ├── core/
│   │   ├── field.py        # F_p 算术 (v2,仍被 v1/v2 使用)
│   │   ├── field_ext.py    # 通过 galois 的 F_{p^d} 算术 (v3)
│   │   ├── graph.py        # 图拓扑(树、环等)
│   │   └── sheaf.py        # 细胞层 + 上同调约束
│   ├── crypto/
│   │   ├── sigma.py        # σ 映射:单项式幂 (v3), id_spn (v2), 立方/逆 (v1)
│   │   ├── protocol.py     # 协议 (v2), ProtocolV3 (v3)
│   │   ├── prg.py          # 用于 nonce 派生的 SHAKE-256 PRG (v3)
│   │   └── kem.py          # Fujisaki-Okamoto → IND-CCA KEM (v3)
│   └── demo/
│       └── demo_basic.py   # v2 演示(历史)
├── experiments/
│   ├── 01-06_*.py          # v1 分析(历史,论文 v2 附录)
│   ├── 14_v2_redteam.py    # v2 红队(历史)
│   ├── 07_semi_regularity.py    # v3:Hilbert-Poincaré 验证
│   ├── 08_weak_keys.py          # v3:69 种配置弱密钥扫描
│   ├── 09_nonce_robustness.py   # v3:定理 6.7
│   ├── 10_centralizer.py        # v3:定理 6.5
│   └── 11_kem_verification.py   # v3:KEM IND-CCA 经验测试
├── tests/
│   ├── test_protocol.py      # v2 测试(保留用于回归)
│   └── test_protocol_v3.py   # v3 测试
├── pyproject.toml
└── README.md

v1 和 v2:历史状态

v1:被 Langa 针对 σ_cube(λy) = λ³ σ_cube(y) 的缩放攻击破解(Alaniz 2026,论文 v3 附录 A)。可通过 O(d) 次查询恢复。

v2:被针对任何具有有界次数 σ 的确定性 c = As + Bσ(As) 的多项式插值 + Gröbner 攻击破解。对于 d=2, p=17,在 10/10 个随机实例上,通过 20 次 CPA 查询和约 5.7 秒的 SymPy 计算即可完全恢复密钥。参见 experiments/02_cpa_attack_analysis.py 和论文第 3 节。

v1 和 v2 类仍保留在此仓库中,以供历史重现。对于任何新用途,请使用 ProtocolV3。

引用

root@kitploit:~
@misc{alaniz2026cipherv3,
  author  = {Alaniz Pintos, Lucas},
  title   = {The Alaniz Cipher v3: Sheaf-Based Post-Quantum Encryption
             via Vector-Valued Finite Field Permutations},
  year    = {2026},
  url     = {https://github.com/QuantuSync/alaniz-cipher}
}

致谢

感谢 A. Rodríguez Langa (INECO) 对 v1 的密码分析,推动了通向 v2 并最终到 v3 的重新设计路径。

作者

Lucas Alaniz Pintos INECO 智能产品部门 [email protected] ORCID: 0009-0008-5179-2534

许可证

MIT

下载工具