非对称密钥加密:从基础到应用
1. 加密练习与解答
在加密消息传输中,有几个关键问题值得探讨。
- 消息摘要和MAC的必要性 :加密并不能必然防止攻击者篡改消息,因此消息摘要和MAC(消息认证码)是使用加密发送消息时的必要部分。
- 实现防篡改协议 :若要实现一个不需要对消息加密,但要求消息防篡改的协议,可以使用基于消息摘要或密码的MAC。双方通信时需要知晓用于初始化MAC的密钥材料。
- MAC或消息摘要的主要限制 :其主要限制在于安全输入的数据量。超过一定大小后,不同数据计算得到相同摘要或MAC值的可能性会变得过高。
- 代码问题分析 :以下代码存在问题:
cipher.init(Cipher.ENCRYPT_MODE, key);
String encrypted = new String(cipher.doFinal(input));
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decrypted = cipher.doFinal(encrypted.getBytes());
new String(cipher.doFinal(input)) 创建的字符串和 encrypted.getBytes() 返回的字节数组依赖于Java运行时的默认字符集,这几乎总是意味着 encrypted.ge
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



