密码学中的高级主题:从协议构建到现代对称加密系统
1. 从密码原语构建协议
在现实世界中,公钥密码学和数字签名方案的应用远不止于实现一两个基本算法。一个应用通常会涉及多个不同的密码原语,例如公钥本身可能会被数字签名,公钥密码系统可能会使用哈希函数对明文进行填充,然后用于发送对称密码的密钥。这就需要选择公钥密码系统(如RSA)、数字签名方案、哈希函数(如SHA - 1)、填充方案(如OAEP +)和对称密码(如AES)。
然而,仅仅确定这些还远远不够。比如,通信双方使用的RSA密钥是1024位还是2048位?AES密钥的长度是多少?如何使用哈希函数或对称密码生成伪随机数?即使确定了所有明显的参数并决定了如何使用这些密码原语,还需要就数据格式达成一致。在交换消息之前,需要明确数据中每个字节的具体含义,例如哪些字节是密文,哪些字节是签名等。数据在内存中的存储顺序和计算机之间的传输顺序如果不明确,也可能导致系统完全失败。
密码协议是实现密码过程所需的所有内容的完整描述。它通常指的是一个或多个密码算法的实现方式以及它们之间的协调方式。即使假设底层的密码原语(如RSA或ECC)是安全的,使用这些原语创建看似安全的协议也很容易受到攻击。在设计协议时,必须将安全考虑放在首位。构建和分析密码协议是一项具有挑战性但对现代密码学在现实世界中的应用至关重要的工作。
为了让世界各地的计算机能够安全通信,需要有标准制定机构来指定精确的密码协议。这些机构可能由政府或相关行业的代表组成,如互联网工程任务组(IETF)、电气和电子工程师协会(IEEE)和美国国家标准协会(ANSI)。标准制定是一个艰巨的过程,涉及到对不同协议安全性的不同意见以及专利算法在公开标准中的应用等问题。
<
超级会员免费看
订阅专栏 解锁全文

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



