-
-
信息加密中的运算
-
发表于:
2018-10-22 20:40
6714
-
加密——也就是将信息隐藏起来,怎样将一个明文隐藏起来一般有两种方式 1)数值变换,2)用密钥和明文进行运算。
数值变换,一般需要创建一个随机的变换表和其逆变换表,前者用于加密后者用于解密。此种方式对复杂的信息加密效果还可以,对简单信息加密就有其不足之处了,例如加密文本文件变换后势必暴露自身的一些结构特征,所以此种方法要慎用。
引入密钥参与加密则是较好的选择。明文、密钥、密文的值域都是一样的,它们之间用什么操作符进行运算?有些书中推荐使用异或,也不是不可以但感觉不灵活,例如做了两遍异或等于没有操作,如果用加减就好多了,没有此种限制,密钥和明文、密文的运算采用无符号算法,这样数据才没有溢出的问题。假如我们的值域是一位10进制数,无符号运算下有 9+5=4; 2-4=8;怎么算都在值域之内,并且做逆运算时能恢复原值。
复习一下加密原理:
明文 + 密钥 = 密文
从上式可见,明文和密钥都是未知数,这是个二元一次方程,一个方程两个未知数是无解的,这是初中生都知道的常识。所以只要每个明文都使用不同的密钥就可以是无解的。但是如果想 winrar那类软件由于编程上的缺陷,变得能够被破解,只能说自作孽不可活,所以编程一定不要做出卖自己的行为,才能确保信息安全。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)