首页 > 解决方案 > BouncyCastle 获得特定的加密算法类以减少大小

问题描述

背景

我正在创建一个需要ECC (elliptic curve cryptography, secp256k1)算法的库。截至目前,我正在使用BouncyCastle它并且它运行良好。我试图通过删除依赖项来保持库的大小尽可能小。

例子

我正在使用的确切版本BouncyCastle

implementation "org.bouncycastle:bcprov-jdk15on:1.60

示例我如何在我的代码中使用它:

import org.bouncycastle.asn1.x9.X9ECParameters;
import org.bouncycastle.asn1.x9.X9IntegerConverter;
import org.bouncycastle.crypto.ec.CustomNamedCurves;
import org.bouncycastle.crypto.params.ECDomainParameters;
import org.bouncycastle.math.ec.ECAlgorithms;
import org.bouncycastle.math.ec.ECPoint;
import org.bouncycastle.math.ec.custom.sec.SecP256K1Curve;

public class MyClass {

  private static final X9ECParameters CURVE_PARAMS = CustomNamedCurves.getByName("secp256k1");
  private static final ECDomainParameters CURVE =
      new ECDomainParameters(
          CURVE_PARAMS.getCurve(),
          CURVE_PARAMS.getG(),
          CURVE_PARAMS.getN(),
          CURVE_PARAMS.getH());

  // more methods below...
}

问题

问题是使用后库的大小BouncyCastle

可以从中获取相关的类并完全ECC删除吗?BouncyCastle这值得做吗?或者有什么解决方案可以减少库的大小?

标签: javaoptimizationsdkbouncycastle

解决方案


推荐阅读