Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
页面加载耗时 0.00 毫秒·物理内存 123.9MB ·虚拟内存 1372.4MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
逆元,即逆元素,是指一个可以取消另一给定元素运算的元素,在数学里,逆元素广义化了加法中的加法逆元和乘法中的倒数。
在正整数有限域 Fp (p是素数)上,a 的乘法逆元 b 满足:ab ≡ 1(mod p)。
例如: a=4, p=23 ,因为 4 * 6 mod 23 = 1,所以 a=4 的逆元为 6。
使用 go 语言求解有限域上的逆元:
package main
import "fmt"
func inv(x, p int) int {
if x == 0 || x>=p {
panic("参数 x 必须在 1 到 p-1 之间")
return 0
}
if x == 1 {
return 1
}
return (p - p/x) * inv(p%x, p) % p
}
func main() {
x := 4
p := 23
y := inv(x, p)
fmt.Printf("x=%v,p=%v 有限域上的逆元:%v", x, p, y)
}
运行后输出结果:
x=4,p=23 有限域上的逆元:6
Secp256k1 即 Standards for Efficient Cryptography Parameters,是指比特币中使用的ECDSA(椭圆曲线数字签名算法)曲线的参数,并且在高效密码学标准中进 ...