:param bytes prv: serialized private key
:rtype: long
+
+ It is advisable to use :py:func:`pygost.gost3410.prv_marshal` to
+ assure that key i in curve's Q field for better compatibility with
+ some implementations.
"""
return bytes2long(prv[::-1])
+def prv_marshal(curve, prv):
+ """Marshal little-endian private key
+
+ :param GOST3410Curve curve: curve to use
+ :param long prv: serialized private key
+ :rtype: bytes
+
+ Key is in curve's Q field.
+ """
+ return long2bytes(prv % curve.q, point_size(prv))[::-1]
+
+
def pub_marshal(pub):
"""Marshal public key