神奇的密码学算法(Encryption algorithm)_链圈子

神奇的密码学算法(Encryption algorithm)_链圈子

密码学算法的原理

加密与解密的算法是一种数学运算公式,主要目的是将明文(某一种0与1的排列组合)转换成密文(另一种0与1的排列组合),密文根本就是乱码,是没有任何意义的,除非使用者解密才能看懂,密码学基本的数学运算概念有下列三种:
取代(Substitution):将明文中的每一个数字或符号字串都对应到另外一个符号。
置换(Transposition):将明文中的数字或符号字串重新排列让大家看不懂。
相乘(Product):同时使用取代与置换两种运算来达到更复杂的相乘加密效果。

判断加密技术的价值一定要记得下列原则:加密强度越高越好(不容易破解)、金钥长度越短越好(节省记忆体空间与运算时间)、算法复杂度越低越好(节省记忆体空间与运算时间),但是通常金钥长度越短或演算法复杂度越低就容易被破解,鱼与熊掌不可兼得,科学家只能在两者之间取得一个可以接受的方式。

密码学的种类

密码学主要可以分为「对称加密」与「非对称加密」两大类,对称式的加密与解密使用同一把金钥(秘密金钥);非对称式的加密与解密使用不同的金钥(私有金钥与公开金钥):
对称加密(Symmetric encryption):又称为「秘密金钥加密(Secret key encryption)」是指传送端与接收端双方都拥有一把相同的「秘密金钥(Secret key)」,加密与解密使用同一把秘密金钥,如<图一>所示,所以称为「对称(Symmetric)」。使用对称加密的优点是使用同一把秘密金钥所以运算速度较快,如果使用足够长度的金钥则难以破解安全性高;缺点则是需要有一个安全机制分别将秘密金钥安全的传送到传送端与接收端,只能提供机密性,无法提供不可否认性。
非对称加密(Asymmetric encryption):又称为「公开金钥加密(Public key encryption)」,每一位使用者必须自行产生自己所拥有的金钥对(Key pair),包括一把私有金钥(Private key)与一把公开金钥(Public key),加密与解密使用不同的金钥,如<图二>所示,所以称为「非对称(Asymmetric)」。使用者必须秘密地保存自己的私有金钥,并且在网络上发布公开金钥。使用非对称加密的优点是公开金钥可以公开传送,而且可以同时提供机密性、鉴别性、不可否认性;缺点是运算效率较差。

对称加密与非对称加密的比较

值得注意的是,非对称加密技术并不是要用来取代对称加密技术,而是用来弥补对称加密的不足以加强安全性,由于两者各有优劣,实务上经常合并使用。

原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/bi/31980.html