前言
前不久和华为安全团队聊到我们产品的加密算法,据华为内部最新安全规范,我们产品加密方式需要小面积做升级优化,我系统性的学习了一遍市场上常见的算法和底层逻辑。由衷的佩服数学的艺术,真的赞叹数学的神奇。也许生活中只有两种学问,一门是哲学,一门是数学。
加密类型
加密算法可以分为对称加密和非对称加密,对称加密在以前是非常常见的加密算法,随着应用和发展,后面逐步被非对称加密算法替代。
对称加密
我们举个例子说明此类加密的运行过程和逻辑。假设张三(下面简称Z)需要将一个信息A传递给李四(下面简称L),为了防止在传递过程中被截获窃听导致泄露,Z 需要将 A 做一道转化再传递给 L。比如 Z 这样操作 A-1=A’,将 A’传递给 L,L 拿到 A’ 后,再用 A’+1= A。我们看一下过程,即使在传递过程中 A’ 被截取窃听了,其实得到的也不是最原始的信息。我们把上述过程中 A 称之为明文,A’ 称之为密文,中间转化加的1称之为密钥,加1这个方式我们称之为加密算法。A’ 可以公开传递,秘钥部分是我们需要保密的,不能让其他非相关人员知道。