请问 DES 加密算法为何是不可逆的?
先声明我对密码一窍不通,大家看的时候别吐血,也别骂我...
一直想不通这个问题: DES 加密算法为何是不可逆的?要知道 DES 加密算法是公开的啊。
我的理解是,des 加密过程中,丢掉了密钥和明文的部分信息。所以不同的密钥明文可能得到相同的密文;通过对密钥密文进行加密算法的反算法,不能得到原先的明文。
但是通过对密钥密文进行加密算法的反算法,可以得到许多明文,这些和原先的明文是等效的,能加密成相同的密文。
好比 unix 下的 /etc/passwd ,就是用一个随机产生的密钥,把用户的口令当明文,加密生成密文,passwd 这个文件中记录的就是每个用户的密钥和密文。通过反算法,对每一个密文可以得到许多明文,其中随便一个明文都可以当口令用于登陆。所以在网上看到许多黑客得到 passwd 文件后,是穷举或者套字典来解密的,我就一直想不通......
各位高手如果觉得跟我实在讲不明白,也请务必推荐几本这方面的书,多谢。