密码学中的多种技术与概念解析
1. 非对称加密填充技术
1.1 RSA - PKCS #1 V1.5 加密填充
普通的 RSA 公钥加密不能直接用于实际目的,需要填充来排除基本攻击。RSA - PKCS #1 V1.5 标准定义了一种广泛使用的填充方式:对于任意模数 (2^{8(k - 1)} \leq n < 2^{8k}),为了加密消息 (m),定义 (k) 字节长的字符串 (M = 02 \parallel r \parallel 0 \parallel m),其中 (r) 是随机选择的非零字节字符串(至少 8 个)。然后使用 RSA 置换对该块进行加密,即 (C = M^e \mod n)。解密时,解密者通过计算 (M = C^d \mod n) 应用 RSA 逆置换,然后检查结果 (M) 是否符合预期格式。如果符合,解密者输出最后一部分作为明文;否则,拒绝该密文。然而,1998 年 Bleichenbacher 指出,一种简单的主动攻击可以完全破解 RSA - PKCS #1。
1.2 最优非对称加密填充(OAEP)
人们尝试在“归约论”意义上为密码协议提供安全证明。Bellare 和 Rogaway 提出了随机预言模型,将一些对象(如哈希函数)理想化地假设为真正的随机函数。OAEP 是当时唯一基于 RSA 的高效且“可证明安全”的加密方案,可与任何陷门单向置换 (f) 一起使用。使用 (f - OAEP) 加密方案加密消息 (m) 时,首先应用 OAEP 过程(如图 1 所示),其中 (r) 是随机字符串,(G)、(H) 是哈希函数,得到的值 ([s \parallel t]) 再使用 (f) 进行加密,即 (C = f(s, t))
超级会员免费看
订阅专栏 解锁全文

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



