CN110768787B - 一种数据加密、解密方法及装置 - Google Patents
一种数据加密、解密方法及装置 Download PDFInfo
- Publication number
- CN110768787B CN110768787B CN201810843016.7A CN201810843016A CN110768787B CN 110768787 B CN110768787 B CN 110768787B CN 201810843016 A CN201810843016 A CN 201810843016A CN 110768787 B CN110768787 B CN 110768787B
- Authority
- CN
- China
- Prior art keywords
- algorithm
- key
- secret key
- encryption
- identifier
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据加密、解密方法及装置,用以解决现有的数据加密方法中静态秘钥及加密算法单一且长期固定不变,容易被破解的问题。该方法包括:服务器接收第一终端发送的秘钥及算法分配请求,秘钥及算法分配请求包含需要的秘钥级别以及算法类别;根据需要的秘钥级别和算法类别分别从建立的秘钥数据库和算法数据库中选择秘钥、加密算法与对应的解密算法;将秘钥标识、算法标识发送给第一终端;接收第二终端发送的数据加密请求,数据加密请求携带第一终端发送给第二终端的秘钥标识和算法标识;分别从秘钥数据库和算法数据库中提取秘钥标识对应的秘钥、算法标识对应的加密算法;以使第二终端利用秘钥和加密算法对第一终端请求的数据进行加密。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种数据加密、解密方法及装置。
背景技术
对称加密技术算法是现有的主要数据加密算法,采用替换和移位的方式进行加密,具体地,将传输的数据分成若干个数据块,每个数据块长度为64位二进制数,数据提供方和数据需求方约定好一个固定的公钥,公钥为一段64位二进制数,在数据传递过程中,将每个数据块及公钥进行二进制与运算进行加密及解密,从而实现数据的加密传输。
然而,由于静态秘钥及加密算法单一且长期固定不变,容易被破解,数据传输安全性低。
发明内容
为了解决现有的数据加密方法中静态秘钥及加密算法单一且长期固定不变,容易被破解的问题,本发明实施例提供了一种数据加密、解密方法及装置。
第一方面,本发明实施例提供了一种数据加密方法,包括:
服务器接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含秘钥级别以及算法类别;
根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法;
将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识;
接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识;
从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法;
将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端。
采用本发明实施例提供的数据加密方法,服务器接收第一终端发送的秘钥及算法分配请求,其中,秘钥及算法分配请求包含需要的秘钥级别以及算法类别,服务器中存储有预先建立的秘钥数据库和算法数据库,根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法,将选择的秘钥的秘钥标识、解密算法以及加密算法的算法标识发送给第一终端,其中,一个算法标识为一对加密、解密算法的共用标识,即一对加密、解密算法共用一个算法标识,进而,第一终端将所述秘钥标识和算法标识以及数据需求发送给第二终端,第二终端将第一终端发送的秘钥标识和算法标识携带在数据加密请求中发送给服务器,服务器从其秘钥数据库中提取所述秘钥标识对应的秘钥,从算法数据库中提取所述算法标识对应的加密算法并发送给第二终端,第二终端利用所述秘钥和加密算法对第一终端请求的数据进行加密生成加密数据,将加密数据发送给第一终端,其中,第一终端为数据需求方,第二终端为数据提供方。本发明实施例中,由于预先建立了秘钥数据库和算法数据库,实现了秘钥和算法的分类,可以根据数据需求方的秘钥及算法需求为数据提供方提供不同级别的秘钥和不同类别的加密算法,自动实现秘钥和算法的灵活分配,实现了秘钥和算法分离,相对于现有的点对点单一的秘钥和算法,本发明实施例由秘钥数据库、算法数据库独立管理秘钥、算法,提高了加密解密效率,同时,实现了秘钥和算法从静态配置到动态申请分配的转变,增加了秘钥及算法的破译难度,提高了加密数据的安全性。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
上述较佳的实施方式表征,秘钥数据库中包含至少一个不同级别的秘钥,算法数据库中包含至少一个不同类型的加密、解密算法,可以根据数据需求方的需求自动实现秘钥和算法的灵活分配,提高了加密解密效率。
第二方面,本发明实施例提供了一种数据加密方法,包括:
第二终端接收第一终端发送的数据请求,其中,所述数据请求中携带请求的数据信息、秘钥标识以及算法标识,所述秘钥标识为服务器根据所述第一终端发送的秘钥及算法分配请求中的秘钥级别从建立的秘钥数据库中选择的秘钥的标识,以及所述算法标识为所述服务器根据所述秘钥及算法分配请求中的算法类别从建立的算法数据库中选择的加密算法和对应的解密算法的标识,所述算法标识为一对加密、解密算法的共用标识;
向所述服务器发送数据加密请求,其中,所述数据加密请求携带所述秘钥标识以及算法标识;
接收所述秘钥数据库返回的所述秘钥标识对应的秘钥以及所述算法数据库返回的所述算法标识对应的加密算法;
利用所述秘钥和加密算法对所述第一终端请求的数据进行加密,生成加密数据;
将所述加密数据发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
本发明第二方面提供的数据加密方法的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种数据解密方法,所述数据为根据本发明第一方面或第二方面提供的数据加密方法生成的加密数据,所述方法,包括:
第一终端接收所述第二终端发送的加密数据,其中,所述加密数据为所述第二终端根据所述第一终端发送的秘钥标识与算法标识,从服务器建立的秘钥数据库中获取所述秘钥标识对应的秘钥以及从所述服务器建立的算法数据库中获取所述算法标识对应的加密算法对所述第一终端请求的数据进行加密后生成的,所述算法标识为一对加密、解密算法的共用标识;
利用所述算法数据库分配的解密算法对所述加密数据进行解密,恢复出原始数据,其中,所述解密算法为所述算法标识对应的解密算法。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
本发明第三方面提供的数据解密方法的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第四方面,本发明实施例提供了一种数据加密装置,包括:
第一接收单元,用于接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别;
选择单元,用于根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法;
第一发送单元,用于将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识;
第二接收单元,用于接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识;
提取单元,用于从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法;
第二发送单元,用于将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
本发明第四方面提供的数据解加密装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第五方面,本发明实施例提供了一种数据加密装置,包括:
第一接收单元,用于接收第一终端发送的数据请求,其中,所述数据请求中携带请求的数据信息、秘钥标识以及算法标识,所述秘钥标识为服务器根据所述第一终端发送的秘钥及算法分配请求中的秘钥级别从建立的秘钥数据库中选择的秘钥的标识,以及所述算法标识为所述服务器根据所述秘钥及算法分配请求中的算法类别从建立的算法数据库中选择的加密算法和对应的解密算法的标识,所述算法标识为一对加密、解密算法的共用标识;
第一发送单元,用于向所述服务器发送数据加密请求,其中,所述数据加密请求携带所述秘钥标识以及算法标识;
第二接收单元,用于接收所述秘钥数据库返回的所述秘钥标识对应的秘钥以及所述算法数据库返回的所述算法标识对应的加密算法;
加密单元,用于利用所述秘钥和加密算法对所述第一终端请求的数据进行加密,生成加密数据;
第二发送单元,用于将所述加密数据发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
本发明第五方面提供的数据解加密装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第六方面,本发明实施例提供了一种数据解密装置,所述数据为根据本发明第一方面或第二方面提供的数据加密方法生成的加密数据,所述装置,包括:
接收单元,用于接收所述第二终端发送的加密数据,其中,所述加密数据为所述第二终端根据所述第一终端发送的秘钥标识与算法标识,从服务器建立的秘钥数据库中获取所述秘钥标识对应的秘钥以及从所述服务器建立的算法数据库中获取所述算法标识对应的加密算法对所述第一终端请求的数据进行加密后生成的,所述算法标识为一对加密、解密算法的共用标识;
解密单元,用于利用所述算法数据库分配的解密算法对所述加密数据进行解密,恢复出原始数据,其中,所述解密算法为所述算法标识对应的解密算法。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
本发明第六方面提供的数据解密装置的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第七方面,本发明实施例提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面或第二方面所述的数据加密方法、或第三方面所述的数据解密方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面或第二方面所述的数据加密方法、或第三方面所述的数据解密方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的数据加密、解密方法的实施流程示意图;
图2为本发明实施例提供的服务器侧实施的数据加密方法的实施流程示意图;
图3为本发明实施例提供的服务器侧实施的数据加密装置的结构示意图;
图4为本发明实施例提供的终端侧实施的数据加密方法的实施流程示意图;
图5为本发明实施例提供的终端侧实施的数据加密装置的结构示意图;
图6为本发明实施例提供的终端侧实施的数据解密方法的实施流程示意图;
图7为本发明实施例提供的终端侧实施的数据解密装置的结构示意图;
图8为本发明实施例提供的通信设备的结构示意图。
具体实施方式
为了解决现有的数据加密方法中静态秘钥及加密算法单一且长期固定不变,容易被破解的问题,本发明实施例提供了一种数据加密、解密方法及装置。
本发明实施例提供的数据加密、解密方法的实施原理是:服务器接收第一终端发送的秘钥及算法分配请求,其中,秘钥及算法分配请求包含需要的秘钥级别以及算法类别,服务器中存储有预先建立的秘钥数据库和算法数据库,根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法,将选择的秘钥的秘钥标识、解密算法以及加密算法的算法标识发送给第一终端,其中,一个算法标识为一对加密、解密算法的共用标识,即一对加密、解密算法共用一个算法标识,进而,第一终端将所述秘钥标识和算法标识以及数据需求发送给第二终端,第二终端将第一终端发送的秘钥标识和算法标识携带在数据加密请求中发送给服务器,服务器从其秘钥数据库中提取所述秘钥标识对应的秘钥,从算法数据库中提取所述算法标识对应的加密算法并发送给第二终端,第二终端利用所述秘钥和加密算法对第一终端请求的数据进行加密生成加密数据,将加密数据发送给第一终端,第一终端利用算法数据库分配的解密算法对该加密数据进行解密,恢复出原始数据,其中,第一终端为数据需求方,第二终端为数据提供方。本发明实施例中,由于预先建立了秘钥数据库和算法数据库,实现了秘钥和算法的分类,可以根据数据需求方的秘钥及算法需求为数据提供方提供不同级别的秘钥和不同类别的加密算法,自动实现秘钥和算法的灵活分配,实现了秘钥和算法分离,相对于现有的点对点单一的秘钥和算法,本发明实施例由秘钥数据库、算法数据库独立管理秘钥、算法,提高了加密解密效率,同时,实现了秘钥和算法从静态配置到动态申请分配的转变,增加了秘钥及算法的破译难度,提高了加密数据的安全性。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本发明实施例提供数据加密、解密方法的实施流程示意图,可以包括以下步骤:
S11、第一终端向服务器发送秘钥及算法分配请求。
具体实施时,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别。服务器存储预先建立的两个数据库:秘钥数据库和算法数据库。
秘钥数据库中包含至少一个预设级别的秘钥,每个秘钥对应一个唯一的秘钥标识,秘钥可以为随机生成的二进制秘钥串,预设级别可以分为但不限于低级、中级和高级,其中,低级秘钥可以为随机生成的32位二进制字符串,中级秘钥可以为随机生成的64位二进制字符串,高级秘钥可以为随机生成的128位二进制字符串。
算法数据库中包含至少一个预设类型的加密、解密算法,其中,一个加密算法对应一个解密算法,二者由同一个算法标识表示,即一个算法标识为一对加密、解密算法的共用标识。例如,加密算法可以为但不限于以下算法:对称加密算法、非对称加密算法、Hash(哈希)算法等。较佳地,加密算法还可以按类型分为可解加密算法和不可解加密算法。
针对可解加密算法,可以由数据提供方第二终端向数据需求方第一终端公布数据加密算法及秘钥。一种较佳的可解加密算法通过以下公式表示:其中,D为原始数据,F为加密数据,K1,K2为秘钥数据库中的秘钥,表示“异或”运算,较佳地,K1为数据传递日期的十进制时间戳转换的二进制字符串,K2为秘钥数据库管理员的十进制员工编号转换的二进制字符串,其中,不同的数据由不同的员工管理,每个员工对应一个固定的十进制员工编号,假设K1,K2为32位的二进制字符串,当数据传递日期的十进制时间戳转换的二进制字符串与秘钥数据库管理员的十进制员工编号转换的二进制字符串不足32位时,则在末位补零,以补足32位。相应地,上述可解加密算法对应的解密算法为:其中,F'为解密后恢复出的原始数据,即F'=D。
较佳地,针对某些不需要解密的场景,例如,传输数据的某些字段涉及数据提供方的重要信息的,可以采取不可解加密算法。一种可能的不可解加密算法公式为:其中,D为原始数据,F为加密数据,K1,K2为秘钥数据库中的秘钥,表示“异或”运算,较佳地,K1为数据传递日期的十进制时间戳转换的二进制字符串,K2为秘钥数据库管理员的十进制员工编号转换的二进制字符串,其中,不同的数据由不同的员工管理,每个员工对应一个固定的十进制员工编号,假设K1,K2为32位的二进制字符串,当数据传递日期的十进制时间戳转换的二进制字符串与秘钥数据库管理员的十进制员工编号转换的二进制字符串不足32位时,则在末位补充随机数,以补足32位。针对不可解加密算法,秘钥不在秘钥数据库中存储,为保证数据安全,在完成加密过程后,立即删除该秘钥。
需要说明的是,本发明实施例中,秘钥的级别以及按级别分类的各秘钥可以根据需要自行设定,加密、解密算法也可以根据需要自行设定,本发明实施例对此不作限定。
S12、服务器根据秘钥及算法分配请求中的需要的秘钥级别从建立的秘钥数据库中选择秘钥。
具体实施时,服务器根据第一终端发送的秘钥及算法分配请求中的需要的秘钥级别从建立的秘钥数据库中选择秘钥。具体地,服务器可以按照秘钥级别随机选择一个或多个所述级别的秘钥,也可以按照排列先后顺序选择一个或多个所述级别的秘钥,本发明实施例对此不作限定。
S13、服务器根据秘钥及算法分配请求中的需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法。
具体实施时,服务器根据秘钥及算法分配请求中的需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法。
需要说明的是,本发明实施例对步骤S12和步骤S13的先后顺序不作限定,可以先实施步骤S12、再实施步骤S13,也可以先实施步骤S13、再实施步骤S12,步骤S12和S13也可以同时进行。
S14、服务器将选择的秘钥的秘钥标识、解密算法以及所述加密算法的算法标识发送给第一终端。
具体实施时,服务器将选择的秘钥的秘钥标识、加密算法的算法标识以及加密算法对应的解密算法发送给第一终端。
S15、第一终端向第二终端发送数据请求,其中,所述数据请求中携带请求的数据信息、服务器分配的所述秘钥的秘钥标识以及加密算法的算法标识。
具体实施时,第一终端获取服务器发送的秘钥标识、算法标识与解密算法后,向第二终端发送数据请求,其中,数据请求中携带请求的数据信息、服务器分配的所述秘钥标识和所述算法标识。
S16、第二终端向服务器发送数据加密请求,所述数据加密请求携带第一终端发送给第二终端的所述秘钥标识以及所述算法标识。
本步骤中,第二终端将第一终端发送的所述秘钥标识以及算法标识携带在数据加密请求中发送给服务器,申请数据加密。
S17、服务器从秘钥数据库中提取所述秘钥标识对应的秘钥。
本步骤中,服务器根据数据加密请求中的秘钥标识,从秘钥数据库中提取所述秘钥标识对应的秘钥。
S18、服务器从算法数据库中提取所述算法标识对应的加密算法。
本步骤中,服务器根据数据加密请求中的算法标识,从算法数据库中提取所述算法标识对应的加密算法。
需要说明的是,本发明实施例对步骤S17和步骤S18的先后顺序不作限定,可以先实施步骤S17、再实施步骤S18,也可以先实施步骤S18、再实施步骤S17,步骤S17和S18也可以同时进行。
S19、服务器将所述秘钥和加密算法发送给第二终端。
本步骤中,服务器将所述秘钥和加密算法返回给第二终端。
S110、第二终端利用所述秘钥和加密算法对第一终端请求的数据进行加密,生成加密数据。
本步骤中,第二终端利用所述秘钥和加密算法对第一终端请求的数据进行加密,生成加密数据。
S111、第二终端将加密数据发送给第一终端。
S112、第一终端利用服务器发送的解密算法对加密数据进行解密,恢复出原始数据。
具体实施时,第一终端利用服务器发送的算法数据库分配的解密算法对加密数据进行解密,恢复出原始数据,即恢复出所述请求的数据。
需要说明的是,本发明实施例中秘钥数据库和算法数据库也可以分别存储于两个不同的服务器中,本发明实施例对此不作限定。
本发明实施例提供的数据加密、解密方法,服务器接收第一终端发送的秘钥及算法分配请求,其中,秘钥及算法分配请求包含需要的秘钥级别以及算法类别,服务器中存储有预先建立的秘钥数据库和算法数据库,根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法,将选择的秘钥的秘钥标识、解密算法以及加密算法的算法标识发送给第一终端,其中,一个算法标识为一对加密、解密算法的共用标识,即一对加密、解密算法共用一个算法标识,进而,第一终端将所述秘钥标识和算法标识以及数据需求发送给第二终端,第二终端将第一终端发送的秘钥标识和算法标识携带在数据加密请求中发送给服务器,服务器从其秘钥数据库中提取所述秘钥标识对应的秘钥,从算法数据库中提取所述算法标识对应的加密算法并发送给第二终端,第二终端利用所述秘钥和加密算法对第一终端请求的数据进行加密生成加密数据,将加密数据发送给第一终端,第一终端利用算法数据库分配的解密算法对该加密数据进行解密,恢复出原始数据,其中,第一终端为数据需求方,第二终端为数据提供方。本发明实施例中,由于预先建立了秘钥数据库和算法数据库,实现了秘钥和算法的分类,可以根据数据需求方的秘钥及算法需求为数据提供方提供不同级别的秘钥和不同类别的加密算法,自动实现秘钥和算法的灵活分配,实现了秘钥和算法分离,相对于现有的点对点单一的秘钥和算法,本发明实施例由秘钥数据库、算法数据库独立管理秘钥、算法,提高了加密解密效率,同时,实现了秘钥和算法从静态配置到动态申请分配的转变,增加了秘钥及算法的破译难度,提高了加密数据的安全性。
基于同一发明构思,本发明实施例还提供了一种服务器侧实施的数据加密方法,由于服务器侧实施的数据加密方法解决问题的原理与上述数据加密、解密方法相似,因此上述服务器侧实施的数据加密方法的实施可以参见本发明实施例提供的上述数据加密、解密方法的实施,重复之处不再赘述。
如图2所示,其为本发明实施例提供的服务器侧实施的数据加密方法的实施流程示意图,可以包括以下步骤:
S21、服务器接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别。
S22、根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法。
S23、将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识。
S24、接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识。
S25、从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法。
S26、将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
基于同一发明构思,本发明实施例还提供了一种服务器侧实施的数据加密装置,由于服务器侧实施的数据加密方法解决问题的原理与上述方法相似,因此上述服务器侧实施的数据加密装置的实施可以参见本发明上述方法的实施,重复之处不再赘述。
如图3所示,其为本发明实施例提供的服务器侧实施的数据加密装置的结构示意图,可以包括:
第一接收单元31,用于接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别;
选择单元32,用于根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法;
第一发送单元33,用于将分配的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识;
第二接收单元34,用于接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识;
提取单元35,用于从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法;
第二发送单元36,用于将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
基于同一发明构思,本发明实施例还提供了一种终端侧实施的数据加密方法,由于终端侧实施的数据加密方法解决问题的原理与上述数据加密、解密方法相似,因此上述终端侧实施的数据加密方法的实施可以参见本发明实施例提供的上述数据加密、解密方法的实施,重复之处不再赘述。
如图4所示,其为本发明实施例提供的终端侧实施的数据加密方法的实施流程示意图,可以包括以下步骤:
S41、第二终端接收第一终端发送的数据请求。
其中,所述数据请求中携带请求的数据信息、秘钥标识以及算法标识,所述秘钥标识为服务器根据所述第一终端发送的秘钥及算法分配请求中的秘钥级别从建立的秘钥数据库中选择的秘钥的标识,以及所述算法标识为所述服务器根据所述秘钥及算法分配请求中的算法类别从建立的算法数据库中选择的加密算法和对应的解密算法的标识,所述算法标识为一对加密、解密算法的共用标识。
S42、向所述服务器发送数据加密请求,其中,所述数据加密请求携带所述秘钥标识以及算法标识。
S43、接收所述秘钥数据库返回的所述秘钥标识对应的秘钥以及所述算法数据库返回的所述算法标识对应的加密算法。
S44、利用所述秘钥和加密算法对所述第一终端请求的数据进行加密,生成加密数据。
S45、将所述加密数据发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
基于同一发明构思,本发明实施例还提供了一种终端侧实施的数据加密装置,由于终端侧实施的数据加密装置解决问题的原理与上述方法相似,因此上述终端侧实施的数据加密装置的实施可以参见本发明上述方法的实施,重复之处不再赘述。
如图5所示,其为本发明实施例提供的终端侧实施的数据加密装置的结构示意图,可以包括:
第一接收单元51,用于接收第一终端发送的数据请求,其中,所述数据请求中携带请求的数据信息、秘钥标识以及算法标识,所述秘钥标识为服务器根据所述第一终端发送的秘钥及算法分配请求中的秘钥级别从建立的秘钥数据库中选择的秘钥的标识,以及所述算法标识为所述服务器根据所述秘钥及算法分配请求中的算法类别从建立的算法数据库中选择的加密算法和对应的解密算法的标识,所述算法标识为一对加密、解密算法的共用标识;
第一发送单元52,用于向所述服务器发送数据加密请求,其中,所述数据加密请求携带所述秘钥标识以及算法标识;
第二接收单元53,用于接收所述秘钥数据库返回的所述秘钥标识对应的秘钥以及所述算法数据库返回的所述算法标识对应的加密算法;
加密单元54,用于利用所述秘钥和加密算法对所述第一终端请求的数据进行加密,生成加密数据;
第二发送单元55,用于将所述加密数据发送给所述第一终端。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
基于同一发明构思,本发明实施例还提供了一种终端侧实施的数据解密方法,由于终端侧实施的数据解密方法解决问题的原理与上述数据加密、解密方法相似,因此上述终端侧实施的数据解密方法的实施可以参见本发明实施例提供的上述数据加密、解密方法的实施,重复之处不再赘述。
如图6所示,其为本发明实施例提供的终端侧实施的数据解密方法的实施流程示意图,所述数据为根据本发明提供的上述服务器侧实施的数据加密方法或终端侧实施的数据加密方法生成的加密数据,可以包括以下步骤:
S61、第一终端接收所述第二终端发送的加密数据。
其中,所述加密数据为所述第二终端根据所述第一终端发送的秘钥标识与算法标识,从服务器建立的秘钥数据库中获取所述秘钥标识对应的秘钥以及从所述服务器建立的算法数据库中获取所述算法标识对应的加密算法对所述第一终端请求的数据进行加密后生成的,所述算法标识为一对加密、解密算法的共用标识。
S62、利用所述算法数据库分配的解密算法对所述加密数据进行解密,恢复出原始数据,其中,所述解密算法为所述算法标识对应的解密算法。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
基于同一发明构思,本发明实施例还提供了一种终端侧实施的数据解密装置,由于终端侧实施的数据解密装置解决问题的原理与上述方法相似,因此上述终端侧实施的数据解密装置的实施可以参见本发明上述方法的实施,重复之处不再赘述。
如图7所示,其为本发明实施例提供的终端侧实施的数据解密装置的结构示意图,可以包括:
接收单元71,用于接收所述第二终端发送的加密数据,其中,所述加密数据为所述第二终端根据所述第一终端发送的秘钥标识与算法标识,从服务器建立的秘钥数据库中获取所述秘钥标识对应的秘钥以及从所述服务器建立的算法数据库中获取所述算法标识对应的加密算法对所述第一终端请求的数据进行加密后生成的,所述算法标识为一对加密、解密算法的共用标识;
解密单元72,用于利用所述算法数据库分配的解密算法对所述加密数据进行解密,恢复出原始数据,其中,所述解密算法为所述算法标识对应的解密算法。
较佳地,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述算法数据库中包含至少一个预设类型的加密、解密算法。
较佳地,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;则所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
基于同一技术构思,本发明实施例还提供了一种通信设备800,参照图8所示,通信设备800用于实施上述方法实施例记载的服务器侧实施的数据加密方法,该实施例的通信设备800可以包括:存储器801、处理器802以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如服务器侧实施的数据加密程序。所述处理器执行所述计算机程序时实现上述数据加密方法实施例中的步骤,例如图2所示的步骤S21。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如21。
本发明实施例中不限定上述存储器801、处理器802之间的具体连接介质。本申请实施例在图8中以存储器801、处理器802之间通过总线803连接,总线803在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器801可以是上述存储器的组合。
处理器802,用于实现如图2所示的一种服务器测实施的数据加密方法,包括:
所述处理器802,用于调用所述存储器801中存储的计算机程序执行如图2中所示的步骤S21、服务器接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别。S22、根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法。S23、将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识。S24、接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识。S25、从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法。和步骤S26、将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的服务器侧实施的数据加密方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在通信设备上运行时,所述程序代码用于使所述通信设备执行本说明书上述描述的根据本发明各种示例性实施方式的数据加密方法中的步骤,例如,所述通信设备可以执行如图2中所示的步骤S21、服务器接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别。S22、根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法。S23、将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识。S24、接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识。S25、从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法。和步骤S26、将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于数据加密的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例还提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例终端侧实施的数据加密方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的终端侧实施的数据加密方法中的步骤。
其结构及实施原理参见上述服务器侧实施的数据加密方法对应的电子设备及计算机可读存储介质,此处不再赘述。
本发明实施例还提供了一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例终端侧实施的数据解密方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的终端侧实施的数据解密方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
1.一种数据加密方法,其特征在于,包括:
服务器接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别;
根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法,其中,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;所述加密算法包括可解加密算法和不可解加密算法;
将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识;
接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识;
从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法;
将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端;
若所述加密算法为不可解加密算法,则在将所述秘钥和加密算法发送给所述第二终端后,还包括:
将所述秘钥从所述秘钥数据库中删除。
2.如权利要求1所述的方法,其特征在于,所述算法数据库中包含至少一个预设类型的加密、解密算法。
3.如权利要求2所述的方法,其特征在于,
所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
4.一种数据加密方法,其特征在于,包括:
第二终端接收第一终端发送的数据请求,其中,所述数据请求中携带请求的数据信息、秘钥标识以及算法标识,所述秘钥标识为服务器根据所述第一终端发送的秘钥及算法分配请求中的秘钥级别从建立的秘钥数据库中选择的秘钥的标识,以及所述算法标识为所述服务器根据所述秘钥及算法分配请求中的算法类别从建立的算法数据库中选择的加密算法和对应的解密算法的标识,所述算法标识为一对加密、解密算法的共用标识;所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;所述加密算法包括可解加密算法和不可解加密算法;
向所述服务器发送数据加密请求,其中,所述数据加密请求携带所述秘钥标识以及算法标识;
接收所述秘钥数据库返回的所述秘钥标识对应的秘钥以及所述算法数据库返回的所述算法标识对应的加密算法;其中,若所述加密算法为不可解加密算法,所述服务器则在向所述第二终端返回所述秘钥标识对应的秘钥以及所述算法标识对应的加密算法后,将所述秘钥从所述秘钥数据库中删除;
利用所述秘钥和加密算法对所述第一终端请求的数据进行加密,生成加密数据;
将所述加密数据发送给所述第一终端。
5.如权利要求4所述的方法,其特征在于,所述算法数据库中包含至少一个预设类型的加密、解密算法。
6.如权利要求5所述的方法,其特征在于,
所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
7.一种数据解密方法,其特征在于,所述数据为利用权利要求1~4任一项所述的数据加密方法生成的加密数据,包括:
第一终端接收所述第二终端发送的加密数据,其中,所述加密数据为所述第二终端根据所述第一终端发送的秘钥标识与算法标识,从服务器建立的秘钥数据库中获取所述秘钥标识对应的秘钥以及从所述服务器建立的算法数据库中获取所述算法标识对应的加密算法对所述第一终端请求的数据进行加密后生成的,所述算法标识为一对加密、解密算法的共用标识;所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;所述加密算法包括可解加密算法和不可解加密算法;其中,若所述加密算法为不可解加密算法,所述服务器则在向所述第二终端返回所述秘钥标识对应的秘钥以及所述算法标识对应的加密算法后,将所述秘钥从所述秘钥数据库中删除;
若所述加密算法为可加密算法,则利用所述算法数据库分配的解密算法对所述加密数据进行解密,恢复出原始数据,其中,所述解密算法为所述算法标识对应的解密算法。
8.如权利要求7所述的方法,其特征在于,所述算法数据库中包含至少一个预设类型的加密、解密算法。
9.如权利要求8所述的方法,其特征在于,
所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
10.一种数据加密装置,其特征在于,包括:
第一接收单元,用于接收第一终端发送的秘钥及算法分配请求,其中,所述秘钥及算法分配请求包含需要的秘钥级别以及算法类别;
选择单元,用于根据所述需要的秘钥级别从建立的秘钥数据库中选择秘钥,以及根据所述需要的算法类别从建立的算法数据库中选择加密算法与对应的解密算法,其中,所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;所述加密算法包括可解加密算法和不可解加密算法;
第一发送单元,用于将选择的所述秘钥的秘钥标识、所述解密算法以及所述加密算法的算法标识发送给所述第一终端,其中,所述算法标识为一对加密、解密算法的共用标识;
第二接收单元,用于接收第二终端发送的数据加密请求,所述数据加密请求携带所述第一终端发送给所述第二终端的所述秘钥标识以及所述算法标识;
提取单元,用于从所述秘钥数据库中提取所述秘钥标识对应的秘钥,以及从所述算法数据库中提取所述算法标识对应的加密算法;
第二发送单元,用于将所述秘钥和加密算法发送给所述第二终端,以使所述第二终端利用所述秘钥和加密算法对所述第一终端请求的数据进行加密生成加密数据后发送给所述第一终端;
所述装置,还包括:
删除单元,用于若所述加密算法为不可解加密算法,在将所述秘钥和加密算法发送给所述第二终端后,将所述秘钥从所述秘钥数据库中删除。
11.如权利要求10所述的装置,其特征在于,所述算法数据库中包含至少一个预设类型的加密、解密算法。
12.如权利要求11所述的装置,其特征在于,
所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
13.一种数据加密装置,其特征在于,包括:
第一接收单元,用于接收第一终端发送的数据请求,其中,所述数据请求中携带请求的数据信息、秘钥标识以及算法标识,所述秘钥标识为服务器根据所述第一终端发送的秘钥及算法分配请求中的秘钥级别从建立的秘钥数据库中选择的秘钥的标识,以及所述算法标识为所述服务器根据所述秘钥及算法分配请求中的算法类别从建立的算法数据库中选择的加密算法和对应的解密算法的标识,所述算法标识为一对加密、解密算法的共用标识;所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;所述加密算法包括可解加密算法和不可解加密算法;
第一发送单元,用于向所述服务器发送数据加密请求,其中,所述数据加密请求携带所述秘钥标识以及算法标识;
第二接收单元,用于接收所述秘钥数据库返回的所述秘钥标识对应的秘钥以及所述算法数据库返回的所述算法标识对应的加密算法;其中,若所述加密算法为不可解加密算法,所述服务器则在向第二终端返回所述秘钥标识对应的秘钥以及所述算法标识对应的加密算法后,将所述秘钥从所述秘钥数据库中删除;
加密单元,用于利用所述秘钥和加密算法对所述第一终端请求的数据进行加密,生成加密数据;
第二发送单元,用于将所述加密数据发送给所述第一终端。
14.如权利要求13所述的装置,其特征在于,所述算法数据库中包含至少一个预设类型的加密、解密算法。
15.如权利要求14所述的装置,其特征在于,
所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
16.一种数据解密装置,其特征在于,所述数据为利用权利要求1~6任一项所述的数据加密方法生成的加密数据,包括:
接收单元,用于接收所述第二终端发送的加密数据,其中,所述加密数据为所述第二终端根据所述第一终端发送的秘钥标识与算法标识,从服务器建立的秘钥数据库中获取所述秘钥标识对应的秘钥以及从所述服务器建立的算法数据库中获取所述算法标识对应的加密算法对所述第一终端请求的数据进行加密后生成的,所述算法标识为一对加密、解密算法的共用标识;所述秘钥数据库中包含至少一个预设级别的秘钥,所述秘钥为随机生成的二进制秘钥串,所述预设级别的秘钥包括低级秘钥、中级秘钥和高级秘钥;所述加密算法包括可解加密算法和不可解加密算法;其中,若所述加密算法为不可解加密算法,所述服务器则在向所述第二终端返回所述秘钥标识对应的秘钥以及所述算法标识对应的加密算法后,将所述秘钥从所述秘钥数据库中删除;
解密单元,用于若所述加密算法为可加密算法,则利用所述算法数据库分配的解密算法对所述加密数据进行解密,恢复出原始数据,其中,所述解密算法为所述算法标识对应的解密算法。
17.如权利要求16所述的装置,其特征在于,所述算法数据库中包含至少一个预设类型的加密、解密算法。
18.如权利要求17所述的装置,其特征在于,
所述低级秘钥为随机生成的32位二进制字符串,所述中级秘钥为随机生成的64位二进制字符串,所述高级秘钥为随机生成的128位字符串;
所述预设类型的加密算法包括对称加密算法、非对称加密算法和/或哈希算法。
19.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~3或4~6任一项所述的数据加密方法、或如权利要求7~9任一项所述的数据解密方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~3或4~6任一项所述的数据加密方法、或如权利要求7~9任一项所述的数据解密方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810843016.7A CN110768787B (zh) | 2018-07-27 | 2018-07-27 | 一种数据加密、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810843016.7A CN110768787B (zh) | 2018-07-27 | 2018-07-27 | 一种数据加密、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768787A CN110768787A (zh) | 2020-02-07 |
CN110768787B true CN110768787B (zh) | 2022-12-13 |
Family
ID=69327792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810843016.7A Active CN110768787B (zh) | 2018-07-27 | 2018-07-27 | 一种数据加密、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768787B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698229A (zh) * | 2020-05-29 | 2020-09-22 | 上海万位数字技术有限公司 | 一种gps数据传输加密方法 |
CN111639358B (zh) * | 2020-06-15 | 2023-08-22 | 深圳供电局有限公司 | 一种指令加密、加密指令解密方法及装置 |
CN112351037B (zh) * | 2020-11-06 | 2022-12-30 | 支付宝(杭州)信息技术有限公司 | 用于安全通信的信息处理方法及装置 |
CN113395170B (zh) * | 2021-04-29 | 2022-08-23 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于线性拓扑传输的智能机器人数据传输方法 |
CN113364733B (zh) * | 2021-04-29 | 2022-04-15 | 国网浙江省电力有限公司嘉兴供电公司 | 一种变电站现场数据加密传输方法 |
CN113347001B (zh) * | 2021-05-31 | 2023-04-28 | 广州众诺电子技术有限公司 | 一种数据保护方法、服务器、系统、设备和介质 |
CN113422758B (zh) * | 2021-06-08 | 2023-04-07 | 深圳市欢太数字科技有限公司 | 数据加密方法、装置、物联网系统、电子设备及存储介质 |
CN113473468B (zh) * | 2021-09-02 | 2021-11-23 | 中国电力科学研究院有限公司 | 一种宽带认知无线通信方法及系统 |
CN113808339A (zh) * | 2021-09-17 | 2021-12-17 | 中国银行股份有限公司 | 一种自助服务系统及自助服务设备的验证方法 |
CN113824728B (zh) * | 2021-09-27 | 2023-07-04 | 南京华远时代科技有限公司 | 一种基于数据加密的网络通信方法及系统 |
CN115296852B (zh) * | 2022-07-08 | 2023-09-01 | 珠海市小源科技有限公司 | 数据加密、解密方法、装置及数据加密解密系统 |
CN115549956A (zh) * | 2022-08-17 | 2022-12-30 | 青岛海尔科技有限公司 | 会话建立方法、装置、存储介质及电子装置 |
CN115766202A (zh) * | 2022-11-11 | 2023-03-07 | 之江实验室 | 一种数据安全传输的系统、方法、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874915B1 (en) * | 2011-09-28 | 2014-10-28 | Amazon Technologies, Inc. | Optimized encryption key exchange |
CN108123800A (zh) * | 2017-12-19 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、计算机设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888183A (zh) * | 2015-12-15 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 数据加密、解密、密钥请求处理的方法和装置及系统 |
CN107347058B (zh) * | 2016-05-06 | 2021-07-23 | 阿里巴巴集团控股有限公司 | 数据加密方法、数据解密方法、装置及系统 |
CN107483383B (zh) * | 2016-06-07 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、终端、后台服务器及存储介质 |
CN107786328A (zh) * | 2017-09-01 | 2018-03-09 | 深圳市金立通信设备有限公司 | 一种生成密钥的方法、服务节点设备及计算机可读介质 |
-
2018
- 2018-07-27 CN CN201810843016.7A patent/CN110768787B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874915B1 (en) * | 2011-09-28 | 2014-10-28 | Amazon Technologies, Inc. | Optimized encryption key exchange |
CN108123800A (zh) * | 2017-12-19 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110768787A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110768787B (zh) | 一种数据加密、解密方法及装置 | |
US9037870B1 (en) | Method and system for providing a rotating key encrypted file system | |
US10951595B2 (en) | Method, system and apparatus for storing website private key plaintext | |
US10608813B1 (en) | Layered encryption for long-lived data | |
US9021259B2 (en) | Encrypted database system, client terminal, encrypted database server, natural joining method, and program | |
WO2018136801A1 (en) | End-to-end secure operations using a query matrix | |
JP2020513183A (ja) | データのトークン化 | |
US20140281520A1 (en) | Secure cloud data sharing | |
US10476663B1 (en) | Layered encryption of short-lived data | |
US10148430B1 (en) | Revocable stream ciphers for upgrading encryption in a shared resource environment | |
US11075753B2 (en) | System and method for cryptographic key fragments management | |
US10116442B2 (en) | Data storage apparatus, data updating system, data processing method, and computer readable medium | |
CN110312054B (zh) | 图像的加解密方法、及相关装置、存储介质 | |
CN110351297B (zh) | 一种应用于区块链的验证方法及装置 | |
CN102821098A (zh) | 云环境下即时通讯消息自溶解系统及方法 | |
EP2953290A1 (en) | Management of high number of unique keys by a secure element | |
CN112019328B (zh) | Ip地址的加密方法、装置、设备和存储介质 | |
CN115225409A (zh) | 基于多备份联合验证的云数据安全去重方法 | |
CN116015767A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN112182109A (zh) | 基于区块链的分布式数据编码存储方法和电子设备 | |
CN116108410A (zh) | 一种身份凭证生成方法及装置 | |
US11356254B1 (en) | Encryption using indexed data from large data pads | |
US10540522B2 (en) | Storing data securely in a database | |
CN111798236B (zh) | 交易数据加、解密方法、装置及设备 | |
CN116132041A (zh) | 密钥处理方法、装置、存储介质及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |