管理系统中加密、解密数据的方法及装置制造方法
【专利摘要】本发明提供了一种管理系统中加密、解密数据的方法及装置,其中的方法包括当用户登录管理系统上传数据时,根据用户的登录密码生成RSA算法的公钥和私钥;当用户登录管理系统上传数据时,根据公钥采用RSA算法对管理系统随机生成的秘钥进行加密生成秘钥密文,并根据秘钥密文对用户上传的数据采用可逆算法进行加密,对加密的数据进行保存,当用户登录管理系统下载加密后的数据时,根据私钥采用RSA算法对秘钥密文进行解密,获得秘钥;根据解密后的秘钥采用可逆算法对加密的数据进行解密;获得解密的数据后下载数据。利用本发明能够提高数据加密的安全性,并且在数据加密过程中不需要客户端的支持,用户不需要多余的操作,就能对数据进行加密解密。
【专利说明】管理系统中加密、解密数据的方法及装置
【技术领域】
[0001]本发明涉及数据加密【技术领域】,更为具体地,涉及一种管理系统中加密、解密数据的方法及装置。
【背景技术】
[0002]随着计算机网络技术的发展和Internet技术的普及,Web管理系统结构得到广泛应用,特别是在一些企业信息管理与政府政务管理系统中,已成为主要的管理方式;Web管理系统中的部分信息数据是绝对机密的,它关系到了企业的发展与存亡,一旦这些机密数据被窃取或恶意篡改,这势必将给企业带来巨大的经济损失,因此,对Web管理系统的数据加密是保护数据安全的重要手段。
[0003]而对Web管理系统中的数据加密存在以下问题:
[0004]I)需要客户端的支持,例如浏览器插件,客户端程序,安装证书或者U盾等,因此,还需要用户对客户端进行操作才能对数据进行加密。
[0005]2)加密算法容易被破解,导致重要数据的泄露。
[0006]因此,需要提供一种新的防止用户隐私泄露的解决方案。
【发明内容】
[0007]鉴于上述问题,本发明的目的是提供一种管理系统中加密、解密数据的方法及装置,以解决加密数据需要客户端支持的问题,以及加密后的数据安全性不高的问题。
[0008]本发明提供一种管理系统中加密、解密数据的方法,包括:
[0009]在用户创建登录管理系统的登录密码后,对创建的登录密码采用MD5算法生成散列值;根据散列值的字符串长度将散列值均匀地截成三个字符串;分别对截成的三个字符串采用MD5算法生成三个散列值,根据生成的三个散列值分别获取大于每个散列值的最小素数,根据获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的公钥,将生成的公钥保存在数据库中,数据库存储在管理系统的服务器上;
[0010]当用户登录管理系统上传数据时,根据数据库中的公钥采用RSA算法对管理系统随机生成的秘钥进行加密生成秘钥密文,将秘钥密文保存在数据库中,并根据秘钥密文对用户上传的数据采用可逆算法进行加密,将加密的数据保存在管理系统的服务器中;
[0011]当用户登录管理系统下载加密后的数据时,对用户的登录密码采用MD5算法生成散列值;根据散列值的字符串长度将散列值均匀地截成三个字符串;分别对截成的三个字符串采用MD5算法生成三个散列值,根据生成的三个散列值分别获取大于每个散列值的最小素数,根据获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的私钥;根据私钥采用RSA算法对数据库中的秘钥密文进行解密,获得秘钥;根据解密后的秘钥采用可逆算法对管理系统的服务器中的加密的数据进行解密;获得解密的数据后下载数据。
[0012]本发明还提供一种管理系统中加密、解密数据的装置,包括:
[0013]散列值生成单元,用于在用户创建登录管理系统的登录密码后,对创建的所述登录密码采用MD5算法生成散列值;
[0014]散列值截取单元,用于根据散列值的字符串长度将散列值均匀地截成三个字符串;其中,散列值生成单元分别对散列值截取单元截成的三个字符串采用MD5算法生成三个散列值;
[0015]最小素数获取单元,用于根据散列值截取单元生成的三个散列值分别获取大于每个散列值的最小素数;
[0016]公钥生成单元,用于根据最小素数获取单元获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的公钥;
[0017]公钥保存单元,用于将生成的公钥保存在数据库中,数据库存储在管理系统的服务器上;
[0018]数据加密单元,用于对用户上传的数据采用可逆算法进行加密;
[0019]数据保存单元,用于将加密的数据保存在管理系统的服务器中;
[0020]秘钥生成单元,用于根据管理系统随机生成秘钥;
[0021]秘钥加密单元,用于根据数据库中的公钥采用RSA算法对秘钥进行加密生成秘钥密文;
[0022]秘钥密文保存单元,用于将秘钥密文保存到数据库中;
[0023]数据加密单元,用于根据秘钥密文对用户上传的数据采用可逆算法进行加密;
[0024]数据保存单元,用于将加密的数据保存在管理系统的服务器中;
[0025]私钥生成单元,用于根据最小素数获取单元获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的私钥;
[0026]秘钥解密单元,用于根据私钥生成单元生成的私钥采用RSA算法对数据库中的秘钥密文进行解密,获得秘钥;
[0027]数据解密单元,用于根据解密后的秘钥采用可逆算法对管理系统的服务器中的加密的数据进行解密,获得解密的数据;
[0028]数据下载单元,用于下载解密的数据。
[0029]利用上述根据本发明的管理系统中加密、解密数据的方法及装置,能够取得以下有益效果:
[0030]I)在数据加密过程中不需要客户端的支持,跟浏览普通网站一样,用户不需要多余的操作,就能对数据进行加密解密。
[0031]2)支持数据的拥有者授予其他用户下载文件的权限。
[0032]3)除用于数据的拥有者及拥有者授予下载权限的其他用户外,即便是得知此加密方法并获得操作程序服务器和数据库服务器的IT人员,也无法对数据解密。
[0033]4)当用户具有大量数据时,更换登录密码不需要对数据重新加密,不影响系统响应速度。
[0034]为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。【专利附图】
【附图说明】
[0035]通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
[0036]图1为根据本发明实施例的管理系统中加密、解密数据的方法的流程图;
[0037]图2为根据本发明实施例的管理系统中加密、解密数据的装置的逻辑结构图。
[0038]在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0039]在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
[0040]为了解决上述问题,本发明采用三种加密方法对数据进行加密,当用户上传数据时,首先,采用可逆算法对用户上传的数据加密,然后,对用户的登录密码采用不可逆算法生成非对称算法的公钥,采用非对称加密算法的公钥对解密数据的秘钥进行加密形成密文;当用户下载数据时,采用非对称加密算法的私钥对密文解密获得解密数据的秘钥,再用秘钥对加密的数据进行解密,由于非对称加密算法和不可逆加密算法无法被破解,所以采用这种三重加密算法加密的数据安全性非常高。
[0041]以下将结合附图对本发明的具体实施例进行详细描述。
[0042]图1示出了根据本发明实施例的管理系统中加密、解密数据的方法的流程。
[0043]如图1所示,本发明实施例的管理系统中加密、解密数据的方法,包括:
[0044]SlOO:在用户创建管理系统的登录密码后,对创建的登录密码采用MD5算法生成散列值。
[0045]其中,管理系统可以文件管理系统,或其他内容信息管理系统;MD5算法为不可逆算法,该算法为公开的算法,本实施例不再复述。
[0046]SlOl:根据生成的散列值的字符串长度将散列值均匀地截成三个字符串。
[0047]S102:分别对截成的三个字符串采用MD5算法生成三个散列值。
[0048]S103:根据生成的三个散列值分别获取大于每个散列值的最小素数。
[0049]例如三个散列值分别为6、20、35,对应大于三个散列值的最小素数分贝为7、23、37。
[0050]S104:根据获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的公钥,将生成的公钥保存在数据库中,该数据库存储在管理系统的服务器上。
[0051]其中,采用Euclid算法生成公钥的过程为:
[0052]I)随机取步骤S103中的三个素数中的两个素数P和q ;
[0053]2)计算 n=p*q, f=(p-l)*(q_l);
[0054]3)取三个素数中的最后一个素数e,满足条件gcd(e, (p_l) * (q_l)) =1,其中gcd为最大公约数,也就是说满足e和f互素;
[0055]如果e和f不能互素,则将η中的P换成e,重新进行计算,直到满足e和f互素。
[0056]4)计算d,满足(e*d) mod((p_l) *(q_l)) =1,即乘积d*e对f求余的结果为I。
[0057]其中,e和η组成公钥,d和η组成私钥(为下述步骤S108的私钥)。[0058]需要说明的是,当用户修改登录密码时,根据修改后的登录密码对用户所有的数据重新生成公钥,不需要对数据进行操作,不影响管理系统的响应速度。
[0059]另一方面,生成公钥的时机有两个,一个是用户在创建登录密码时;另一个是用户修改密码时,其它时间均不会生成公钥,不论是数据的拥有者还是被授权者都是在创建登录密码或修改登录密码时根据各自的登录密码生成各自的公钥。
[0060]S105:当用户登录管理系统上传数据时,根据数据库中的公钥采用RSA算法对管理系统随机生成的秘钥进行加密生成秘钥密文,将秘钥密文保存在所述数据库中。
[0061]其中,采用RSA算法对秘钥进行加密的公式为b= (a*e) mod η ;
[0062]其中,b表示秘钥密文;
[0063]a表不秘钥;
[0064]η为Euclid算法中的η ;
[0065]e为公钥中的e。
[0066]S106:根据秘钥密文对用户上传的数据采用可逆算法进行加密,将加密的数据保存在管理系统的服务器中。
[0067]可逆算法包括DES、TripleDES, RC2、RC4、RC5和Blowfish等算法,本实施例优选的实施方式才用DES算法对数据加密,由于DES算法为公知算法,故本实施例不再复述。
[0068]S107:当用户登录管理系统下载加密的数据时,根据步骤S100-S104生成RSA算法的私钥。
[0069]需要说明的是,在SlOO中,用户的登录密码已经创建完成,因此,在生成散列值的时候不需要重新创建密码,而是根据创建的密码生成散列值;而且,只有在用户登录管理系统后并进行下载动作时才会生成与公钥对应的私钥,其他时机均无法获得私钥。
[0070]数据的拥有者还可以对其他用户授权下载权限,其他用户在创建各自的登录密码或修改登录密码时生成公钥,其他用户利用各自生成的公钥对该加密数据的秘钥进行加
LU O
[0071]S108:根据私钥采用RSA算法对数据库中的秘钥密文进行解密,获得秘钥。
[0072]私钥为步骤S104中生成的私钥,但与公钥的生成时间不同,公钥是在用户创建登录密码或修改登录密码时生成,而私钥是在用户登录管理系统后并进行下载动作时生成的,并不会保存在数据库中,因为私钥是不能被其他任何人知道的,如果保存在数据库中就有被IT人员非法使用的可能。
[0073]S109:根据所述解密后的秘钥采用可逆算法对所述管理系统的服务器中的加密的数据进行解密,获得解密的数据。
[0074]由于本实施例对数据加密采用的是DES算法,所以本实施例对数据的解密同样采用DES算法。
[0075]SllO:下载解密的数据。
[0076]上述详细的描述了本发明的方法对数据进行加密解密的过程,本发明采用不可逆加密算法和非对称加密算法间接的对数据进行加密,提高加密数据的安全性,并且在数据加密过程中不需要客户端的支持,用户不需要多余的操作,就能对数据进行加密解密。
[0077]与上述方法相对应,本发明还提供一种管理系统中加密、解密数据的装置。
[0078]图2示出了根据本发明实施例的管理系统中加密、解密数据的装置的逻辑结构。[0079]如图2所示,管理系统中加密、解密数据的装置200包括:
[0080]散列值生成单元201,用于在用户创建登录管理系统的登录密码后,对创建的登录密码采用MD5算法生成散列值;
[0081]散列值截取单元202,用于根据散列值的字符串长度将散列值均匀地截成三个字符串;其中,散列值生成单元分别对散列值截取单元截成的三个字符串采用MD5算法生成三个散列值;
[0082]最小素数获取单元203,用于根据生成的三个散列值分别获取大于每个散列值的
最小素数;
[0083]公钥生成单元204,用于根据获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的公钥;
[0084]公钥保存单元205,用于将生成的公钥保存在数据库中,数据库存储在管理系统的服务器上;
[0085]秘钥生成单元206,用于根据管理系统随机生成秘钥;
[0086]秘钥加密单元207,用于根据数据库中的公钥采用RSA算法对秘钥进行加密生成秘钥密文;
[0087]秘钥密文保存单元208,用于将秘钥密文保存到数据库中;
[0088]数据加密单元209,用于根据秘钥密文对用户上传的数据采用可逆算法进行加密;
[0089]数据保存单元210,用于将加密的数据保存在管理系统的服务器中;
[0090]私钥生成单元211,用于根据获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的私钥;
[0091]秘钥解密单元212,用于根据生成的私钥采用RSA算法对数据库中的秘钥密文进行解密,获得秘钥;
[0092]数据解密单元213,用于根据解密后的秘钥采用可逆算法对管理系统的服务器中的加密的数据进行解密,获得解密的数据;
[0093]数据下载单元214,用于下载解密的数据。
[0094]其中,该装置还包括下载权限授予单元(图未示出),用于在维护数据的使用权限时,授予其他用户下载权限,其他用户根据授权的下载权限下载数据。
[0095]其中,公钥生成单元204包括公钥重建模块(图未示出),用于在修改用户登录录管理系统的登录密码时,根据修改后的登录密码重新生成RSA算法的公钥,并保存在数据库中。
[0096]其中,秘钥加密单元209还根据新生成的RSA算法的公钥采用RSA算法重新对秘钥进行加密生成秘钥密文。
[0097]如上参照附图以示例的方式描述了根据本发明提出的管理系统中加密数的方法及装置。但是,本领域技术人员应当理解,对于上述本发明所提出的管理系统中加密数的方法及装置,还可以在不脱离本
【发明内容】
的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
【权利要求】
1.一种管理系统中加密、解密数据的方法,包括: 在用户创建管理系统的登录密码后,对创建的所述登录密码采用MD5算法生成散列值;根据所述散列值的字符串长度将所述散列值均匀地截成三个字符串;分别对截成的三个字符串采用所述MD5算法生成三个散列值,根据生成的三个散列值分别获取三个大于每个散列值的最小素数,根据所述最小素数采用Euclid算法生成RSA算法的公钥,将所述生成的公钥保存在数据库中,所述数据库存储在所述管理系统的服务器上; 当所述用户登录管理系统上传数据时,根据所述数据库中的公钥采用RSA算法对所述管理系统随机生成的秘钥进行加密生成秘钥密文,将所述秘钥密文保存在所述数据库中,并根据所述秘钥密文对用户上传的数据采用可逆算法进行加密,将加密的数据保存在所述管理系统的服务器中; 当所述用户登录所述管理系统下载加密的数据时,对所述用户的登录密码采用MD5算法生成散列值;根据所述散列值的字符串长度将所述散列值均匀地截成三个字符串;分别对截成的三个字符串采用所述MD5算法生成三个散列值,根据生成的三个散列值分别获取三个大于每个散列值的最小素数,根据所述最小素数采用Euclid算法生成RSA算法的私钥;根据所述私钥采用RSA算法对所述数据库中的秘钥密文进行解密,获得所述秘钥;根据所述解密后的秘钥采用可逆算法对所述管理系统的服务器中的加密的数据进行解密;获得解密的数据后下载所述数据。
2.如权利要求1所述的管理系统中加密、解密数据的方法,其中, 在用户维护数据的使用权限时,所述用户对其他用户授予下载权限,其他用户根据所述用户授权的下载权限下载数据。
3.如权利要求1所述的管理系统中加密、解密数据的方法,其中, 在修改用户登录所述录管理系统的登录密码时,根据修改后的登录密码重新生成RSA算法的公钥,并保存在所述数据库中。`
4.如权利要求3所述的管理系统中加密、解密数据的方法,其中, 根据新生成的RSA算法的公钥采用RSA算法重新对所述秘钥进行加密生成秘钥密文。
5.一种管理系统中加密、解密数据的装置,包括: 散列值生成单元,用于在用户创建登录管理系统的登录密码后,对创建的所述登录密码采用MD5算法生成散列值; 散列值截取单元,用于根据所述散列值的字符串长度将所述散列值均匀地截成三个字符串;其中,散列值生成单元分别对散列值截取单元截成的三个字符串采用MD5算法生成三个散列值; 最小素数获取单元,用于根据生成的三个散列值分别获取大于每个散列值的最小素数; 公钥生成单元,用于根据所述最小素数采用Euclid算法生成RSA算法的公钥; 公钥保存单元,用于将所述生成的公钥保存在数据库中,所述数据库存储在所述管理系统的服务器上; 秘钥生成单元,用于根据所述管理系统随机生成秘钥; 秘钥加密单元,用于根据所述数据库中的公钥采用RSA算法对所述秘钥进行加密生成秘钥密文;秘钥密文保存单元,用于将所述秘钥密文保存到数据库中; 数据加密单元,用于根据所述秘钥密文对用户上传的数据采用可逆算法进行加密; 数据保存单元,用于将加密的数据保存在所述管理系统的服务器中; 私钥生成单元,用于根据获取的三个大于散列值的最小素数采用Euclid算法生成RSA算法的私钥; 秘钥解密单元,用于根据所述私钥采用RSA算法对所述数据库中的秘钥密文进行解密,获得所述秘钥; 数据解密单元,用于根据所述解密后的秘钥采用可逆算法对所述管理系统的服务器中的加密的数据进行解密,获得解密的数据; 数据下载单元,用于下载解密的数据。
6.如权利要求5所述的管理系统中加密、解密数据的装置,其中, 所述装置还包括下载权限授予单元,用于在维护数据的使用权限时,授予其他用户下载权限,其他用户根据授权的下载权限下载数据。
7.如权利要求6所述的管理系统中加密、解密数据的装置,其中, 所述公钥生成单元包括公钥重建模块,用于在修改用户登录所述录管理系统的登录密码时,根据修改后的登录密码重新生成RSA算法的公钥,并保存在所述数据库中。
8.如权利要求7所述的管理系统中加密、解密数据的装置,其中, 所述秘钥加密单元还根据新生成的RSA算法的公钥采用RSA算法重新对所述秘钥进行加密生成秘钥密文。
【文档编号】H04L9/30GK103684765SQ201310721922
【公开日】2014年3月26日 申请日期:2013年12月24日 优先权日:2013年12月24日
【发明者】尚晶文, 张广平, 宋永国 申请人:歌尔声学股份有限公司