aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/ec.rs25
1 files changed, 21 insertions, 4 deletions
diff --git a/openssl/src/ec.rs b/openssl/src/ec.rs
index ae712430..a4470b2c 100644
--- a/openssl/src/ec.rs
+++ b/openssl/src/ec.rs
@@ -144,18 +144,35 @@ impl EcPointRef {
}
}
- /// Computes `generator * n + q * m`, storing the result in `self`.
+ /// Computes `generator * n`, storing the result ing `self`.
pub fn mul_generator(&mut self,
group: &EcGroupRef,
n: &BigNumRef,
- q: &EcPointRef,
- m: &BigNumRef,
- ctx: &mut BigNumContextRef)
+ ctx: &BigNumContextRef)
-> Result<(), ErrorStack> {
unsafe {
cvt(ffi::EC_POINT_mul(group.as_ptr(),
self.as_ptr(),
n.as_ptr(),
+ ptr::null(),
+ ptr::null(),
+ ctx.as_ptr()))
+ .map(|_| ())
+ }
+ }
+
+ /// Computes `generator * n + q * m`, storing the result in `self`.
+ pub fn mul_full(&mut self,
+ group: &EcGroupRef,
+ n: &BigNumRef,
+ q: &EcPointRef,
+ m: &BigNumRef,
+ ctx: &mut BigNumContextRef)
+ -> Result<(), ErrorStack> {
+ unsafe {
+ cvt(ffi::EC_POINT_mul(group.as_ptr(),
+ self.as_ptr(),
+ n.as_ptr(),
q.as_ptr(),
m.as_ptr(),
ctx.as_ptr()))