#include "third_party/private-join-and-compute/src/crypto/ec_point.h"
#include <vector>
#include "third_party/private-join-and-compute/src/chromium_patch.h"
#include "third_party/private-join-and-compute/src/crypto/big_num.h"
#include "third_party/private-join-and-compute/src/crypto/context.h"
#include "third_party/private-join-and-compute/src/crypto/openssl.inc"
#include "third_party/private-join-and-compute/src/util/status.inc"
namespace private_join_and_compute {
ECPoint::ECPoint(const EC_GROUP* group, BN_CTX* bn_ctx)
: … { … }
ECPoint::ECPoint(const EC_GROUP* group, BN_CTX* bn_ctx, const BigNum& x,
const BigNum& y)
: … { … }
ECPoint::ECPoint(const EC_GROUP* group, BN_CTX* bn_ctx, ECPointPtr point)
: … { … }
StatusOr<std::string> ECPoint::ToBytesCompressed() const { … }
StatusOr<std::string> ECPoint::ToBytesUnCompressed() const { … }
StatusOr<ECPoint> ECPoint::Mul(const BigNum& scalar) const { … }
StatusOr<ECPoint> ECPoint::Add(const ECPoint& point) const { … }
StatusOr<ECPoint> ECPoint::Clone() const { … }
StatusOr<ECPoint> ECPoint::Inverse() const { … }
bool ECPoint::IsPointAtInfinity() const { … }
bool ECPoint::CompareTo(const ECPoint& point) const { … }
}