枚举
enum Curve
public enum Curve {
| P224 | P256 | P384 | P521 | BP256 | BP320 | BP384 | BP512
}
功能:枚举类型 Curve 用于选择生成 ECDSA 密钥时使用的椭圆曲线类型。
椭圆曲线是一种数学曲线,常用于加密算法中的密钥生成。在密码学中,椭圆曲线密码算法是一种基于椭圆曲线的公钥密码算法。它的基本思想是利用椭圆曲线上的点集构成一个计算困难性,来实现公钥密码的安全性。
Curve 枚举类型支持 NIST P-224,NIST P-256,NIST P-384,NIST P-521,Brainpool P-256,Brainpool P-320,Brainpool P-384,Brainpool P-512 八种椭圆曲线。
-
NIST P-224:基于椭圆曲线的加密算法,使用224位的素数作为模数,安全性较高,适用于轻量级应用。
-
NIST P-256:基于椭圆曲线的加密算法,使用256位的素数作为模数,安全性较高,适用于中等级应用。
-
NIST P-384:基于椭圆曲线的加密算法,使用384位的素数作为模数,安全性非常高,适用于高级别应用。
-
NIST P-521:基于椭圆曲线的加密算法,使用521位的素数作为模数,安全性非常高,适用于极高级别应用。
-
Brainpool P-256:基于椭圆曲线的加密算法,使用256位的素数作为模数,安全性较高,但比NIST P-256更快。
-
Brainpool P-320:基于椭圆曲线的加密算法,使用320位的素数作为模数,安全性非常高,但比NIST P-384更快。
-
Brainpool P-384:基于椭圆曲线的加密算法,使用384位的素数作为模数,安全性非常高,但比NIST P-384更快。
-
Brainpool P-512:基于椭圆曲线的加密算法,使用512位的素数作为模数,安全性非常高,但比NIST P-521更快
BP256
BP256
功能:使用 Brainpool P-256 椭圆曲线初始化 Curve 实例。
BP320
BP320
功能:使用 Brainpool P-320 椭圆曲线初始化 Curve 实例。
BP384
BP384
功能:使用 Brainpool P-384 椭圆曲线初始化 Curve 实例。
BP512
BP512
功能:使用 Brainpool P-512 椭圆曲线初始化 Curve 实例。
P224
P224
功能:使用 NIST P-224 椭圆曲线初始化 Curve 实例。
P256
P256
功能:使用 NIST P-256 椭圆曲线初始化 Curve 实例。
P384
P384
功能:使用 NIST P-384 椭圆曲线初始化 Curve 实例。
P521
P521
功能:使用 NIST P-521 椭圆曲线初始化 Curve 实例。
enum PadOption
public enum PadOption {
| OAEP(OAEPOption) | PSS(PSSOption) | PKCS1
}
功能:用于设置 RSA 的填充模式。
RSA 有三种常用的填充模式:
OAEP 为最优非对称加密填充,只能用于加密解密; PSS 为概率签名方案,只能用于签名和验证; PKCS1 是一种普通的填充模式,用于填充数据长度,可以用于加密、解密、签名和验证。 RSA 的 PKCS1 填充模式是在早期的 PKCS #1 v1.5 规范中定义的填充模式,当前对使用 PKCS1 填充模式的攻击较为成熟,容易被攻击者解密或伪造签名,建议采用 PKCS #1 v2 版本中更加安全的 PSS 或 OAEP 填充模式。
OAEP(OAEPOption)
OAEP(OAEPOption)
功能:使用最优非对称加密初始化 PadOption 实例。
PKCS1
PKCS1
功能:使用 PKCS #1 公钥密码学标准初始化 PadOption 实例。
PSS(PSSOption)
PSS(PSSOption)
功能:使用概率签名方案初始化 PadOption 实例。