39 static std::optional<EC_Scalar> deserialize(
const EC_Group& group, std::span<const uint8_t> bytes);
46 static EC_Scalar from_bytes_with_trunc(
const EC_Group& group, std::span<const uint8_t> bytes);
54 static EC_Scalar from_bytes_mod_order(
const EC_Group& group, std::span<const uint8_t> bytes);
70 static std::optional<std::pair<EC_Scalar, EC_Scalar>> deserialize_pair(
const EC_Group& group,
71 std::span<const uint8_t> bytes);
102 size_t bytes()
const;
109 void serialize_to(std::span<uint8_t> bytes)
const;
114 template <concepts::resizable_
byte_buffer T = std::vector<u
int8_t>>
117 this->serialize_to(s);
126 static void serialize_pair_to(std::span<uint8_t> bytes,
const EC_Scalar& r,
const EC_Scalar& s);
131 template <concepts::resizable_
byte_buffer T = std::vector<u
int8_t>>
134 serialize_pair_to(bytes, r, s);
141 bool is_zero()
const;
224 static EC_Scalar _from_inner(std::unique_ptr<EC_Scalar_Data> inner);
229 EC_Scalar(std::unique_ptr<EC_Scalar_Data> scalar);
233 std::unique_ptr<EC_Scalar_Data> m_scalar;