51、深入解析BKZ算法及其在q-ary格中的应用与模拟

深入解析BKZ算法及其在q-ary格中的应用与模拟

1. NTRU问题与BKZ算法的引入

NTRU问题旨在寻找NTRU格中向量(g | f)的任意旋转(Xif, Xig)。这些行向量的长度约为 $|(g | f)| \approx \sqrt{2n\sigma^2}$,当 $H \in (\mathbb{Z}/q\mathbb{Z})^{n\times n}$ 是真正均匀的随机格时,该长度远小于NTRU格 $L_{H,q}$ 的高斯启发式值 $\lambda_1(L_{H,q}) \approx \sqrt{nq/(\pi e)}$。为了解决NTRU问题,我们需要借助BKZ算法来寻找NTRU格中这些异常短的向量。

2. BKZ算法详解
  • BKZ - β约化基的定义 :一个基 $B = [b_0, \ldots, b_{n - 1}]$ 被称为BKZ - β约化的,如果对于所有 $\kappa = 0, \ldots, d - 1$,有 $|b_{\kappa}^*| = \lambda_1(L_{[\kappa:\min(\kappa + \beta, d))})$。
  • BKZ算法流程
    • 输入:格基 $B$、块大小 $\beta \geq 2$ 和常数 $\delta < 1$。
    • 输出:$L(B)$ 的BKZ - β约化基。
1: repeat
2:     for k =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值