CN114417382A - 数据传输加解密方法、装置、设备及存储介质 - Google Patents
数据传输加解密方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114417382A CN114417382A CN202210061656.9A CN202210061656A CN114417382A CN 114417382 A CN114417382 A CN 114417382A CN 202210061656 A CN202210061656 A CN 202210061656A CN 114417382 A CN114417382 A CN 114417382A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- encryption
- target key
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据加解密技术领域,公开了一种数据传输加解密方法、装置、设备及存储介质。本方法包括:通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
Description
技术领域
本发明涉及数据加解密技术领域,尤其涉及一种数据传输加解密方法、装置、设备及存储介质。
背景技术
在对接第三方系统时,为了校验请求的合法性会对次请求进行加签、验签;为了保证敏感信息的安全性防止信息泄露,会对敏感信息进行加密和解密。由于不同机构和公司的规范不一样,对应的会出现不同的加密、解密、加签、验签算法。按照传统方式去处理时,需要对不同机构和公司定制对应的算法服务,密钥、证书信息也无法统一管理。
传统的加解密工具需要使用到硬件加密机,每家银行的算法如果定制还需要和加密机厂商沟通升级,升级完成后还需要重新对接加密机,进而会影响整个需求的开发周期,效率低下。而且硬件加密机价格昂贵,当业务量增大后需要采购更多的硬件加密机,增加了业务的运营成本。因此,如何统一加解密服务应用成了本领域技术人员需要解决的技术问题。
发明内容
本发明的主要目的在于提供一种数据传输加解密方法、装置、设备及存储介质,通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
本发明第一方面提供了数据传输加解密方法,包括:从待传输数据中选取目标关键数据,获取与所述目标关键数据对应的用户标识符和数据加密参数;基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥;对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据;基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥;根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库;读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据。
可选地,在本发明第一方面的第一种实现方式中,所述基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥包括:对所述数据加密参数进行预处理,生成循环群,其中,所述循环群包括至少一个素数;基于预置随机算法,从所述循环群中选取一个素数作为第一随机数;根据所述第一随机数,利用预置初始化算法进行密钥的生成计算,确定与所述目标关键数据对应的初始密钥。
可选地,在本发明第一方面的第二种实现方式中,所述对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据包括:对所述目标关键数据进行清洗,得到所述目标关键数据中的有效字段;对所述有效字段进行拼接,并根据预置加密算法将所述拼接后的有效字段进行聚类分析,得到分组字段数据;获取与所述分组字段数据等长的伪随机序列;将所述伪随机序列和所述分组字段数据对齐,得到所述目标关键数据中的待加解密数据。
可选地,在本发明第一方面的第三种实现方式中,所述基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥包括:利用所述随机算法,从所述循环群中选取一个素数作为第二随机数;将所述用户标识符、所述第二随机数和所述初始密钥输入至预置密钥修改算法中进行密钥转化处理,得到所述用户标识符对应的私钥和目标密钥。
可选地,在本发明第一方面的第四种实现方式中,所述根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库包括:利用所述随机算法,从所述循环群中选取一个素数作为第三随机数;根据所述第三随机数,利用预置加密算法对所述目标关键数据进行加密,得到所述目标关键数据对应的加密数据。
可选地,在本发明第一方面的第五种实现方式中,读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据包括:读取所述数据库中的加密数据;提取与所述加密数据对应的用户标识符,并根据预置验证规则验证所述用户标识符与所述加密数据中携带的访问规则是否相同;若所述用户标识符与所述加密数据中携带的访问规则相同,则根据所述私钥,调用预置解密算法对所述加密数据进行解密,得到所述目标关键数据。
本发明第二方面提供了一种数据传输加解密装置,包括:获取模块,用于从待传输数据中选取目标关键数据,获取与所述目标关键数据对应的用户标识符和数据加密参数;确定模块,用于基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥;清洗模块,用于对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据;修改模块,用于基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥;加密模块,用于根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库;解密模块,用于读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据。
可选地,在本发明第二方面的第一种实现方式中,所述确定模块具体用于:
对所述数据加密参数进行预处理,生成循环群,其中,所述循环群包括至少一个素数;基于预置随机算法,从所述循环群中选取一个素数作为第一随机数;根据所述第一随机数,利用预置初始化算法进行密钥的生成计算,确定与所述目标关键数据对应的初始密钥。
可选地,在本发明第二方面的第二种实现方式中,清洗模块具体还用于:对所述目标关键数据进行清洗,得到所述目标关键数据中的有效字段;对所述有效字段进行拼接,并根据预置加密算法将所述拼接后的有效字段进行聚类分析,得到分组字段数据;获取与所述分组字段数据等长的伪随机序列;将所述伪随机序列和所述分组字段数据对齐,得到所述目标关键数据中的待加解密数据。
可选地,在本发明第二方面的第三种实现方式中,所述修改模块具体用于:利用所述随机算法,从所述循环群中选取一个素数作为第二随机数;将所述用户标识符、所述第二随机数和所述初始密钥输入至预置密钥修改算法中进行密钥转化处理,得到所述用户标识符对应的私钥和目标密钥。
可选地,在本发明第二方面的第四种实现方式中,所述加密模块具体用于:利用所述随机算法,从所述循环群中选取一个素数作为第三随机数;根据所述第三随机数,利用预置加密算法对所述目标关键数据进行加密,得到所述目标关键数据对应的加密数据。
可选地,在本发明第二方面的第五种实现方式中,所述解密模块包括:读取单元,用于读取所述数据库中的加密数据;验证单元,用于提取与所述加密数据对应的用户标识符,并根据预置验证规则验证所述用户标识符与所述加密数据中携带的访问规则是否相同;解密单元,用于若所述用户标识符与所述加密数据中携带的访问规则相同,则根据所述私钥,调用预置解密算法对所述加密数据进行解密,得到所述目标关键数据。
本发明第三方面提供了数据传输加解密设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据传输加解密设备执行上述的数据传输加解密方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据传输加解密方法的步骤。
本发明提供的技术方案中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
附图说明
图1为本发明提供的数据传输加解密方法的第一个实施例示意图;
图2为本发明提供的数据传输加解密方法的第二个实施例示意图;
图3为本发明提供的数据传输加解密方法的第三个实施例示意图;
图4为本发明提供的数据传输加解密方法的第四个实施例示意图;
图5为本发明提供的数据传输加解密方法的第五个实施例示意图;
图6为本发明提供的数据传输加解密装置的第一个实施例示意图;
图7为本发明提供的数据传输加解密装置的第二个实施例示意图;
图8为本发明提供的数据传输加解密设备的一个实施例示意图。
具体实施方式
本发明实施例提供的数据传输加解密方法、装置、设备及存储介质,先通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
本发明的说明书和权利要求书及上述附中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据传输加解密方法的第一个实施例包括:
101、从待传输数据中选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;
本实施例中,从待传输数据中选取目标关键数据;其中,所述关键数据为所述目标信息中其他数据确认的依据。对所有的目标关键数据进行随机选择来确定所述目标关键数据中待加密信息。
进一步地,引入随机选择,从目标关键数据中随机选择待加密的信息,确保待加密信息的位置无法轻易获知,使得本加密方法的密钥空间(random space)的范围要大于非随机选择情况下和目标信息全加密情况下密钥空间的范围,极大地增加了穷举攻击的难度。
102、基于数据加密参数,得到与目标关键数据对应的初始密钥;
本实施例中,在移动云计算环境中,可信权威中心首先执行初始化算法,生成初始密钥Msk和系统公钥Pk。
初始化算法主要是密钥管理机构KMS将数据加密安全参数k作为输入,输出阶为素数q的循环群G,素数q的二进制长度为k,g为G的生成元,该循环群G还包含一个哈希函数f,并且G中的DDHP(判定性Diffie-Hellmen假设)是困难的;从Zq*中选取一个随机数x,计算出h=gx;将PK=(G,g,q,h,f)作为公钥输出,将MSK=x作为初始密钥。
本实施例中,公钥加密系统是非对称加密机制,使用一对密钥(一个公钥和一个私钥)来保护加密数据。公钥加密数据,并相应地解密数据,公钥可以对外公布,但是私钥必须秘密保存;使用某联系人公钥加密的邮件,只有该联系人可以用自己的私钥解密并阅读;
不可能用公钥来创建私钥并代替私钥的功能,因此,任何人使用公钥能加密信息,但是不能用公钥解密该信息;只有拥有与公钥相配对的私钥的人才掌有解密信息的权利。公钥加密机制允许人们在事先没有任何安全协议和机密协议的情况下,能够实现安全的加密通讯。在对称加密体制中,通讯双方必须持有同样的密钥,并且相互事先取得信任和许可协议,加密和解密信息使用的也是该同一个密钥。在非对称加密体制(公钥加密系统,使用一对公钥和私钥)中,需要发送方和接受方持有同样密钥的方案早已被废止了。
103、对目标关键数据进行清洗,得到目标关键数据中的待加解密数据;
本实施例中,数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。数据安全技术之一,数据库安全技术主要包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。数据库安全风险包括:拖库、刷库、撞库。
具体地,通过数据脱敏产品,可以有效防止企业内部对隐私数据的滥用,防止隐私数据在未经脱敏的情况下从企业流出。满足企业既要保护隐私数据,同时又保持监管合规,满足企业合规性。
DMS提供了丰富的内置脱敏算法和灵活的、流程化的策略和方案管理能力,支持对多种数据源进行脱敏处理,帮助企业在不改变业务流程的前提下快速部署实施,有效的降低脱敏的复杂度和风险,控制脱敏成本。。
具体地,在本步骤中引入随机选择,从目标关键数据中随机选择待加密的信息,确保待加密信息的位置无法轻易获知,使得本加密方法的密钥空间(random space)的范围要大于非随机选择情况下和目标信息全加密情况下密钥空间的范围,极大地增加了穷举攻击的难度。
104、基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;
本实施例中,用户向权威中心提交自己的身份标识信息,权威中心执行密钥修改算法对密钥进行修改,得到用户私钥和目标密钥,给用户颁发相应的用户私钥。密钥修改算法主要是,对于用户i,密钥管理机构KMS从Zq*中随机选择一个数xi1,然后计算xi2=x-xi1。
密钥管理机构KMS将用户私钥Kui=(xi1)发送给用户i,将目标密钥Ksi=(i,xi2)发送给服务器。服务器接收到Ksi后,就更新存储在它上面的用户-密钥映射关系Ks=Ks∪(i,xi2)。
105、根据目标密钥,调用预置加密算法,对待加解密数据进行加密,得到目标关键数据对应的加密数据,并将加密数据存储至预设数据库;
本实施例中,移动用户在其可信环境中,利用高性能设备执行离线加密算法,计算加密数据,并将其保存在移动设备中。利用离线加密算法系统公钥Pk作为输入,然后输出加密数据CToff。
加密数据生成的过程主要是:给定一个文件File={<fid1,file1>,<fid2,file2>…<fidn,filen>},关键词wi以及编辑距离d1;根据基于通配符的方法求出关键词wi的模糊集Swi,d1;输出索引Index={<Swi,d1,fidwi>},wi∈file1∪file2∪…∪filen,其中fidwi是包含关键词wi的所有文件的文件号;用户执行算法加密数据,有两种数据需要进行加密,一个是文件filei,一个是索引Index。具体过程如下:
加密文件:利用ElGamal代理加密算法离线加密文件为C(filei)=(gx,grxi1filei)。其中r是从Zq*中随机选择的一个随机数,filei∈File。
加密索引:xi1是用户i的私钥,它可以生成另一个密钥KI用来加密索引。通过哈希函数f产生密钥KI=f(xi1);加密索引文件Index:Index={〈{Tw(KI)}w∈Swi,d1,Enc(KI,fidw)〉},其中T可以通过RSA实现,Enc可以通过AES或者DES实现;将加密好的文件与索引传给服务器。
其中RSA是指RSA算法,RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。RSA算法执行过程通常是先生成一对RSA密钥,其中RSA密钥之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
Enc是对称加密算法,在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
AES是指密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法。AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:矩阵中的每一个字节都与该次回合金钥(round key)做XOR运算;每个子密钥由密钥生成方案产生;通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节;将矩阵中的每个横列进行循环式移位;使用线性转换来混合每内联的四个字节。
DES指数据加密标准,是一种使用密钥加密的块算法。DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位(实际用到了56位,第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),其算法主要分为两步:初始置换和逆置换。
106,读取加密数据,通过私钥对加密数据进行解密,得到目标关键数据。
本实施例中,用户j收到服务器发来的加密数据后,利用自己手中的密钥xj1去计算grxj1filei*(gr)-xj1=filei,进而解密该加密文件,得到最终明文文件。
该实施例通过获取待传输的目标关键数据、用户身份标识信息和数据加密安全参数,确定初始密钥;根据用户身份标识信息,通过预置密钥修改算法对初始密钥进行修改,得到用户私钥和目标密钥;根据系统公钥,对目标关键数据进行离线加密,生成离线加密数据;基于用户身份标识信息和目标密钥,对离线加密数据进行转换,生成转换后的加密数据,并存储于存储单元中;在接收到数据读取指令时,从存储单元中读取转换后的加密数据,并利用用户私钥进行解密,得到目标关键数据,这样就减少了移动终端运行加密和解密的开销。
本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
请参阅图2,本发明实施例中数据传输加解密方法的第二个实施例包括:
201、从待传输数据中选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;
202、对数据加密参数进行预处理,生成循环群,其中,循环群包括至少一个素数;
本实施例中,循环群是一种很重要的群,也是已被完全解决了的一类群。其定义为若一个群G的每一个元都是G的某一个固定元a的乘方,则称G为循环群,记作G=(a),a称为G的一个生成元。循环群有无阶循环群和有阶循环群两种类型。
假设(a)是一个循环群,
(1)若|a|=∞,则(a)与整数加群Z同构;
(2)若IaI=n,则(a)与模n的剩余类加群Zn同构。
证(1)|a|=∞,则当m≠n时,
am≠an,(a)={…,a-2,a-1,e,a1,a2,…}.
于是令φ:(a)→Z,am→m可以证明这是循环群(a)到整数加群Z的一个双射,且
φ(am·an)=φ(am+n)=m+n=φ(am)+φ(an),
故φ是(a)到Z的一个同构映射,所以(a)≌Z.
(2)设IaI=n,则(a)={e,a,a2,…,an-1}
令σ:(a)→Zn,am→[m].
若有m,m′∈Z,m′>m使得am=am',则am'-m=e,而an=e,所以n|m'-m,即m'=m(modn),因此[m′]=[m],故σ是(a)到Zn的一个映射.
σ(am·am')=σ(am+m')
=[m+m′]=[m]+[m′]
=σ(am)+σ(am′),
所以σ是(a)到Zn的一个同构映射,即(a)≌Zn。
由于群之间的同构关系具有反身性、对称性和传递性,故这个定理告诉我们,凡无限循环群都彼此同构,凡有限同阶循环群都彼此同构,而不同阶的群,由于不能建立双射,当然不能同构。这样抽象地看,即在同构意义下,循环群只有两种,即整数加群和模n的剩余类加群。
203、基于预置随机算法,从循环群中选取一个素数作为第一随机数;
本实施例中,随机算法是一个概念图灵机,也就是在算法中引入随机因素,即通过随机数选择算法的下一步操作。其中,一个随机算法是一种算法,它采用了一定程度的随机性作为其逻辑的一部分。该算法通常使用均匀随机位作为辅助输入来指导自己的行为,超过随机位的所有可能的选择实现了“平均情况下的”良好业绩的希望。从形式上看,该算法的性能将会是一个随机变量,由随机位决定;因此无论是运行时间,或输出(或两者)是随机变量。
在常见的实践中,随机化算法是使用近似的伪随机数发生器代替随机比特的真实来源的;这样的实施可以从预期的理论行为偏离。
解问题P的随机算法定义为:设I是问题P的一个实例,用算法解I的某些时刻,随机选取I中的任一个元素b,由b来决定算法的下一步动作。
优点:1、执行时间和空间,小于同一问题的已知最好的确定性算法;2、实现比较简单,容易理解;三要素:输入实例、随机源和停止准则。
进一步地,一种平衡:随机算法可以理解为在时间、空间和随机三大计算资源中的平衡。
204、根据第一随机数,利用预置初始化算法进行密钥的生成计算,得到与目标关键数据对应的初始密钥;
本实施例中,种群的初始化就是依据编码规则给出种群的初始解。算法在开始时都要进行种群的初始化,根据初始化方法的不同形式可以将其分成M类随机方法、定值设定法、两步式方法、混合方法和具体应用法,随机数生成器是最常用的方法,然而,在面对大规模优化问题(决策变量超过100)时,这种初始化方法效果不佳。在随机方法中,比较常用的是RNG。而定值设定法则比较偏向于在搜索空间中产生均匀分布的点。
具体地,算法在开始时都要进行种群的初始化,根据初始化方法的不同形式可以将其分成M类随机方法、定值设定法、两步式方法、混合方法和具体应用法,随机数生成器是最常用的方法,然而,在面对大规模优化问题(决策变量超过100)时,这种初始化方法效果不佳。在随机方法中,比较常用的是RNG。而定值设定法则比较偏向于在搜索空间中产生均匀分布的点。在缺乏问题先验知识的情况下,一个比较均匀的种群可以促进算法在迭代早期的探索能力。近些年,两步式初始化方法在文献中较为常用,此方法分为前期产生初始点,后期根据条件改进这些点,混合方法一般来说是一些基础方法的组合,具体应用法则是指根据一些特殊的实值问题专门设计的初始化方法。
205、对目标关键数据进行清洗,得到目标关键数据中的待加解密数据;
206、基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;
207、根据目标密钥,调用预置加密算法,对待加解密数据进行加密,得到目标关键数据对应的加密数据,并将加密数据存储至预设数据库;
208、读取加密数据,通过私钥对加密数据进行解密,得到目标关键数据。
本实施例中步骤201、205-208与第一实施例中的步骤101、103-106类似,此处不再赘述。
本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
请参阅图3,本发明实施例中数据传输加解密方法的第三个实施例包括:
301、从待传输数据中选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;
302、基于数据加密参数,确定与目标关键数据对应的初始密钥;
303、对目标关键数据进行清洗,得到目标关键数据中的有效字段;
本实施例中,数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。与问卷审核不同,录入后的数据清理一般是由计算机完成。
具体地,数据清洗(Data cleaning)–对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。
数据清洗从名字上也看的出就是把“脏”的“洗掉”,指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。因为数据仓库中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取而来而且包含历史数据,这样就避免不了有的数据是错误数据、有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的,称为“脏数据”。我们要按照一定的规则把“脏数据”“洗掉”,这就是数据清洗。而数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。
304、对有效字段进行拼接,并根据预置加密算法将拼接后的有效字段进行聚类分析,得到分组字段数据;
本实施例中,数据拼接:数据拼接一般指的是同种数据类型的拼接,比如字符串利用拼接符号【+】,将需要拼接的变量连在一起。
具体地,任何在机器间传递多组相互独立报文且不能保证每一组报文各自同时传达的通信方式都需要数据拼接。所谓“一组报文”是指具有独立含义(或空含义)的命令、文件、数据、信号等二进制数字。一组报文可以看作是一个二进制数字,数值大小相同的报文具有相同的含义,但具有相同含义的报文不一定有相等的数值大小。
不能保证每一组报文各自同时传达的通信方式,是指无法从物理层保证所传输的数字相互独立的通信方式。回路数小于最大数字比特数的线路都无法实现每一组报文各自同时传达。也就是说串口、以太网、USB、无线通信都属于这一范畴。另外,由于报文的数值通常都可以达到10个以上的字节,而并行口很少有超过80线的实现,所以可以认为并行口很大概率也不能保证每一组报文各自同时传达。
乎所有的数字线路都无法保证一组报文同时传达,显然,每一组报文都只能被拆成碎片在线路上传递。这就导致了一个问题,如何把碎片还原成报文。把碎片还原成报文就是数据拼接。当然,把碎片还原成报文是接收操作,和发送无关。值得注意的是,当长度超过4kB时,TCP连接也存在数据拼接的需求。我们应该假定所有的通信线路都需要数据拼接。数据拼接的标准模式有3个要素:超时、预期长度、预校验。
305、获取与分组字段数据等长的伪随机序列;
本实施例中,如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。
具体地,伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机特性的随机序列。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。特性为序列中两种元素出现的个数大致相等。
伪随机序列可用图中ɑ的反馈移位寄存器得到。图中f(–n+i-1,–n+i-2,…,–i)表示反馈函数。n级移位寄存器只能有2n(一般为qn)种状态,故经一定时间后会回到原来的某一状态,产生周期性输出,若反馈函数的输出ɑn+i与各输入ɑn+i-1,…,ɑi间有线性关系存在,则为线性移位寄存器,否则为非线性移位寄存器。图中b和c分别是三级线性和非线性反馈移位寄存器。
306、将伪随机序列和分组字段数据对齐,得到目标关键数据中的待加解密数据;
本实施例中,现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是数据对齐。
同时,访问数据的地址要满足一定的条件,能被这个数据的长度所整除。例如,1字节数据已经是对齐的,2字节的数据的地址要被2整除,4字节的数据地址要被4整除。数据对齐并不是操作系统的内存结构的一部分,而是CPU结构的一部分。当CPU访问正确对齐的数据时,它的运行效率最高。当数据大小的数据模数的内存地址是0时,数据是对齐的。例如,WORD值应该总是从被2除尽的地址开始,而DWORD值应该总是从被4除尽的地址开始,如此等等。当CPU试图读取的数据值没有正确对齐时,CPU可以执行两种操作之一。即它可以产生一个异常条件,也可以执行多次对齐的内存访问,以便读取完整的未对齐数据值。其中,每个特定平台上的编译器都有自己默认的“对齐系数”,可以通过预编译命令#pragma pack(n),n=1,2,4,6,8,16来改变这一系数,其中n就是你要指定的对齐系数。
307、基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;
308、根据目标密钥,调用预置加密算法,对待加解密数据进行加密,得到目标关键数据对应的加密数据,并将加密数据存储至预设数据库;
309、读取加密数据,通过私钥对加密数据进行解密,得到目标关键数据。
本实施例中步骤301-302、307-309与第一实施例中的步骤101-102、104-106类似,此处不再赘述。
本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
请参阅图4,本发明实施例中数据传输加解密方法的第四个实施例包括:
401、从待传输数据中选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;
402、基于数据加密参数,确定与目标关键数据对应的初始密钥;
403、对目标关键数据进行清洗,得到目标关键数据中的待加解密数据;
404、利用随机算法,从循环群中选取一个素数作为第二随机数;
本实施例中,随机算法是一种使用概率和统计方法在其执行过程中对于下一计算步骤作出随机选择的算法。随机算法具有一定的优越性:对于有些问题,算法简单;对于有些问题,时间复杂性低;对于有些问题,同时兼有简单和时间复杂性低。随机算法具有随机性:对于同一实例的多次执行,效果可能完全不同;时间复杂性是一个随机变量;解的正确性和准确性也是随机的。常见的随机算法分为随机数值算法、Monte Carlo算法、Las Vegas算法、Sherwood算法。
其中,随机算法分析的特征为仅依赖于随机选择,不依赖于输入的分布;确定算法的平均复杂性分析依赖于输入的分布;对于每个入都要考虑算法的概率统计性能。随机算法分析的目标:平均时间复杂性是时间复杂性随机变量的均值;获得正确解的概率;获得优化解的概率;解的精确度估计。
405、将用户标识符、第二随机数和初始密钥输入至预置密钥修改算法中进行密钥转化处理,得到用户标识符对应的私钥和目标密钥;
本实施例中,利用生成的第二随机数,进行hash(哈希)运算,并利用获取到的该哈希值作为种子,通过随机数算法的安全随机数生成器,获取生成的随机源初始化密钥生成器,使用生成的密钥生成器产生一个AES_128的对称密钥,通过该对称密钥的16进制表示的字符串作为盐值,长度变为原来的两倍,随机性也相应提高。
其中,盐值是在密码哈希(hash)运算过程中添加的额外的随机值,如,用户标识符就可以作为盐值,来进行hash,生产密文,进而,可以做到密码保护的目的。盐(Salt),在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。
406、利用随机算法,从循环群中选取一个素数作为第三随机数;
本实施例中,利用随机算法,从循环群中选取一个素数作为第三随机数就是KMS从Zq*中随机选择一个素数作为第三随机数。
407、根据第三随机数,利用预置加密算法对目标关键数据进行加密,得到目标关键数据对应的加密数据;
本实施例中,利用离线加密算法加密文件的过程为C(filei)=(gx,grxi1filei)。其中r是从Zq*中随机选择的一个随机数,即第三随机数,filei∈File。
获取到加密数据后,对加密数据进行关键词的提取,并将提取到的所有关键词再不断进行筛选,最后得到至少一个关键词信息。
进一步地,利用通配符处理规则,对至少一个关键词信息进行扩展处理,生成模糊集,其中扩展处理为基于通配符处理规则中的编辑距离计算与关键词信息相似的相似特征;确定文件File={<fid1,file1>,<fid2,file2>…<fidn,filen>},经过关键词提取到关键词wi以及调用基于通配符处理规则中的编辑距离d1;根据基于通配符的方法求出关键词wi的模糊集Swi,d1。
基于模糊集创建关键词索引;基于模糊集Swi,输出关键词索引Index={<Swi,d1,fidwi>},wi∈file1∪file2∪…∪filen,其中fidwi是包含关键词wi的所有文件的文件号。利用用户私钥对关键词索引进行加密,得到加密索引,并创建加密索引与离线加密数据之间的映射关系。因为xi1是用户i的用户私钥,它可以生成另一个密钥KI用来加密索引。其中通过哈希函数f产生密钥KI=f(xi1)。执行加密索引文件Index的算法为Index={〈{Tw(KI)}w∈Swi,d1,Enc(KI,fidw)〉},其中T可以通过RSA实现,Enc可以通过AES或者DES实现。
对关键词索引进行加密之后,根据关键词索引和目标关键数据的映射关系建立加密索引与离线加密数据之间的映射关系。
408、读取加密数据,通过私钥对加密数据进行解密,得到目标关键数据。
本实施例中步骤401-403、408与第一实施例中的步骤101-103、106类似,此处不再赘述。
在本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
请参阅图5,本发明实施例中数据传输加解密方法的第五个实施例包括:
501、从待传输数据中选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;
502、基于数据加密参数,确定与目标关键数据对应的初始密钥;
503、对目标关键数据进行清洗,得到目标关键数据中的待加解密数据;
504、基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;
505、根据目标密钥,调用预置加密算法,对待加解密数据进行加密,得到目标关键数据对应的加密数据,并将加密数据存储至预设数据库;
506、读取数据库中的加密数据;
本实施例中,利用在线加密算法输入用户标识符和离线加密数据CToff,输出离线加密数据CT。服务器接收到加密的离线加密数据与索引后,会执行算法对密文进行转化。具体过程如下:服务器先找到与用户i对应的服务器密钥xi2,计算(gr)xi2*grxi1filei=grxfilei,对离线加密数据进行再次加密,最终生成密文C*(filei)=(gx,grxfilei)filei∈File。
然后用户j在服务器上发送文件查询信息,服务器接收到查询信息后先找到存储在其上的用户j对应的转化密钥Ksj=xj2,利用xj2对C*(filei)进行密文的转化,计算grxfilei*(gr)-xj2=g(x-xj2)rfilei=grxj1filei,因此密文变成离线加密数据C’(filei)=(gr,grxj1filei),并将该离线加密数据存储在存储单元中。
服务器直接读取存储在预设数据库中的离线加密数据,并将该加密数据发送给查询用户。
507、提取与加密数据对应的用户标识符,并根据预置验证规则验证用户标识符与加密数据中携带的访问规则是否相同;
本实施例中,转换后的加密数据是利用目标密钥生成的,所以转换后的加密数据中也包含有用户身份标识信息,并且由于文件是可以多人共享的,所以转换后的加密数据中的用户身份标识信息不止一个,多个用户身份标识信息构成了转换后的加密数据的访问策略,访问策略是可以根据查询用户的用户身份标识信息与转换后的加密数据的用户身份标识信息进行比对。提取转换后的加密数据中的用户身份标识信息,并与查询用户的用户身份标识信息进行比对,验证用户身份标识信息与转换后的加密数据中包含的访问策略是否相符。
如果用户身份标识信息与转换后的加密数据中包含的访问策略相符,就说明该查询用户可以读取该转换后的加密数据。利用解密算法,输入私钥SKID和转换后的加密数据CT',对转换后的加密数据进行解密,在此过程中会输出一个参数T’,并进行计算得到解密参数T0=(T')SKID-1。
508、若用户标识符与加密数据中携带的访问规则相同,则根据私钥,调用预置解密算法对加密数据进行解密,得到目标关键数据。
本实施例中,利用解密参数和转换后的加密数据,通过一个幂乘计算grxj1filei*(gr)-xj1=filei,然后就可以得到目标关键数据。
在本实施例中,在利用用户私钥进行解密的过程中,通过提取目标密钥中的用户身份标识信息,并验证用户身份标识信息和转换后的加密数据的访问策略是否相符,保证了服务器上存储的文件的隐私性,确保不会被不明用户读取到文件,再利用一个解密参数,通过一个幂乘计算就可以获得明文,大大减少了解密开销,方便对目标关键数据进行提取。
本实施例中步骤501-505与第一实施例中的步骤101-105类似,此处不再赘述。
本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
上面对本发明实施例中数据传输加解密方法进行了描述,下面对本发明实施例中数据传输加解密装置进行描述,请参阅图6,本发明实施例中数据传输加解密装置的第一个实施例包括:
获取模块601,用于从待传输数据中选取目标关键数据,获取与所述目标关键数据对应的用户标识符和数据加密参数;
确定模块602,用于基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥;
清洗模块603,用于对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据;
修改模块604,用于基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥;
加密模块605,用于根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库;
解密模块606,用于读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据。
本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
请参阅图7,本发明实施例中数据传输加解密装置的第二个实施例,该数据传输加解密装置具体包括:
获取模块601,用于从待传输数据中选取目标关键数据,获取与所述目标关键数据对应的用户标识符和数据加密参数;
确定模块602,用于基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥;
清洗模块603,用于对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据;
修改模块604,用于基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥;
加密模块605,用于根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库;
解密模块606,用于读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据。
在本实施例中,所述确定模块602具体用于:
对所述数据加密参数进行预处理,生成循环群,其中,所述循环群包括至少一个素数;
基于预置随机算法,从所述循环群中选取一个素数作为第一随机数;
根据所述第一随机数,利用预置初始化算法进行密钥的生成计算,确定与所述目标关键数据对应的初始密钥。
在本实施例中,所述清洗模块603具体还用于:
对所述目标关键数据进行清洗,得到所述目标关键数据中的有效字段;
对所述有效字段进行拼接,并根据预置加密算法将所述拼接后的有效字段进行聚类分析,得到分组字段数据;
获取与所述分组字段数据等长的伪随机序列;
将所述伪随机序列和所述分组字段数据对齐,得到所述目标关键数据中的待加解密数据。
在本实施例中,所述修改模块604具体用于:
利用所述随机算法,从所述循环群中选取一个素数作为第二随机数;
将所述用户标识符、所述第二随机数和所述初始密钥输入至预置密钥修改算法中进行密钥转化处理,得到所述用户标识符对应的私钥和目标密钥。
在本实施例中,所述加密模块605具体用于:
利用所述随机算法,从所述循环群中选取一个素数作为第三随机数;
根据所述第三随机数,利用预置加密算法对所述目标关键数据进行加密,得到所述目标关键数据对应的加密数据。
在本实施例中,所述解密模块606包括:
读取单元6061,用于读取所述数据库中的加密数据;
验证单元6062,用于提取与所述加密数据对应的用户标识符,并根据预置验证规则验证所述用户标识符与所述加密数据中携带的访问规则是否相同;
解密单元6063,用于若所述用户标识符与所述加密数据中携带的访问规则相同,则根据所述私钥,调用预置解密算法对所述加密数据进行解密,得到所述目标关键数据。
本发明实施例中,通过选取目标关键数据,获取与目标关键数据对应的用户标识符和数据加密参数;基于数据加密参数,得到与目标关键数据对应的初始密钥;基于用户标识符,调用预置密钥修改算法对初始密钥进行修改,得到用户标识符对应的私钥和目标密钥;根据系统公钥,调用预置加密算法,对获取的待加解密数据进行加密,得到对应加密数据,并将加密数据存储至数据库;通过私钥对读取的加密数据进行解密,得到目标关键数据。本发明通过硬件密钥加密不同机构的待传输数据,无需增加硬件加密机,提高了数据处理效率。
上面图6和图7从模块化功能实体的角度对本发明实施例中的数据传输加解密装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据传输加解密设备进行详细描述。
图8是本发明实施例提供的数据传输加解密设备的结构示意图,该数据传输加解密设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据传输加解密设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在数据传输加解密设备800上执行存储介质830中的一系列指令操作,以实现上述各方法实施例提供的数据传输加解密方法的步骤。
数据传输加解密设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图8示出的数据传输加解密设备结构并不构成对本申请提供的数据传输加解密设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述数据传输加解密方法的步骤。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据传输加解密方法,其特征在于,所述数据传输加解密方法包括:
从待传输数据中选取目标关键数据,获取与所述目标关键数据对应的用户标识符和数据加密参数;
基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥;
对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据;
基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥;
根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库;
读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据。
2.根据权利要求1所述的数据传输加解密方法,其特征在于,所述基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥包括:
对所述数据加密参数进行预处理,生成循环群,其中,所述循环群包括至少一个素数;
基于预置随机算法,从所述循环群中选取一个素数作为第一随机数;
根据所述第一随机数,利用预置初始化算法进行密钥的生成计算,确定与所述目标关键数据对应的初始密钥。
3.根据权利要求1所述的数据传输加解密方法,其特征在于,所述对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据包括:
对所述目标关键数据进行清洗,得到所述目标关键数据中的有效字段;
对所述有效字段进行拼接,并根据预置加密算法将所述拼接后的有效字段进行聚类分析,得到分组字段数据;
获取与所述分组字段数据等长的伪随机序列;
将所述伪随机序列和所述分组字段数据对齐,得到所述目标关键数据中的待加解密数据。
4.根据权利要求1所述的数据传输加解密方法,其特征在于,所述基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥包括:
利用所述随机算法,从所述循环群中选取一个素数作为第二随机数;
将所述用户标识符、所述第二随机数和所述初始密钥输入至预置密钥修改算法中进行密钥转化处理,得到所述用户标识符对应的私钥和目标密钥。
5.根据权利要求1所述的数据传输加解密方法,其特征在于,所述根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库包括:
利用所述随机算法,从所述循环群中选取一个素数作为第三随机数;
根据所述第三随机数,利用预置加密算法对所述目标关键数据进行加密,得到所述目标关键数据对应的加密数据。
6.根据权利要求1所述的数据传输加解密方法,其特征在于,所述读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据包括:
读取所述数据库中的加密数据;
提取与所述加密数据对应的用户标识符,并根据预置验证规则验证所述用户标识符与所述加密数据中携带的访问规则是否相同;
若所述用户标识符与所述加密数据中携带的访问规则相同,则根据所述私钥,调用预置解密算法对所述加密数据进行解密,得到所述目标关键数据。
7.一种数据传输加解密装置,其特征在于,所述数据传输加解密装置包括:
获取模块,用于从待传输数据中选取目标关键数据,获取与所述目标关键数据对应的用户标识符和数据加密参数;
确定模块,用于基于所述数据加密参数,确定与所述目标关键数据对应的初始密钥;
清洗模块,用于对所述目标关键数据进行清洗,得到所述目标关键数据中的待加解密数据;
修改模块,用于基于所述用户标识符,调用预置密钥修改算法对所述初始密钥进行修改,得到所述用户标识符对应的私钥和目标密钥;
加密模块,用于根据所述目标密钥,调用预置加密算法,对所述待加解密数据进行加密,得到所述目标关键数据对应的加密数据,并将所述加密数据存储至预设数据库;
解密模块,用于读取所述加密数据,通过所述私钥对所述加密数据进行解密,得到所述目标关键数据。
8.根据权利要求7所述的数据传输加解密装置,其特征在于,所述确定模块具体用于:
对所述数据加密参数进行预处理,生成循环群,其中,所述循环群包括至少一个素数;
基于预置随机算法,从所述循环群中选取一个素数作为第一随机数;
根据所述第一随机数,利用预置初始化算法进行密钥的生成计算,确定与所述目标关键数据对应的初始密钥。
9.一种数据传输加解密设备,其特征在于,所述数据传输加解密设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据传输加解密设备执行如权利要求1-6中任一项所述的数据传输加解密方法的各个步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的数据传输加解密方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061656.9A CN114417382A (zh) | 2022-01-19 | 2022-01-19 | 数据传输加解密方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210061656.9A CN114417382A (zh) | 2022-01-19 | 2022-01-19 | 数据传输加解密方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114417382A true CN114417382A (zh) | 2022-04-29 |
Family
ID=81275424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210061656.9A Pending CN114417382A (zh) | 2022-01-19 | 2022-01-19 | 数据传输加解密方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114417382A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094838A (zh) * | 2023-04-06 | 2023-05-09 | 苏州浪潮智能科技有限公司 | 一种数据加密方法及相关组件 |
CN118296632A (zh) * | 2024-06-06 | 2024-07-05 | 易信(厦门)信用服务技术有限公司 | 一种基于多级加密的金融数据安全管理方法和系统 |
-
2022
- 2022-01-19 CN CN202210061656.9A patent/CN114417382A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094838A (zh) * | 2023-04-06 | 2023-05-09 | 苏州浪潮智能科技有限公司 | 一种数据加密方法及相关组件 |
CN118296632A (zh) * | 2024-06-06 | 2024-07-05 | 易信(厦门)信用服务技术有限公司 | 一种基于多级加密的金融数据安全管理方法和系统 |
CN118296632B (zh) * | 2024-06-06 | 2024-10-15 | 易信(厦门)信用服务技术有限公司 | 一种基于多级加密的金融数据安全管理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Diffie et al. | New directions in cryptography | |
Delfs et al. | Introduction to cryptography | |
Saarinen | HILA5: On reliability, reconciliation, and error correction for Ring-LWE encryption | |
JP2022043178A (ja) | ブロックチェーンにより実装される方法及びシステム | |
EP1467512A1 (en) | Encryption process employing chaotic maps and digital signature process | |
US11374910B2 (en) | Method and apparatus for effecting a data-based activity | |
CN105306194A (zh) | 供加密档案和/或通讯协定的多重加密方法与系统 | |
CN114417382A (zh) | 数据传输加解密方法、装置、设备及存储介质 | |
CN113711564A (zh) | 用于加密数据的计算机实现的方法和系统 | |
US11637817B2 (en) | Method and apparatus for effecting a data-based activity | |
US20220382521A1 (en) | System and method for encryption and decryption using logic synthesis | |
CN117155615A (zh) | 数据加密传输方法、系统、电子设备及存储介质 | |
CN112100144A (zh) | 区块链文件共享方法、装置、存储介质及电子设备 | |
Cafaro et al. | Space-efficient verifiable secret sharing using polynomial interpolation | |
Daddala et al. | Design and implementation of a customized encryption algorithm for authentication and secure communication between devices | |
CN116866029A (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
Gilbert | The Security of” One-Block-to-Many” Modes of Operation | |
Tang et al. | A flexible and scalable malicious secure aggregation protocol for federated learning | |
Maurer et al. | Information Security and Cryptography | |
Hasler et al. | Overdrive LowGear 2.0: Reduced-Bandwidth MPC without Sacrifice | |
Muthavhine et al. | An application of the khumbelo function on the camellia algorithm to prevent attacks in iot devices | |
Reisert et al. | Overdrive LowGear 2.0: Reduced-Bandwidth MPC without Sacrifice | |
Rodas et al. | O2MD²: A New Post-Quantum Cryptosystem With One-to-Many Distributed Key Management Based on Prime Modulo Double Encapsulation | |
Moritz et al. | Secure delegation of group exponentiations: Efficient and fully verifiable schemes with two servers | |
Jain | Enhancing security in Tokenization using NGE for storage as a service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |