密码学简单来说,应该包括加密和密码分析两个方面,加密算法的设计和研究主要是保护信息的安全,而对密文进行分析则是企图根据密文恢复明文。密码学的发展可以划分为三个阶段:古代加密方法(手工阶段),主要特点是采用一种比较隐秘的方式传递消息;古典密码(机械阶段),主要方式是换位或置换,典型的做法有单表代换,多表代换,多轮代换等;近代密码(计算机阶段),主要是充分运用数论、代数几何等数学知识,将加解密算法规结为解决一个数学难题。但是,无论哪个阶段,加密的目的都是一样的,就是隐藏信息的真实涵义,而不是隐藏信息本身。
下面简单谈一谈密码技术如何根据需要发展的吧!
古代加密方法和古典加密方法,思路简单,换位或置换,安全性依赖于加密算法的保密,即便在不知道加密算法的情况下,也容易通过分析,恢复明文,比如对密文进行频率分析,因为换位并不会改变字符的频率。尤其是随着计算机技术的出现以及计算性能的提高,这种加密方式的安全性令人担忧。而世界有一些公认的数学难题,如果能将加解密问题转换成求解一类数学难题,那么安全性可大大提高。较为常用的用来构造密码算法的数学难题有大整数因式分解、离散对数问题求解(尤其是椭圆曲线上离散对数问题求解)。
最简单的加密方式,通信双方传送消息之前先秘密协商一个秘钥,然后发送方先用秘钥将消息加密发送给接收方,接收方收到消息后先用秘钥解密,这种加解密用相同的秘钥,我们称之为对称加密,很显然,这种方式安全性不高,因为只要有秘钥,就能对密文解密,而秘钥在通信之前需要协商然后传送,这样秘钥在传递的过程中,就有被窃取的风险。
正因为如此,就出现了非对称密码体制,就是加密和解密秘钥是不同的,也就是公钥密码体制。公钥密码体制是加密算法公开,加密的公钥也公开,用来解密的私钥保密,并且必须满足一致性原则,即用公钥加密,那么用私钥可以解密,用私钥加密,用公钥可以解密。如果用来加密信息,那么一般的做法就是用接收者的公钥对消息进行加密,然后发送给接收者,而接收者的私钥只有他自己知道