diff options
| author | siddharth ravikumar <s@ricketyspace.net> | 2024-10-14 19:16:11 -0400 |
|---|---|---|
| committer | siddharth ravikumar <s@ricketyspace.net> | 2024-10-14 19:16:11 -0400 |
| commit | 32803d4577151e18252c7e2102738b544e99fcbc (patch) | |
| tree | 5380965064b597ca72cbcc53d2689a27db1325ae | |
| parent | 0bede4cd60eafb508598ba2f6098f1792623f984 (diff) | |
lib: update `RSAGenKey`
Add `size` argument.
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | challenge/c39.go | 2 | ||||
| -rw-r--r-- | challenge/c40.go | 2 | ||||
| -rw-r--r-- | challenge/c41.go | 2 | ||||
| -rw-r--r-- | cryptopals.go | 2 | ||||
| -rw-r--r-- | lib/rsa.go | 7 | ||||
| -rw-r--r-- | lib/rsa_test.go | 4 |
7 files changed, 12 insertions, 9 deletions
@@ -18,7 +18,7 @@ vet: .PHONY: vet test: - go test ${ARGS} ${MOD}/lib + go test ${ARGS} ${MOD}/lib ${RUN_ARGS} .PHONY: test clean: diff --git a/challenge/c39.go b/challenge/c39.go index 6261c13..fbdb6f9 100644 --- a/challenge/c39.go +++ b/challenge/c39.go @@ -10,7 +10,7 @@ import ( ) func C39() { - rsa, err := lib.RSAGenKey() + rsa, err := lib.RSAGenKey(2048) if err != nil { fmt.Printf("gen key failed: %v", err) return diff --git a/challenge/c40.go b/challenge/c40.go index ec16059..c12b74c 100644 --- a/challenge/c40.go +++ b/challenge/c40.go @@ -16,7 +16,7 @@ func C40() { // Generate 3 rsa key pairs and capture the their public keys. var rsaPubs []*lib.RSAPub for i := 0; i < 3; i++ { - rsa, err := lib.RSAGenKey() + rsa, err := lib.RSAGenKey(2048) if err != nil { fmt.Printf("gen key failed: %v", err) return diff --git a/challenge/c41.go b/challenge/c41.go index 4ef983d..532f62b 100644 --- a/challenge/c41.go +++ b/challenge/c41.go @@ -12,7 +12,7 @@ import ( func C41() { // Generate RSA key pair and setup paraphernalia. - kpair, err := lib.RSAGenKey() + kpair, err := lib.RSAGenKey(2048) if err != nil { fmt.Printf("rsa gen key: %v\n", err) return diff --git a/cryptopals.go b/cryptopals.go index 5d02e56..a22c9fc 100644 --- a/cryptopals.go +++ b/cryptopals.go @@ -102,5 +102,7 @@ func main() { challenge.C40() case 41: challenge.C41() + case 42: + challenge.C42() } } @@ -68,7 +68,8 @@ func InvMod(a, n *big.Int) (*big.Int, error) { return t0, nil } -func RSAGenKey() (*RSAPair, error) { +// RSAGenKey generates a rsa key pair with N equal to size bits. +func RSAGenKey(size int) (*RSAPair, error) { // Initialize. e := big.NewInt(3) d := big.NewInt(0) @@ -77,13 +78,13 @@ func RSAGenKey() (*RSAPair, error) { // Compute n and d. for { // Generate prime p. - p, err := rand.Prime(rand.Reader, 1024) + p, err := rand.Prime(rand.Reader, size/2) if err != nil { return nil, CPError{"unable to generate p"} } // Generate prime q. - q, err := rand.Prime(rand.Reader, 1024) + q, err := rand.Prime(rand.Reader, size/2) if err != nil { return nil, CPError{"unable to generate q"} } diff --git a/lib/rsa_test.go b/lib/rsa_test.go index d26ee2c..810d7cc 100644 --- a/lib/rsa_test.go +++ b/lib/rsa_test.go @@ -59,7 +59,7 @@ func TestInvMod(t *testing.T) { } func TestRSAGenKey(t *testing.T) { - pair, err := RSAGenKey() + pair, err := RSAGenKey(2048) if err != nil { t.Errorf("genkey: %v", err) return @@ -95,7 +95,7 @@ func TestRSAGenKey(t *testing.T) { } func TestRSAEncryptDecrypt(t *testing.T) { - pair, err := RSAGenKey() + pair, err := RSAGenKey(2048) if err != nil { t.Errorf("genkey: %v", err) return |
