加密与随机性:原理、应用及风险
1. 加密的进阶形式
1.1 认证加密
认证加密(AE)是一种对称加密,除了生成密文外,还会返回一个认证标签。用公式表示为 (AE(K, P) = (C, T)),其中 (K) 是密钥,(P) 是明文,(C) 是密文,(T) 是认证标签。这个标签无法在没有密钥的情况下被猜出,它确保了消息的完整性,证明接收到的密文与合法方最初发送的一致。
当密钥只与另一方共享时,标签还能隐式认证消息的发送方。不过,存在重放攻击的风险,攻击者可能记录并重新发送消息。为防止这种情况,可以在消息中加入计数器,每次解密消息时将计数器的值加 1,以此检测消息是否被重发。
认证加密的扩展形式是带关联数据的认证加密(AEAD),其公式为 (AEAD(K, P, A) = (C, T)),其中 (A) 是额外的明文数据。AEAD 常用于保护具有明文头部和加密负载的协议数据报,比如网络数据包的目的地址需要保持明文以进行路由。
1.2 格式保留加密
普通加密算法处理的是比特流,不关心比特代表的是文本、图像还是 PDF 文档,且密文可以有多种编码格式。但在某些需要密文与明文格式相同的场景,如只能以特定格式记录数据的数据库系统,就需要格式保留加密(FPE)。
FPE 可以生成与明文格式相同的密文,例如将 IP 地址加密为 IP 地址、邮政编码加密为邮政编码、信用卡号加密为具有有效校验和的信用卡号等。
1.3 全同态加密
全同态加密(FHE)被视为密码学家的圣杯,它允许用户在不解密初始密文 (C = E(K, P)) 的情况下,将其替换为另一个密文 (C’ =
超级会员免费看
订阅专栏 解锁全文
728

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



