基于加密二维码的防伪技术研究
蔡筱箐 黄东洋 康双 尚方静 袁红刚 肖春宝 摘 要:随着二维码在日常生活中的广泛应用,安全问题也日益突出。为了提高二维码信息的安全性和使用的快捷性,对基于加密二维码的防伪技术进行研究。首先讨论了二则为混淆和扩散。混淆的含义是密文与密钥的复杂关系变得最大化,以使攻击者无法利用两者的关系对密码进行分析;而扩散的作用就是尽最大可能使明文的每一个字符和密钥的每一位都能最大化地作用到生成的密文中。
算法步骤:
(1)对8字节明文进行初始置换;
(2)进行16轮相同的运算,将数据和密钥相结合;
(3)进行初始置换的逆运算得到密文。
AES算法
AES即高级加密标准,是为了替代DES而提出的算法。和DES算法一样,AES同样是使用分组密码设计的对称加密算法。AES算法根据密钥长度分为AES-128、AES-192和AES-256三种,分别对应128、192和256三种密钥长度。其分组长度为128bit,轮数有10、12和14,每轮的密钥长度为128bit。扩展密钥长度为176、208和240位。本文在算法对比实验中采用的是AES-256。
算法步骤:输入分组为矩阵s盒,密钥拓展为矩阵,进行9、11和13轮迭代。在每一轮迭代中执行的迭代不变。共有4种:[1]
(1)字节代换:S盒。
(2)行位移:置换。
(3)列混淆:GF(28)。
(4)轮密钥加:异或运算。
RSA算法
RSA算法的安全性到目前为止也没有得到理论证明,这与数学上神奇的质数不无相关。虽历经几十年的攻击,仍未被完全攻破,反而逐渐被密码界认可。RSA同时也是首个能够同时用于数字签名和加密的算法,也是非对称加密的典范。非对称的是指它需要一对密钥,一个用于加密,必须用与其配对的另一个秘钥用于解密。
RSA依赖的是大数的因子分解,主要包含三个参数m(两个大质数p,q的积,其二进制所占的位数就是密钥长度),e1,e2(一对具有特定关系的值)。这个特定关系可描述如下:
任取一个值给e1满足与(p-1)(q-1)互质。再取e2使得:
(e1*e2)mod((q-1)(p-1))=1(1)
此时称为(m,e1)为公钥,(m,e2)为私钥。可得下列公式(设X为明文,Y为密文)[3]:
X=Ye1modm(2)
Y=Xe2modm(3)
RSA算法的流程如下图所示。
三种算法对比
DES算法的安全性不够强。第一,其密钥Key只有7个字节,而在迭代过程中密钥的产生是依次递推出来的,在这种关联下肯定会降低其安全性。第二,加密单位只有8个字节的数据传输量,而且这其中还要分配给用于奇偶校验等。根据权威的加密算法安全性评估,军事情报机构攻破一个56位的DES加密仅需数秒钟,可见其对抗线性密码分析的能力差。而加密强度的提高又需增加密钥长度,这又无疑会加大系统的开销。
AES在对比DES之后,不难发现AES也是分组迭代密码,但其分组和密钥的长度设计巧妙。第一分组DATA的长度为128到256bit之间的任意32的倍数。第二Key的长度同样为32的倍数,最大为42个字节,显然远大于
基于加密二维码的防伪技术研究 来自淘豆网m.daumloan.com转载请标明出处.