椭圆曲线学习

数学基础:
https://www.cnblogs.com/czc1999/p/11808466.html

http://www.itkeyword.com/doc/8407744092447105x403/elliptic-curve-point-addition-using-bouncycastle

secp256k1

  static X9ECParametersHolder secp256k1 = new X9ECParametersHolder()
    {
        protected X9ECParameters createParameters()
        {
            byte[] S = null;
            GLVTypeBParameters glv = new GLVTypeBParameters(
                new BigInteger("7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee", 16),
                new BigInteger("5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72", 16),
                new BigInteger[]{
                    new BigInteger("3086d221a7d46bcde86c90e49284eb15", 16),
                    new BigInteger("-e4437ed6010e88286f547fa90abfe4c3", 16) },
                new BigInteger[]{
                    new BigInteger("114ca50f7a8e2f3f657c1108d9d44cfd8", 16),
                    new BigInteger("3086d221a7d46bcde86c90e49284eb15", 16) },
                new BigInteger("3086d221a7d46bcde86c90e49284eb153dab", 16),
                new BigInteger("e4437ed6010e88286f547fa90abfe4c42212", 16),
                272);
            ECCurve curve = configureCurveGLV(new SecP256K1Curve(), glv);
            X9ECPoint G = new X9ECPoint(curve, Hex.decode("04"
                + "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798"
                + "483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8"));
            return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值