C#BouncyCastle RSA加密和解密
发布时间:2020-12-16 07:30:50 所属栏目:百科 来源:网络整理
导读:关于使用BouncyCastle的RSA加密和解密有很多主题,但是我遇到了一些意想不到的行为. 我正在尝试使用64字节大小的私钥加密64字节数据 我计算RSA加密如下: public byte[] Encrypt(byte[] data,AsymmetricKeyParameter key){ var engine = new RsaEngine(); eng
关于使用BouncyCastle的RSA加密和解密有很多主题,但是我遇到了一些意想不到的行为.
我正在尝试使用64字节大小的私钥加密64字节数据 我计算RSA加密如下: public byte[] Encrypt(byte[] data,AsymmetricKeyParameter key) { var engine = new RsaEngine(); engine.Init(true,key); var blockSize = engine.GetInputBlockSize(); return engine.ProcessBlock(data,blockSize ); } 我使用公钥计算解密如下 public byte[] Decrypt(byte[] data,AsymmetricKeyParameter key) { var engine = new RsaEngine(); engine.Init(false,blockSize ); } 我发现当我使用64字节私钥加密我的64位数据时,我得到了一个64字节的加密数据块. 但是当我使用64字节公钥解码64字节数组时,我得到一个大小为62字节的数据块.更奇怪的是,62字节数组中包含的值等于64字节原始数组的值(预加密),但是解码后的数组缺少原始数据的第一个索引和最终索引. 我尝试过使用不同的密钥和不同的数据集,同样的事情发生了. 我一定做错了什么,但我看不出来. 干杯. 解决方法
你得到的基本概念是错误的.
> 512位RSA非常弱,至少使用1024位 您应退后一步,描述您实际想要实现的目标,以便我们找到符合您需求的方案.只有在那之后你才应该担心实施它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |