Crypto++ 中的椭圆曲线点加法和乘法
Elliptic Curve Point Addition and Multiplication in Crypto++
如何使用Crypto++库在椭圆曲线中使用点加法和乘法函数?
我尝试了以下代码,其中 Basepoint
和 point
是椭圆曲线上的点。
const ECP::Point& ECP::Add(&Basepoint, &point);
ECP::Point& result = ECP::Add(Basepoint, point);
const int result = ECP::Point ECP::Add(&Basepoint, &point);
结果是:
ERROR: E0245 a nonstatic member reference must be relative to a
specific object
在
ECP::Point& result = ECP::Add(Basepoint, point);
你调用ECP::Add
作为ECP的静态成员,错误提示没有静态Add,你需要将它应用到ECP的一个实例
当我看 documentation 我只看到
const Point & Add (const Point &P, const Point &Q) const
这不是静态的
还有
const ECP::Point& ECP::Add(&Basepoint, &point);
const int result = ECP::Point ECP::Add(&Basepoint, &point);
是无效的表格。
即使只有 ECP::Add(&Basepoint, &point);
也是错误的,因为操作不是静态的,因为参数是指向 Point 的指针,与操作参数不兼容。可能你必须看看 C++ 中的引用是什么 documentation/tutorial
有效代码可以是
ECP ecp;
Point basepoint;
Point point;
// set ecp, basepoint and point to be the ones you want
const Point & r1 = ecp.Add(basepoint, point); // do not copy the result
Point r2 = ecp.Add(basepoint, point); // copy result in non const to be able to modify it later etc
如何使用Crypto++库在椭圆曲线中使用点加法和乘法函数?
我尝试了以下代码,其中 Basepoint
和 point
是椭圆曲线上的点。
const ECP::Point& ECP::Add(&Basepoint, &point);
ECP::Point& result = ECP::Add(Basepoint, point);
const int result = ECP::Point ECP::Add(&Basepoint, &point);
结果是:
ERROR: E0245 a nonstatic member reference must be relative to a specific object
在
ECP::Point& result = ECP::Add(Basepoint, point);
你调用ECP::Add
作为ECP的静态成员,错误提示没有静态Add,你需要将它应用到ECP的一个实例
当我看 documentation 我只看到
const Point & Add (const Point &P, const Point &Q) const
这不是静态的
还有
const ECP::Point& ECP::Add(&Basepoint, &point);
const int result = ECP::Point ECP::Add(&Basepoint, &point);
是无效的表格。
即使只有 ECP::Add(&Basepoint, &point);
也是错误的,因为操作不是静态的,因为参数是指向 Point 的指针,与操作参数不兼容。可能你必须看看 C++ 中的引用是什么 documentation/tutorial
有效代码可以是
ECP ecp;
Point basepoint;
Point point;
// set ecp, basepoint and point to be the ones you want
const Point & r1 = ecp.Add(basepoint, point); // do not copy the result
Point r2 = ecp.Add(basepoint, point); // copy result in non const to be able to modify it later etc