快乐每一天~~~
.NET与安全——加密算法(转载)
上一篇 / 下一篇 2008-06-01 17:17:55 / 个人分类:编程
查看( 18 ) /
评论( 5 )
目前企业面临的计算环境和过去有很大的变化,许多数据资源能够依靠网络来远程存取,而且越来越多的通讯依赖于公共网络公共网络(如 Internet),而这些环境并不保证实体间的安全通信,数据在传输过程可能被其它人读取或篡改。 加密将防止数据被查看或修改,并在原本不安全的信道上提供安全的通信信道,它达到以下目的:
I!\g/D7t0
7N%b ujV0常见用于保证安全的加密或编码算法如下:爱好者博墅w^n B&F"K
1、常用密钥算法爱好者博墅$ON gG6rE!y([qO
密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括:爱好者博墅u;Zr&K*uR.` ]z
!l6l B/N)c0单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:
$X#j"uGy,DR0
其它数据算法包括一些常用编码算法及其与明文(ASCII、Unicode 等)转换等,如 Base 64、Quoted Printable、EBCDIC 等。
+CM1cdU+B0
5W| ?h_%L9},m'yD0二、算法的 .NET 实现爱好者博墅$Z!Iq&Y
I!\g/D7t0
- 保密性:防止用户的标识或数据被读取。
- 数据完整性:防止数据被更改。
- 身份验证:确保数据发自特定的一方。
7N%b ujV0常见用于保证安全的加密或编码算法如下:爱好者博墅w^n B&F"K
1、常用密钥算法爱好者博墅$ON gG6rE!y([qO
密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括:爱好者博墅u;Zr&K*uR.` ]z
- DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
- 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
- RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快;
- IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
- RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的;
- DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
- AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法;
- BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
- 其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。
!l6l B/N)c0单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:
$X#j"uGy,DR0
- MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值;
- SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值;
- MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。HMAC(用于消息认证的密钥散列法)就是这种函数的一个例子。
- CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。
其它数据算法包括一些常用编码算法及其与明文(ASCII、Unicode 等)转换等,如 Base 64、Quoted Printable、EBCDIC 等。
+CM1cdU+B0
5W| ?h_%L9},m'yD0二、算法的 .NET 实现爱好者博墅$Z!Iq&Y