1.DES(Data Encryption Standard,数据加密标准)于1977年发表,这一加密方法在密钥的基础上进行字符替换,又对字符顺序进行重新排列。
2.AES(Advanced Encryption Standart,高级加密标准),2000年,Rijndael算法被算作AES。和DES一样,也是一个共享密钥的算法,即一种对称加密算法。
3.公钥加密(public-key encryption)是另一种模式,使用公钥和私钥两个密钥,它将公钥公开,私钥保密。要使公钥发挥作用,必须有能被公开的,却又不易让人推断出解密模式的加密模式。换言之,在已知公钥的情况下想要推断出私钥是几乎不可能的。这种模式建立在下面的基础之上:
*存在测试一个数字是否为素数的高效算法
*不知道求一个数字的素数因子的有效算法
出于对这一模式的考虑,数据被看作一组证书。我们通过计算两个大素数P1和P2的积来产生公钥,私钥由(P1,P2)密钥对构成,通过将P1和P2选的足够大(超过100位),那么对P1和P2的乘机做因式分解将变得不可能在可能的时间内计算完。达到不能破解的目的。
由于公钥加密计算量很大,通常的安全通信所采用的一种混合模式是:使用公钥加密方式传输交换对称加密的共享密钥,然后其余的数据采用对称加密来传输。
4.挑战-应答系统
这种验证方式也是使用公钥加密的一中情况,首先服务器向请求登录的客户发送一串字符串,这个字符串使用当前请求登录用户的公钥加密,如果当前用户不是冒充的,那么它就能够使用自己的唯一私钥来机密这个字符串,然后回复给服务器,从而实现登录,这种方式也是SSH中使用的方式,当然SSH还可以使用简单的用户名/密码方式登录。但是如果你把公钥拷贝到服务器主机上,那么下次登录的时候就省去了输入密码的麻烦。
5.数字签名
数字签名也是使用公钥的一种情况,要发布信息的机构或人使用自己的私钥加密数据,然后公开数据,只要是有公钥的人都可以验证,由于私钥不可伪造,所以数字签名用来保证“不可否认性”。
6.数字证书
在Web应用上,为了确保用户访问的是真实的站点,用户需要有站点的公钥,但是如果是假冒的站点同时颁发了公钥,那么用户就不知道访问的是假冒的站点,所以这里需要一种鉴定方法,即数字证书。数字证书由一个认证机构对公钥进行签名(数字签名)而成,认证机构当然必须公开公钥。而这些公钥通常保存在浏览器中。例如,在Firefox浏览器中,可以这样查看数字证书:《编辑》--《首选项》--《高级》--《加密》--《证书机构》,这里你还可以导入你确信的证书。
数字证书由一个公钥Ka和一个可以用公钥解密的文本E构成,如果这个证书是由根认证机构颁发的,那么E中就有你需要访问的站点的公钥及相关信息,如果不是根认证机构,那么文本E中就还有一个公钥和上一级的加密文本E',这样你可以使用里面的公钥机密E',这样一直迭代到根证书机构颁发的证书中,最后就可以获取你需要访问站点的公钥。 对于普通站点来说,不会要求用户使用公钥访问,往往是安全性要求很高的站点,如网银才需要。
加密与认证
最新推荐文章于 2024-04-19 01:59:29 发布