数据加密技术基本概念整理

1.数据加密(Data Encryption)

             指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是网络安全技术的基石。

2.对称密钥

          又称为专用密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如AES,DES,IDEA算法。
          在php中AES算法可以通过mcrypt扩展的相关函数来实现

3.非对称密钥

        又称公开密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥.
        比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe?Hellman、Rabin、零知识证明的算法、椭圆曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。

        在php中RSA可通过openssl扩展的相关函数实现


4.对称加密(Reciprocal cipher)

         又称为对等密钥加密(en:Symmetric-key algorithm)),对称加密,私钥加密,共享密钥加密。是密码学中的一类加密(encryption)算法。该类密码的加密(encryption)算法是它自己本身的逆反函数,所以其解密(decryption)算法等同于加密算法,也就是说,要还原对等加密的密文,套用加密同样的算法即可得到明文。换句话说,若参数(或密钥)合适的话,两次连续的对等加密运算后会回复原始文字(在数学上,这有时称之为对合(involution)。在实际应用中,体现为加密和解密使用同一个密钥,或者知道一方密钥能够轻易计算出另一方密钥。
常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC4、RC5、RC6。


5.公开密钥加密(英语:Public-key cryptography,也称为非对称(密钥)加密)

        该思想最早由雷夫·莫寇(Ralph C. Merkle)在1974年提出[1],之后在1976年。狄菲(Whitfield Diffie)与赫尔曼(Martin Hellman)两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两方建立金钥。
非对称密钥,是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户加密密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。
        如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。
        如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。
        常见的公钥加密算法有: RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC, 椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。


参考文章

Javascript到PHP加密通讯的简单实现

百度百科-数据加密技术

维基百科-对等加密

维基百科-公开密钥加密





你可能感兴趣的:(Algorithm,算法,加密,解密,encryption,Cryptography)