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
+26
View File
@@ -0,0 +1,26 @@
package paillier
import (
"crypto/rand"
"math/big"
"testing"
"github.com/stretchr/testify/assert"
"xdx.jelly/xgcl/grand"
)
func TestNeg(t *testing.T) {
sk, err := GenerateKeyFromPassword(2048, grand.GetRandom(32), grand.GetRandom(32), 1024)
assert.Nil(t, err)
pk := sk.Public()
m, _ := rand.Int(grand.Reader, pk.N)
mNeg := new(big.Int).Sub(pk.N, m) // n - m
c, _ := Encrypt(m, pk, grand.Reader)
c.Neg(pk) // Enc(n-m) = Enc(m)^-1 mod n^2
mm, _ := Decrypt(c, sk)
assert.Zero(t, mm.Cmp(mNeg))
}