NTRU密码
2024/4/5大约 1 分钟
简介: NTRU 加密算法,是 RSA 和椭圆曲线加密ECC 的基于 NTRU 格的替代方案,并且基于格中的最短向量问题。
它依赖于将截断多项式环中的某些多项式因式分解为具有非常小的系数的两个多项式的商的假定困难。
1、NTRU加密算法
首先随机选取素数
计算:
公钥:
私钥:
临时密钥:
加密公式:
解密公式:
令
所以
2、求解私钥
题目给的已知量:公钥
需要求解私钥:
由
选定一组向量 (1 , h) ,(0 , q) ,构造线性无关的向量组
根据线性关系可以构造格 L:
向量 (f , g)可以由这组格基向量 M 和整数系数(f , -k)线性组合表示,因此向量 (f , g)也在格 L 上。
所以我们可以利用 LLL 算法计算出这个格的最短向量,也就是私钥