From d84d5953788f29d49d9a21c7a528039ed333cd9b Mon Sep 17 00:00:00 2001 From: Evgeniy Razinkov Date: Wed, 19 Apr 2017 17:22:05 +0300 Subject: [PATCH] added wrapper for paring --- src/services/crypto/wrappers/pair.rs | 79 ++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/src/services/crypto/wrappers/pair.rs b/src/services/crypto/wrappers/pair.rs index e69de29..d3fc3b0 100644 --- a/src/services/crypto/wrappers/pair.rs +++ b/src/services/crypto/wrappers/pair.rs @@ -0,0 +1,79 @@ +use errors::crypto::CryptoError; + +pub struct PointG1 { + +} + +pub struct PointG2 { + +} + +pub struct GroupOrderElement { + +} + +pub struct Pair { + +} + +impl PointG1 { + pub fn new() -> Result { + // generate random point from the group G1 + unimplemented!(); + } + + pub fn mul(&mut self, gr: &mut GroupOrderElement) -> Result { + unimplemented!(); + } + + pub fn add(&mut self, q: &mut PointG1) -> Result<&mut PointG1, CryptoError> { + //unimplemented!(); + Ok(self) + } + + pub fn to_string(&mut self) -> Result { + unimplemented!(); + } + + pub fn to_bytes(&mut self, b: &mut [u8]) { + unimplemented!(); + } + + pub fn from_bytes(b: &[u8]) -> PointG1 { + unimplemented!(); + } +} + +impl GroupOrderElement { + pub fn new() -> Result { + // returns random element in 0, ..., GroupOrder-1 + unimplemented!(); + } + + pub fn pow(&mut self, e: &mut GroupOrderElement) -> Result { + // need to use powmod where n - group_order + unimplemented!(); + } + + pub fn add(&mut self, r: &GroupOrderElement) -> Result<&mut GroupOrderElement, CryptoError> { + //need to use rmod after add + //unimplemented!(); + Ok(self) + } + + pub fn inverse(&mut self) -> Result { + unimplemented!(); + } + + pub fn to_string(&mut self) -> Result { + unimplemented!(); + } + + pub fn to_bytes(&mut self, b: &mut [u8]) { + unimplemented!(); + } + + pub fn from_bytes(b: &[u8]) -> GroupOrderElement { + unimplemented!(); + } +} \ No newline at end of file