请问AES加密能不能不使用扩散器(diffuser),用Ciphertext进行的攻击风险大吗
答案:1 悬赏:40
解决时间 2021-01-10 11:17
- 提问者网友:暗中人
- 2021-01-09 12:23
请问AES加密能不能不使用扩散器(diffuser),用Ciphertext进行的攻击风险大吗
最佳答案
- 二级知识专家网友:不如潦草
- 2021-01-09 12:38
首先,需要说明的是AES-128是一种确定性的分组加密算法,也就是说,只要密钥和明文是一样的,加密出来的密文就是一样的。所以,在实际使用中,会存在下述的一种风险:
如果明文空间非常小,也就是说需要加密的明文只有几种,那么就很容易通过密文(Ciphertext
)猜到明文。比如,需要加密的明文是一个布尔值,不是真就是假,只有两种情况,那么如果密钥不变的话,加密出来的密文也就只有两种,因此根本不需要知道密钥,只要多次截获密文进行分析,就能知道明文到底是什么。
因此,引入扩散器的目的就是增大明文空间,也就是增加一定的随机性。这样,即便明文本身只有两种可能,通过扩散,也会出现更多的情况,这样就不能通过密文直接猜明文了。
所以,如果你要加密的数据是有一定格式,并且数据量很小,或内容变化不大的话,最好使用扩散器。否则存在上述的风险。但是如果要加密大文件等,就没有必要了。
最后再提一点,AES-128最好使用CBC模式,它比直接用EBC模式好很多。
如果明文空间非常小,也就是说需要加密的明文只有几种,那么就很容易通过密文(Ciphertext
)猜到明文。比如,需要加密的明文是一个布尔值,不是真就是假,只有两种情况,那么如果密钥不变的话,加密出来的密文也就只有两种,因此根本不需要知道密钥,只要多次截获密文进行分析,就能知道明文到底是什么。
因此,引入扩散器的目的就是增大明文空间,也就是增加一定的随机性。这样,即便明文本身只有两种可能,通过扩散,也会出现更多的情况,这样就不能通过密文直接猜明文了。
所以,如果你要加密的数据是有一定格式,并且数据量很小,或内容变化不大的话,最好使用扩散器。否则存在上述的风险。但是如果要加密大文件等,就没有必要了。
最后再提一点,AES-128最好使用CBC模式,它比直接用EBC模式好很多。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯