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