diff options
Diffstat (limited to 'lib/rsa.go')
| -rw-r--r-- | lib/rsa.go | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -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"} } |
