47、针对侧信道攻击的更灵活对策

针对侧信道攻击的更灵活对策

1. 椭圆曲线密码系统(ECC)的标量乘法

椭圆曲线密码系统(ECC)的标量乘法用于计算椭圆曲线上一点 $P$ 与标量 $d$ 的乘积 $dP$。为了提高计算效率,通常采用有符号表示法,其中最快且内存占用较少的方法是宽度 - $w$ 非相邻形式(NAF)。

宽度 - $w$ NAF 将一个 $n$ 位整数 $d$ 表示为 $d = \sum_{i=0}^{n} dw[i]2^i$,其中 $dw[i]$ 是奇数,且 $|dw[i]| < 2^{w - 1}$,在连续 $w$ 位中最多有一个非负数字。我们需要预先计算包含点 $P, 3P, \cdots, (2^{w - 1} - 1)P$ 的表,该表共有 $2^{w - 2}$ 个点(包括基点 $P$),相反符号的点在标量乘法过程中动态生成。

以下是生成宽度 - $w$ NAF 和使用宽度 - $w$ NAF 进行标量乘法的算法:

生成宽度 - $w$ NAF

INPUT An n-bit d, a width w
OUTPUT dw[n], dw[n - 1], ..., dw[0]
1. i ← 0
2. While d > 0 do the following
    2.1. if d is odd then do following
        2.1.1. dw[i] ← d mods 2w
        2.1.2. d ← d - dw[i]
    2.2. else dw[i] ← 0
    2.3. d ← d/2, i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值