加密算法 科普文
常用术语
明文(Plaintext):待加密信息。
密文(Ciphertext):经过加密后的。
加密(Encryption):将明文转换为密文的过程。
解密(Decryption):将密文转换为明文的过程。
科克霍夫原则(Kerckhoffs’ Principle):数据的安全基于密钥而不是算法的保密。
加密算法分类
加密算法分为对称加密算法和非对称加密算法。
对称加密算法(Symmetric Cipher):也称为单钥密码算法或私钥密码算法,指加密密钥和解密密钥相同,即加密过程与解密过程使用同一套密钥。常见的DES、AES算法都是对称密码算法的典范。
非对称加密算法(Asymmetric Cipher):也称为双钥密码算法或公钥密码算法,指加密密钥与解密密钥不同,密钥分为公钥与私钥,公钥对外公开,私钥对外保密。比如RSA算法。
散列函数提供的消息认证技术
对于信息完整性验证需要其他技术来支持,这种技术就是由散列函数提供的消息认证技术。
散列函数,也称作哈希函数、消息摘要函数、单向函数或杂凑函数,其主要作用是用来验证数据的完整性,是数据签名的核心技术。
通过散列函数,可以为数据创建数字指纹(散列值),散列值通常是一个短的随机字母和数字组成的字符串。
散列函数具有确定性,并且散列函数的运算过程是不可逆的,即单向的。
散列函数的常用算法有:
MD:消息摘要算法;
SHA:安全散列算法;
MAC:消息认证码算法。
参考资料
几种常见加密算法初窥及如何选用加密算法:
http://clement.blog.51cto.com/2235236/948107