密码分析(英语:cryptanalysis,来源于希腊语kryptós,即隐藏,以及analýein,即解开),是一门研究在不知道通常解密所需要的秘密信息的情况下对加密的信息进行解密的学问。通常,这需要寻找一个秘密的钥匙。用不是很正规的话来说,这就是所谓的破解密码。
密码分析这个词有时也被用来指广义上的绕开某个密码学算法或密码协议的尝试,而不仅仅是针对加密算法。但是,密码分析通常不包括并非主要针对密码算法或协议的攻击,如贿赂、拷打、入室抢劫、键盘记录器,等等。尽管这些攻击方式是计算机安全领域里的重要考虑因素,而且通常比传统的密码分析更加有效。
虽然密码分析的目标在密码学的历史上从古至今都一样,实际使用的方法和技巧则随着密码学变得越来越复杂而日新月异。密码学算法和协议从古代只利用纸笔等工具,发展到第二次世界大战时的恩尼格玛密码机(又称谜,德语:Enigma),直到目前的基于电子计算机的方案。而密码分析也随之改变了。无限制地成功破解密码已经不再可能。事实上,只有很少的攻击是实际可行的。在上个世纪70年代中期,公