rename PrivateKey -> SecretKey
This commit is contained in:
1 parent
5adb70bc7b
commit
a1d5898e75
2 files changed
+7
-7
No files matched your search
+6
-6
@@ -115,10 +115,10 @@ type SecretKey struct {
|
|||||||
// D(c) = [ ((c^lambda) mod N^2) - 1) / N ] lambda^-1 mod N
|
// D(c) = [ ((c^lambda) mod N^2) - 1) / N ] lambda^-1 mod N
|
||||||
//
|
//
|
||||||
// See [KL 08] construction 11.32, page 414.
|
// See [KL 08] construction 11.32, page 414.
|
||||||
func (priv *SecretKey) Decrypt(cypher *Cypher) (msg *big.Int) {
|
func (sk *SecretKey) Decrypt(cypher *Cypher) (msg *big.Int) {
|
||||||
mu := new(big.Int).ModInverse(priv.Lambda, priv.N)
|
mu := new(big.Int).ModInverse(sk.Lambda, sk.N)
|
||||||
tmp := new(big.Int).Exp(cypher.C, priv.Lambda, priv.GetNSquare())
|
tmp := new(big.Int).Exp(cypher.C, sk.Lambda, sk.GetNSquare())
|
||||||
msg = new(big.Int).Mod(new(big.Int).Mul(L(tmp, priv.N), mu), priv.N)
|
msg = new(big.Int).Mod(new(big.Int).Mul(L(tmp, sk.N), mu), sk.N)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,12 +143,12 @@ func computePhi(p, q *big.Int) *big.Int {
|
|||||||
return new(big.Int).Mul(minusOne(p), minusOne(q))
|
return new(big.Int).Mul(minusOne(p), minusOne(q))
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateSecretKey generates a Paillier private key accepting two large prime
|
// CreateSecretKey generates a Paillier skate key accepting two large prime
|
||||||
// numbers of equal length or other such that gcd(pq, (p-1)(q-1)) = 1.
|
// numbers of equal length or other such that gcd(pq, (p-1)(q-1)) = 1.
|
||||||
//
|
//
|
||||||
// Algorithm is based on approach described in [KL 08], construction 11.32,
|
// Algorithm is based on approach described in [KL 08], construction 11.32,
|
||||||
// page 414 which is compatible with one described in [DJN 10], section 3.2
|
// page 414 which is compatible with one described in [DJN 10], section 3.2
|
||||||
// except that instead of generating Lambda private key component from LCM
|
// except that instead of generating Lambda skate key component from LCM
|
||||||
// of p and q we use Euler's totient function as suggested in [KL 08].
|
// of p and q we use Euler's totient function as suggested in [KL 08].
|
||||||
//
|
//
|
||||||
// [KL 08]: Jonathan Katz, Yehuda Lindell, (2008)
|
// [KL 08]: Jonathan Katz, Yehuda Lindell, (2008)
|
||||||
|
|||||||
+1
-1
@@ -171,7 +171,7 @@ func (tk *ThresholdPublicKey) VerifyDecryption(encryptedMessage, decryptedMessag
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Private key for a threshold Paillier scheme. Holds private information
|
// Private key for a threshold Paillier scheme. Holds skate information
|
||||||
// for the given decryption server.
|
// for the given decryption server.
|
||||||
// `Id` is the unique identifier of a decryption server and `Share` is a secret
|
// `Id` is the unique identifier of a decryption server and `Share` is a secret
|
||||||
// share generated from hiding polynomial and is used for a partial share decryption.
|
// share generated from hiding polynomial and is used for a partial share decryption.
|
||||||
|
|||||||
Reference in new issue
Block a user