在此作业中,您的任务是使用Double Ratchet算法实现安全有效的端到端加密聊天客户端,这是一种流行的会话设置协议,为现实世界聊天系统(例如Signal WhatsApp)提供动力。作为一个额外的挑战,假设您生活在一个经过政府监视的国家。因此,要求所有发送的消息都必须包括政府发布的固定公共密钥的会话密钥。在您的实施中,您将利用我们在课堂上讨论的各种加密原语,尤其是密钥交换,公共密钥加密,数字签名和经过认证的加密。由于在密码学中实现自己的原语是不明智的,因此您应该使用已建立的库:在这种情况下,是kittlecrypto库。我们将提供包含基本模板的入门代码,您将能够填写以满足下面所述的功能和安全属性。
主要关键词