28、椭圆曲线密码学:原理、应用与曲线选择

椭圆曲线密码学:原理、应用与选择

椭圆曲线密码学:原理、应用与曲线选择

1. 椭圆曲线群

椭圆曲线上的点可以相加,这些点的集合构成一个群。根据群的定义,如果点P和Q属于某条给定曲线,那么P + Q也属于该曲线。此外,加法满足结合律,即对于任意点P、Q和R,有(P + Q) + R = P + (Q + R)。

在椭圆曲线点群中,单位元是无穷远点,记为O,对于任意点P,有P + O = P。每个点P = (xP, yP)都有一个逆元 -P = (xP, -yP),使得P + (-P) = O。

在实际应用中,大多数基于椭圆曲线的密码系统使用的x和y坐标是模素数p的数(即在有限域Zp中的数)。椭圆曲线密码系统的安全性取决于曲线上的点数。虽然有一个经验法则是曲线上大约有p个点,但可以使用Schoof算法来计算精确的点数。例如,以下代码展示了如何使用SageMath计算曲线y² = x³ - 4x在Z191上的点数:

sage: Z = Zmod(191)
sage: E = EllipticCurve(Z, (-4,0))
sage: E.cardinality()
192

在上述代码中,首先定义变量Z为模191的整数集合,然后定义变量E为Z上系数为 -4和0的椭圆曲线,最后计算曲线上的点数(即基数、群阶或简称为阶),这个计数包括无穷远点O。

2. 椭圆曲线离散对数问题(ECDLP)

之前提到过离散对数问题(DLP),即给定基数g和x = gy mod p(p为大素数),求y。椭圆曲线密码学中有一个类似的问题:给定基点P和点Q = kP,求k,这就是椭圆曲线离散对数问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值