Bouncy Castle Crypto包是一个密码算法和协议的C#实现,它是在澳大利亚慈善机构Bouncy Castle军团的帮助下开发的。这个军团,以及这个包(package)的最新进展,可以在查看网址: [http://www.bouncycastle.org](http://www.bouncycastle.org)。除了提供基本的加密算法外,该软件包还支持CMS, TSP, X.509 证书生成以及OpenPGP等多种其他标准。
Bouncy Castle Crypto是一个Java实现的加密包,同时也有C#版本。它包含一套轻量级的API可以在包括J2ME在内的绝大多数环境中运行。部分手机不支持JSR177也可使用该加密包实现加密功能。Bouncy Castle加密包包含了大多数流行的加密实现(如:AES、DES、Blowfish等)、散列算法(如:MD5、SHA等)、字节字符编码(如:Base64)等。
————————————————
版权声明:本文为优快云博主「a513229231」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/a513229231/article/details/84129959
Bouncy Castle Crypto 还支持SM2 SM4
作者:彭金龙 原文地址:http://www.jonllen.cn/jonllen/work/164.aspx
在前面文章我们已经可以制作SM2证书了,主要应用了SM2签名验证算法和SM3摘要算法,在本文中主要介绍SM2公钥加密算法。这里我们使用SM2数字证书来做SM2非对称加密,然后使用硬件加密设备做解密,比如加密文件只能由指定的智能密码钥匙UKey才能解开。
SM2加密算法
SM2加密同样使用接收方公钥加密,公钥由一个曲线坐标点组成,在X.509证书中的共钥表示为04标记开始的2个32byte的BigInteger,即曲线点P(x,y)。SM2公钥加密算法比RSA相对复杂,加密结果由3个部分组成,SM2加密过程中使用了随机数,因此同样的明文数据每一次加密结果都不一样。SM2加密算法流程如下图所示。
原文链接:https://blog.youkuaiyun.com/kimwu/article/details/14453569