b = ... # type: int
x = ... # type: int
y = ... # type: int
+ cofactor = ... # type: int
+ e = ... # type: int
+ d = ... # type: int
def __init__(
- self, p: bytes, q: bytes, a: bytes, b: bytes, x: bytes, y: bytes
+ self,
+ p: int,
+ q: int,
+ a: int,
+ b: int,
+ x: int,
+ y: int,
+ cofactor: int = 1,
+ e: int = None,
+ d: int = None,
) -> None: ...
+ def pos(self, v: int) -> int: ...
+
def exp(self, degree: int, x: int=..., y: int=...) -> int: ...
+ def st(self) -> Tuple[int, int]: ...
+
def public_key(curve: GOST3410Curve, prv: int) -> PublicKey: ...
-def sign(curve: GOST3410Curve, prv: int, digest: bytes, mode: int=...) -> bytes: ...
+def sign(curve: GOST3410Curve, prv: int, digest: bytes, rand: bytes=None) -> bytes: ...
-def verify(
- curve: GOST3410Curve,
- pub: PublicKey,
- digest: bytes,
- signature: bytes,
- mode: int=...,
-) -> bool: ...
+def verify(curve: GOST3410Curve, pub: PublicKey, digest: bytes, signature: bytes) -> bool: ...
def prv_unmarshal(prv: bytes) -> int: ...
-def pub_marshal(pub: PublicKey, mode: int=...) -> bytes: ...
+def pub_marshal(pub: PublicKey) -> bytes: ...
+
+
+def pub_unmarshal(pub: bytes) -> PublicKey: ...
+
+
+def uv2xy(curve: GOST3410Curve, u: int, v: int) -> Tuple[int, int]: ...
-def pub_unmarshal(pub: bytes, mode: int=...) -> PublicKey: ...
+def xy2uv(curve: GOST3410Curve, x: int, y: int) -> Tuple[int, int]: ...