summaryrefslogtreecommitdiffstats
path: root/lib/rsa.go
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rsa.go')
-rw-r--r--lib/rsa.go48
1 files changed, 0 insertions, 48 deletions
diff --git a/lib/rsa.go b/lib/rsa.go
index 3d29bae..1a860eb 100644
--- a/lib/rsa.go
+++ b/lib/rsa.go
@@ -8,12 +8,6 @@ import (
"math/big"
)
-type GCDResult struct {
- Gcd *big.Int
- X *big.Int // Bézout coefficient 'x'
- Y *big.Int // Bézout coefficient 'y'
-}
-
// Represents an RSA key pair.
type RSAPair struct {
Public *RSAPub
@@ -39,48 +33,6 @@ func biCopy(a, b *big.Int) *big.Int {
return a
}
-// Extended Euclidian.
-func egcd(a, b *big.Int) GCDResult {
- // Initialize.
- s0 := big.NewInt(1)
- s1 := big.NewInt(0)
- r0 := biCopy(big.NewInt(0), a)
- r1 := biCopy(big.NewInt(0), b)
-
- for r1.Cmp(big.NewInt(0)) != 0 {
- q := big.NewInt(0)
- q.Div(r0, r1)
-
- tr := big.NewInt(0)
- tr = tr.Mul(q, r1)
- tr = tr.Sub(r0, tr)
-
- biCopy(r0, r1)
- biCopy(r1, tr)
-
- tr = big.NewInt(0)
- tr = tr.Mul(q, s1)
- tr = tr.Sub(s0, tr)
-
- biCopy(s0, s1)
- biCopy(s1, tr)
- }
-
- x := biCopy(big.NewInt(0), s0)
- y := big.NewInt(0)
- if b.Cmp(big.NewInt(0)) != 0 {
- y = y.Mul(s0, a)
- y = y.Sub(r0, y)
- y = y.Div(y, b)
- }
-
- return GCDResult{
- Gcd: biCopy(big.NewInt(0), r0),
- X: x,
- Y: y,
- }
-}
-
func invmod(a, n *big.Int) (*big.Int, error) {
// Initialize.
t0 := big.NewInt(0)