随着计算机网络技术的飞速发展.Web结构的信息系统越来越多地被应用于各个领域的管理系统中,由于Web信息系统存在于网络当中,其数据和信息的安全性受到巨大威胁。信息安全已经成为Web信息系统需要解决的首要问题。数据库系统作为Web信息系统的核心部件,其安全性将直接影响信息系统的安全性能。而数据库加密则是提高数据库安全的重要手段。

一、公钥加密体质

该公钥加密体制由3部分构成:密钥生成、加密和解密算法。

1、密钥生成

设k为安全参数。随机选取6个不同的素数pl,….p6。其长度均为量-333 bit,令n=pl,…,p6。随机选择一个6阶可逆矩阵A=(aij)。其中aij剩余定理计算al’…,a6,使之满足a1≡all(mod pi),a1≡a2l(mod p2),…,al≡a61(modp6);a2≡a12(mod 1),a2≡a22(mod P2),...,a2≡a62 (mod p6);…a6≡a16(mod p1),a2≡a26(mod p2),...,a6≡a66(mod p6)。显然,a1,…,a6的值是由pl,…,p6和矩阵A的值在mod以的一组完全剩余系上惟一确定的,而且注意到a公钥为模数n和bi,…,65;私钥为a6、Pi.…,p6和矩阵B。

2、加密

被加密明文撒的长度为1 500 bit,被分为5段,每段的长度为300 bit,记明文向量研;(ml,…,ms)T。随机选取一个长度为300 bit的整数,...,加密者计算c≡blml+b2m2+...+b5m5+r(modn)。

3、解密

接收者收到密文c后,首先计算s≡a6c(modn);然后计算S1≡s (mod Pi),S2≡s (mod P2),…,s6=s(mod p6)。此处卸取s(mod pi)的绝对最小剩余。接收者再计算(mi,…,m5,r)T =B(si,…,S6)T,即获得了明文嬲皇(ml,…,m5)T。

4、解密的正确性

注意到a6和6互为modn的逆元,就有s≡a6c-almi+---+asms +a6r (modn)。对于f=1,…,6,有si≡s-almi+…+as ms+a6r-aii mi+…+a西mS +a,6r (mod pi)。再注意到,q的长度至多为30 bit,mi和,m5的长度为300 bit。A的长度为333 bit。因此,不等式pi/2<ai1ml+…+ai5m5+ai6r<pt/2几乎总是成立的。所以,st和ai1ml+…+ai5m5+ai6r,都是s(modn)的绝对最小剩余,这些等式联立就是(sl,…,s6)r=A(mi,…,ms,r)T,而矩阵A的逆为B,因此,(mI,…,TT5,r)r=B(sI,…,s6)T,从中可以恢复出明文。

二、性能分析

1、信息率

在公钥体制的实际应用中,除了考虑它的安全性因素之外还必须考虑它的效率和信息率。如果信息率太低的话,则意味着密文扩展大,密文扩展大意昧着存储空间和计算资源的占用也大,这不符合快速公钥密码体制快速简洁的要求。

现在计算本文所提出的公钥密码体制的信息率。在加密过程中,明文长度Lm为1 500 bit,而密文的长度与模数挖相当,即密文f的长度Lc大约是6×333 bit=1 998 bit。据此可以计算出该密码体制的信息率R=Lm/Lc≈1 500/1 998=O.75。或者说,该公钥算法的密文扩展为4:30与RSA和ElGamal公钥密码体制相比,RSA是一个陷门单向置换,其密文扩展为l,1;El Gamal的密文扩展为2tl。可以看出笔者提出算法的密文扩展不大。

2、算法的计算复杂度

下面从加解密算法的计算复杂度来考虑该公钥密码算法的效率。

加密算法只使用了5个模乘法和5个模加法运算,而模乘法的计算复杂度是2次,模加法运算的计算复杂度是1次,其用时可以忽略不计。因此,加密算法的计算复杂度为O(kz),这里k是安全参数。而传统公钥密码算法RSA和El Gamal公钥密码体制的加密复杂度都是3次。

解密算法只使用了1个模乘法和1个6阶矩阵和向量的乘法运算,因此,本文提出的公钥密码算法的解密复杂度为O(k2)。而传统公钥密码算法RSA和El Gamal公钥密码体制的解密都是3次复杂度。

通过比较可知,本文提出算法的加解密速度要比RSA和El Gamal的加解密快得多,甚至可以和对称密码的加解密速度相媲美。

三、安全性分析

从两个方面来分析密码体制的安全性,即分析攻击者从公钥求解出私钥的困难性和攻击者从密文恢复出明文的不可能性。

1、整数分解

本文给出的公钥密码算法所使用的模数总不是标准的RSA模数,它是6个长为333 bit的强素数的乘积,必须估计分解这样模数的困难程度。一个公认的结果是,当一个大整数的最小素因子的长度超过200 bit时,最快的分解算法就是数域筛法(NFS)。因此,如果一个整数的长度足够长的话,比如说1024 bit。使用NFS来分解该整数在计算上是不可行的。另外一个值得注意的事实是,NFS分解一个整数所需要的时间不依赖于该整数最小的察因子的大小,而依赖于该整数本身的长度,因此,笔者所使用的1998 bit长的模数要比RSA-1024模数更难以分解。

要分析攻击者分解n= p1...P6的难度,还必须讨论公钥bl,…,b5是否提供给攻击者足够的信息。注意到bl,…,b5的构成,bi≡bai(modn),f=1,….5,b是amodn的逆元。如果给出单个的ai,攻击者是有办法分解整数n的,他可以穷举搜索a,此时ai -aj和挖的最大公因数gcd (ai -aB,n)就是玎的索因子Pj,使用欧几里德算法可以有效地计算出Pi =gcd(crr-aij,n).然而此时的ai攻击者是不知道的,笔者采用反bi (modn)对这些信息进行隐藏。而且这一隐藏方法是有效的,因为乘法运算本身就具有很好的混淆作用,最典型的例子就是RSA数,把两个素数进行乘法运算以后,乘法运算的混淆作用将使得分解乘法运算的结果即RSA数是困难的。

2、可证明安全评述

本文提出的加密算法在选择明文攻击下不是语义上安全的。这是因为,给定两个明文m2(m1,…,m15)T和t=(t1,…,t5)T,随机选择其中的一个进行加密得到密文c,攻击者很容易把m和t都代人到加密函数中,求解对应的临时密钥rm和rt,其中长度为300 bit的(比如说rH)应当是合法的临时密钥,由此可以判定密文所对应的明文(此时就是m)。

小知识之CRT

CRT是一种使用阴极射线管(Cathode Ray Tube)的显示器,主要有五部分组成:电子枪(Electron Gun),偏转线圈(Deflection coils),荫罩(Shadow mask),荧光粉层(Phosphor)及玻璃外壳。它曾是应用最广泛的显示器之一,CRT纯平显示器具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等LCD显示器难以超越的优点,而且以前的CRT显示器价格要比LCD显示器便宜不少。