init: v1.0.0

This commit is contained in:
yaole
2026-05-27 23:03:00 +08:00
commit 8d97f750eb
466 changed files with 80067 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
// +build generic32
package ec256
import (
"fmt"
"math/big"
"testing"
"xdx.jelly/xgcl/gmath"
)
// 窗口为8的预计算点
func TestGenCurvePrecompute8(t *testing.T) {
table := make([]*big.Int, 0, 2*256)
// for i = i[k], i[i] = 0 or 1
// table[i] is i[0] + i[1]*2^32 + i[2]*2^64 + ... + i[7]*2^{224}
for i := 0; i < 256; i++ {
k := new(big.Int)
for j := 7; j >= 0; j-- {
if (i>>j)&1 != 0 {
k.Add(k, gmath.BigInt1)
}
k.Lsh(k, 32)
}
x, y := c256.ScalarBaseMult(k.Bytes())
table = append(table, x)
table = append(table, y)
}
for _, x := range table {
var out [c256Limbs]uint32
c256FromBig(&out, x)
fmt.Printf("0x%08x,0x%08x,0x%08x,0x%08x,0x%08x,0x%08x,0x%08x,0x%08x,0x%08x\n",
out[0], out[1], out[2], out[3], out[4], out[5], out[6], out[7], out[8],
)
// fmt.Printf("&curvePoint{gfP{0x%x,0x%x,0x%x,0x%x},gfP{0x%x,0x%x,0x%x,0x%x},*newGFp(1),*newGFp(1)},\n",
// x.x[0], x.x[1], x.x[2], x.x[3],
// x.y[0], x.y[1], x.y[2], x.y[3])
}
}