From 2eb326b0da1418250e264ca8183a1d0f82ee336a Mon Sep 17 00:00:00 2001 From: Sam Kim Date: Tue, 12 Oct 2021 10:36:17 -0400 Subject: [PATCH] add keypair derivation --- zk-token-sdk/src/encryption/elgamal.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/zk-token-sdk/src/encryption/elgamal.rs b/zk-token-sdk/src/encryption/elgamal.rs index d4407ffd23..8b56cc3d6d 100644 --- a/zk-token-sdk/src/encryption/elgamal.rs +++ b/zk-token-sdk/src/encryption/elgamal.rs @@ -57,6 +57,14 @@ impl ElGamal { } } + #[cfg(not(target_arch = "bpf"))] + #[allow(non_snake_case)] + pub fn from_signing_key(signing_key: &SigningKey, label: &'static [u8]) -> Self { + let secret = ElGamalSecretKey::new(signing_key, label); + let public = ElGamalPubkey::new(&secret); + Self {secret, public} + } + /// On input a public key and a message to be encrypted, the function /// returns an ElGamal ciphertext of the message under the public key. #[cfg(not(target_arch = "bpf"))]