我正在做一项关于服务器和客户端之间安全通信的学校作业。基本上,消息在客户端和服务器之间进行交换,这些通信必须实现机密性、身份验证、完整性和不可否认性。
假设我必须从客户端向服务器发送一条消息。这就是我所理想化的:
每次客户端向服务器发送消息时,我都会考虑创建一个新的会话密钥。
我对第二条的想法是:
KeyGenerator keygen = KeyGenerator.getInstance("AES");
keygen.init(128,new SecureRandom());或者这个:
KeyGenerator keygen = KeyGenerator.getInstance("AES");
keygen.init(128, System.nanoTime());还是我应该用别的方法?我这么问是因为我不知道产生种子的最佳方法。
发布于 2013-12-16 05:35:36
您可以使用建立良好的TLS (传输层安全)协议来实现前三个属性,并将其修改为包含不可否认的数字签名*。然而,严格地说,不可抵赖性要求使用来自CA的证书,以便签名可以由任何第三方进行验证。
https://crypto.stackexchange.com/questions/12306
复制相似问题