bn

 Barreto-Naehrig curves

 

p(t) = 36t 4 + 36t 3 + 24t 2 + 6t + 1,

r(t) = 36t 4 + 36t 3 + 18t 2 + 6t + 1, 

tr(t) = 6t 2 + 1,

 

func main() {
p := 6 * 66410 + 1
r := 6 * 66310 + 1
d := 1
for i := 1; i < 0xfffffffff; i++{
d *= p
d = d % r
//fmt.Println(d)
if d == 1 {
fmt.Println(i)
return
}
}
}



func zmain() {
//u, _ := new(big.Int).SetString("6518589491078791937", 10)
for j := 1; j < 0xfffffff; j++{
u := big.NewInt(int64(j))
u2 := new(big.Int).Mul(u, u)
u3 := new(big.Int).Mul(u2, u)
u4 := new(big.Int).Mul(u3, u)
p := new(big.Int).Mul(u4, big.NewInt(36))
p.Add(p, new(big.Int).Mul(u3, big.NewInt(36)))
p.Add(p, new(big.Int).Mul(u, big.NewInt(6)))
p.Add(p, big.NewInt(1))
r := new(big.Int).Set(p)
p.Add(p, new(big.Int).Mul(u2, big.NewInt(24)))
r.Add(r, new(big.Int).Mul(u2, big.NewInt(18)))
//fmt.Println(p)
//fmt.Println(r)
for i := 1; i < 0xfffffffff; i++{
d := new(big.Int).Exp(p, new(big.Int).SetUint64(uint64(i)), r)
if d.Cmp(new(big.Int).SetUint64(1)) == 0 {
if i == 12 {
break
}
fmt.Println(j)
fmt.Println(i)
}
}
}
}






posted @   zJanly  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示