Java 如何确定EC点是否在曲线上?

Java 如何确定EC点是否在曲线上?,java,cryptography,elliptic-curve,Java,Cryptography,Elliptic Curve,我有一个ECPoint对象“pointW”,我想检查它是否真的位于椭圆曲线上。我该怎么做?我更喜欢使用Java Crypto API的解决方案,但Bouncy Castle也可以。 谢谢大家! 可能有一种更直接的方法,但是如果您有EllipticCurve对象,您总是可以将点的坐标替换为曲线方程。有太多的功能-尤其是BC提供了许多检查和转换方法-我认为已经存在这样的方法,我不想重新编码车轮。我最终还是按照你的建议做了,结果比我预期的要省力得多。@Thomas-我正在尝试检查Qc(公钥)是否在曲线

我有一个ECPoint对象“pointW”,我想检查它是否真的位于椭圆曲线上。我该怎么做?我更喜欢使用Java Crypto API的解决方案,但Bouncy Castle也可以。
谢谢大家!

可能有一种更直接的方法,但是如果您有
EllipticCurve
对象,您总是可以将点的坐标替换为曲线方程。

有太多的功能-尤其是BC提供了许多检查和转换方法-我认为已经存在这样的方法,我不想重新编码车轮。我最终还是按照你的建议做了,结果比我预期的要省力得多。@Thomas-我正在尝试检查Qc(公钥)是否在曲线p-256上。我从公众那里得到了EC,但是如何验证,请用java共享api。EllipticCurve ec=publicKey.getParams().getCurve();