私钥加密(对称加密)

原创 2007年10月10日 21:27:00

私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。

通常,私钥算法(称为块密码)用于一次加密一个数据块。块密码(如 RC2、DES、TripleDES 和 Rijndael)通过加密将 n 字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于 n 很小(对于 RC2、DES 和 TripleDES,n = 8 字节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),因此必须对大于 n 的数据值一次加密一个块。 

基类库中提供的块密码类使用称作密码块链 (CBC) 的链模式,它使用一个密钥和一个初始化向量 (IV) 对数据执行加密转换。对于给定的私钥 k,一个不使用初始化向量的简单块密码将把相同的明文输入块加密为同样的密文输出块。如果在明文流中有重复的块,那么在密文流中将存在重复的块。如果未经授权的用户知道有关明文块的结构的任何信息,就可以使用这些信息解密已知的密文块并有可能发现您的密钥。若要克服这个问题,可将上一个块中的信息混合到加密下一个块的过程中。这样,两个相同的明文块的输出就会不同。由于该技术使用上一个块加密下一个块,因此使用了一个 IV 来加密数据的第一个块。使用该系统,未经授权的用户有可能知道的公共消息标头将无法用于对密钥进行反向工程。

可以危及用此类型密码加密的数据的一个方法是,对每个可能的密钥执行穷举搜索。根据用于执行加密的密钥大小,即使使用最快的计算机执行这种搜索,也极其耗时,因此难以实施。使用较大的密钥大小将使解密更加困难。虽然从理论上说加密不会使对手无法检索加密的数据,但这确实极大增加了这样做的成本。如果执行彻底搜索来检索只在几天内有意义的数据需要花费三个月的时间,那么穷举搜索的方法是不实用的。

私钥加密的缺点是它假定双方已就密钥和 IV 达成协议,并且互相传达了密钥和 IV 的值。并且,密钥必须对未经授权的用户保密。由于存在这些问题,私钥加密通常与公钥加密一起使用,来秘密地传达密钥和 IV 的值。

.NET 提供以下实现类以提供对称的密钥加密算法: 

 DESCryptoServiceProvider 

 RC2CryptoServiceProvider

 RijndaelManaged

 TripleDESCryptoServiceProvider

 

公钥/私钥/不对称加密

不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用...
  • u011146511
  • u011146511
  • 2016年07月02日 16:24
  • 736

非对称加密RSA和对称加密AES,没你想象的那么神秘

RSA RSA算法属于非对称加密算法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应...
  • A1084198886
  • A1084198886
  • 2017年05月21日 14:28
  • 449

SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解

目录[-] DES: DSA: RSA: 公钥、私钥 的解释 签名: 指纹: 公钥登陆 error SSH基本原理和免密码登录 公钥认证的原理 非对称加密 SSL/TLS...
  • a1232345
  • a1232345
  • 2015年03月24日 17:14
  • 1040

客户端使用公钥进行加密,服务端使用密钥进行解密

使用rsa非对称加密吧,客户端使用公钥进行加密,服务端使用密钥进行解密。 我觉得你最好使用JAVA 进行DES加密和解密  (JAVA 的核心API中已经实现过DES加密,JA...
  • ccecwg
  • ccecwg
  • 2015年01月20日 11:00
  • 1387

php rsa加密解密实例(非对称加密)

php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 1、加...
  • wsliangjian
  • wsliangjian
  • 2015年05月20日 10:11
  • 2540

关于公钥私钥是否可以互相加解密的理解(附苹果开发者证书配置时非对称加密算法的应用)

查资料的时候发现很多人有疑惑,公钥和私钥到底哪个是用来加密,哪个是用来解密的,是否可以公钥加密私钥解密,同时也可以私钥加密公钥解密呢?针对这一问题,说下自己的理解。 首先要明确两个问题:(1)既可...
  • tonyonline007
  • tonyonline007
  • 2017年03月15日 15:16
  • 923

Android安全-对称加密和非对称加密

秘钥:分为加密秘钥和解密秘钥 明文:没有进行加密,能够直接代表原文含义的信息 密文:经过加密处理之后,隐藏原文含义的信息 加密:将明文转换为密文的过程 解密:将密文转换为明文的过程 AES:更快,兼容...
  • namehybin
  • namehybin
  • 2016年01月07日 19:31
  • 2900

对称加密 非对称加密 不可逆加密算法

根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系)。 1 对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性...
  • l464373218
  • l464373218
  • 2015年12月24日 17:33
  • 1206

最全加密算法之对称加密和非对称加密

常见加密算法 : DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;  3DES(Triple DES):是基于DES,对一块数据用三个不同...
  • shenggaofei
  • shenggaofei
  • 2016年08月27日 10:27
  • 20677

理解SSL(https)中的对称加密与非对称加密

密码学最早可以追溯到古希腊罗马时代,那时的加密方法很简单:替换字母。 早期的密码学: 古希腊人用一种叫 Scytale 的工具加密。更快的工具是 transposition cipher—:只...
  • MOONCOM
  • MOONCOM
  • 2017年03月03日 16:06
  • 2163
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:私钥加密(对称加密)
举报原因:
原因补充:

(最多只允许输入30个字)