椭圆曲线密码学(ECC)的指令集扩展研究
1. 椭圆曲线密码学概述
椭圆曲线密码学(ECC)于1985年由Victor Miller和Neal Koblitz独立提出。与“标准”公钥方法(如RSA)相比,ECC在相同安全级别下所需的密钥更短,这使得其实现速度更快,并且能减少能源和带宽消耗,特别适用于受限设备上的嵌入式应用。
椭圆曲线可在有限域(FF)上定义,如GF(p)和GF(2m)。曲线上的点P = (x, y)满足方程$y^2 + xy = x^3 + ax^2 + b$(其中$a, b, x, y \in FF$且$b \neq 0$),此外还有一个无穷远点O。曲线上定义了加法运算,可用于计算点的整数倍,即标量乘法[k]P,它能通过点P的重复加倍和加法自然实现,且具有与离散对数密码系统中指数运算相似的安全特性。
椭圆曲线点的加法和加倍可通过底层二进制有限域中的加法、乘法、平方和求逆运算来计算,具体公式如图9.13所示:
x3 = λ^2 + λ + a + x1 + x2
y3 = λ · (x1 + x3) + x3 + y1
λ =
{
(y2 + y1) / (x2 + x1), if P ≠ Q
x1 + y1 / x1, if P = Q
}
处理有限域元素需要多精度算术,因为典型的域大小长达数百位。标准处理器将大值(m位)作为w位长字的数组进行管理,所需的字数为$\lceil m / w \rceil$。
有限域加法在GF(p)中需逐字进行,并考虑进位传播,使用高级语言实现可能较棘手,而在汇编器中根据可用的I
超级会员免费看
订阅专栏 解锁全文
的指令集扩展研究&spm=1001.2101.3001.5002&articleId=154274926&d=1&t=3&u=89cb3cbcc4d44468be2743e89e1ed6e1)
1045

被折叠的 条评论
为什么被折叠?



