最近在看加密相关的文章,分享下(0)

私钥加密:
私钥加密算法使用单个私钥来加密和解密数据。 由于具有密钥的任意一方都可以使用该密钥解密您的数据,或加密他们自己的数据并声称该数据源自您,因此必须保护密钥不被未经授权的代理得到。

公钥加密:
公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。 公钥和私钥在数学上是关联在一起的;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。 公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。 公钥加密算法又称为非对称算法,原因是需要用一个密钥加密数据,而用另一个密钥来解密数据。 基本的加密规则禁止密钥重用,并且对于每一个通信会话公钥和私钥都应该是唯一的。 但实际上,非对称密钥通常可持续使用。

下表对公钥加密算法和私钥加密算法进行了比较:
公钥加密算法使用固定的缓冲区大小,而私钥加密算法则使用长度可变的缓冲区。
公钥算法无法像私钥算法那样将数据链接成流,原因是它只能加密少量数据。 因此,不对称操作不使用与对称操作相同的流模型。
公钥加密比私钥加密具有更大的密钥空间(或密钥的可能值范围)。 因此,公钥加密不太容易受到对每个可能的密钥都进行尝试的穷举攻击。
由于公钥不需要保密,因此只要可通过某种方式来验证发送方的身份,分发公钥会十分容易。
某些公钥算法(例如 RSA 和 DSA,但 Diffie-Hellman 除外)可用于创建数字签名,以此来验证数据发送方的身份。
与私钥算法相比,公钥算法的速度很慢,不适合用来加密大量数据。 公钥算法仅对传输很少量的数据有用。 公钥加密通常用于加密一个私钥算法将要使用的密钥和 IV。 在传输密钥和 IV 后,将对会话的其余部分应用私钥加密。

C#中System.Security.Cryptography 命名空间提供加密服务,包括安全的数据编码和解码,以及许多其他操作,例如散列法、随机数字生成和消息身份验证。 具体参见msdn
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值