java - 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
这值得做吗?或者有什么解决方案可以减少库的大小?
解决方案
推荐阅读
- c# - EF Core Entity 层构造函数的含义
- python - 如何在 STREAMLIT 中指定要保存的上传文件的确切文件夹?
- gpu - 如何用一个 GPU 启动 n 个任务?
- javascript - 如何使用具有离子和角度的照片相机在firebase中同时保存多个图像
- pandoc - 自定义 Pandoc 编写器元素输出
- nginx - 如何阻止 Nginx 上的攻击,如下面的代码?
- django - 使用文件实例 DRF、Vue.js 3 更新条目
- c# - 如何将字符串中的值转换为 C# 中的 System.Windows.Point?
- javascript - 在总值中添加或减去多个元素的值
- reactjs - 是否有可用于 Web 和移动设备导航的通用库