密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。密码学包括密码编码学和密码分析学。密码体制设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容,密码编码技术和密码分析技术是相互依相互支持、密不可分的两个方面。密码体制有对称密钥密码体制和非对称密钥密码体制。对称密钥密码体制要求加密解密双方拥有相同的密钥。而非对称密钥密码体制是加密解密双方拥有不相同的密钥,在不知道陷门信息的情况下,加密密钥和解密密钥是不能相互算出的。对称密钥密码体制中,加密运算与解密运算使用同样的密钥。这种体制所使用的加密算法比较简单,而且高效快速、密钥简短、破译困难,但是存在着密钥传送和保管的问题。例如:甲方与乙方通讯,用同一个密钥加密与解密。首先,将密钥分发出去是一个难题,在不安全的网络上分发密钥显然是不合适的;另外,如果甲方和乙方之间任何一人将密钥泄露,那么大家都要重新启用新的密钥。通常,使用的加密算法比较简便高效,密钥简短,破译极其困难。但是,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。1976年,Diffie和Hellman为解决密钥管理问题,在他们的奠基性的工作"密码学的新方向"一文中,提出一种密钥交换协议,允许在不安全的媒体上通讯双方交换信息,安全地达成一致的密钥,它是基于离散指数加密算法的新方案:交易双方仍然需要协商密钥,但离散指数算法的妙处在于:双方可以公开提交某些用于运算的数据,而密钥却在各自计算机上产生,并不在网上传递。在此新思想的基础上,很快出现了"不对称密钥密码体制",即"公开密钥密码体制",其中加密密钥不同于解密密钥,加密密钥公之于众,谁都可以用,解密密钥只有解密人自己知道,分别称为"公开密钥"和"秘密密钥",由于公开密钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大地简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名。目前,公开密钥加密算法主要有RSA、Fertezza、EIGama等。我们说区分古典密码和现代密码的标志,也就是从76年开始,迪非,赫尔曼发表了一篇叫做《密码学的新方向》的文章,这篇文章是划时代的;同时1977年美国的数据加密标准(DES)公布,这两件事情导致密码学空前研究。以前都认为密码是政府、军事、外交、安全等部门专用,从这时候起,人们看到密码已由公用到民用研究,这种转变也导致了密码学的空前发展。迄今为止的所有公钥密码体系中,RSA系统是最著名、使用最广泛的一种。RSA公开密钥密码系统是由R.Rivest、A.Shamir和L.Adleman三位教授于1977年提出的,RSA的取名就是来自于这三位发明者姓氏的第一个字母。RSA算法研制的最初目标是解决利用公开信道传输分发DES算法的秘密密钥的难题。而实际结果不但很好地解决了这个难题,还可利用RSA来完成对电文的数字签名,以防止对电文的否认与抵赖,同时还可以利用数字签名较容易地发现攻击者对电文的非法篡改,从而保护数据信息的完整性。在网上看到这样一个例子,有一个人从E-mail信箱到用户Administrator,统一都使用了一个8位密码。他想:8位密码,怎么可能说破就破,固若金汤。所以从来不改。用了几年,没有任何问题,洋洋自得,自以为安全性一流。恰恰在他最得意的时候,该抽他嘴巴的人就出现了。他的一个同事竟然用最低级也是最有效的穷举法吧他的8位密码给破了。还好都比较熟,否则公司数据丢失,他就要卷着被子回家了。事后他问同事,怎么破解的他的密码,答曰:只因为每次看他敲密码时手的动作完全相同,于是便知道他的密码都是一样的,而且从不改变。这件事情被他引以为戒,以后密码分开设置,采用10位密码,并且半年一更换。我从中得出的教训是,密码安全要放在网络安全的第一位。因为密码就是钥匙,如果别人有了你家的钥匙,就可以堂而皇之的进你家偷东西,并且左邻右舍不会怀疑什么。我的建议,对于重要用户,密码要求最少要8位,并且应该有英文字母大小写以及数字和其他符号。千万不要嫌麻烦,密码被破后更麻烦。密码设的越难以穷举,并不是带来更加良好的安全性。相反带来的是更加难以记忆,甚至在最初更改的几天因为输人缓慢而被别人记住,或者自己忘记。这都是非常糟糕的,但是密码难于穷举是保证安全性的前提。矛盾着的双方时可以互相转化的,所以如何使系统密码既难以穷举又容易记忆呢,这就是门科学了。当然,如果能做到以下几点,密码的安全还是有保障的。