背景
在需要对数据进行传输或者表达时,通常要求数据加密的安全级别不高,但希望加解密时间复杂度尽可能低。这时使用传统的对称加密(如3DES、AES)或非对称加密(如RSA、ECC)显然不太适合。因为加密的安全级别和加解密时间复杂度之间存在矛盾。所以,我们需要寻找一种方法,在保证安全性的同时,加解密效率尽可能高。
引言
密码学的三大原则:扩散、混淆、雪崩效应是设计高效数据加密混淆方法的重要基础。本文将介绍密码学的基本原则,并针对实际业务场景给出了多种实现案例。
正文
密码学三大原则
-
扩散:保证明文每一位都影响密文的多个位,或者使得密文的每一位受到明文的多个位的影响,从而隐藏明文的统计特性。
-
混淆:通过复杂化密文与密钥之间的统计关系,防止对手推测密钥。使用非线性代替变换可以达到较好的混淆效果。
-
雪崩效应:即使输入发生微小变化,也会引起输出的剧烈变化。这是一种加密算法的理想属性,也是保证加密强度的关键特征。
常用套路实例
利用多表位移法生成看似随机的定长数字会议号
针对腾讯会议号的生成方法,可以利用MD5的高散列性生成一定数量的KeyMap<Intege