From 3aadff0d4782858afb687593ba54a6066467c95d Mon Sep 17 00:00:00 2001 From: siddharth ravikumar Date: Sun, 14 Aug 2022 13:05:53 -0400 Subject: lib: add `RSAGenKey` --- lib/rsa_test.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'lib/rsa_test.go') diff --git a/lib/rsa_test.go b/lib/rsa_test.go index 6e04ee7..f735f75 100644 --- a/lib/rsa_test.go +++ b/lib/rsa_test.go @@ -100,3 +100,39 @@ func TestInvMod(t *testing.T) { t.Errorf("gcd(%v,%v) != %v", a, b, e) } } + +func TestRSAGenKey(t *testing.T) { + pair, err := RSAGenKey() + if err != nil { + t.Errorf("genkey: %v", err) + return + } + if pair.Public == nil { + t.Error("genkey: pub key is nil") + return + } + if pair.Public.e.Cmp(big.NewInt(0)) < 1 { + t.Error("genkey: e is invalid") + return + } + if pair.Public.n.Cmp(big.NewInt(0)) < 1 { + t.Error("genkey: n is invalid") + return + } + if pair.Private == nil { + t.Error("genkey: private key is nil") + return + } + if pair.Private.d.Cmp(big.NewInt(0)) < 1 { + t.Error("genkey: d is invalid") + return + } + if pair.Private.n.Cmp(big.NewInt(0)) < 1 { + t.Error("genkey: n is invalid") + return + } + if pair.Public.n.Cmp(pair.Private.n) != 0 { + t.Error("genkey: public.n != private.n") + return + } +} -- cgit v1.2.3