CN114362934A - 密钥生成方法、装置、电子设备及存储介质 - Google Patents
密钥生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114362934A CN114362934A CN202111566814.8A CN202111566814A CN114362934A CN 114362934 A CN114362934 A CN 114362934A CN 202111566814 A CN202111566814 A CN 202111566814A CN 114362934 A CN114362934 A CN 114362934A
- Authority
- CN
- China
- Prior art keywords
- key
- key seed
- seed
- client
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 53
- 230000001343 mnemonic effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100008044 Caenorhabditis elegans cut-1 gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种密钥生成方法、装置、电子设备及存储介质;方法包括:根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
Description
技术领域
本发明涉及密码学技术领域,尤其涉及一种密钥生成方法、装置、电子设备及存储介质。
背景技术
当前由于对数据的隐私性要求越来越高,在互联网应用的大量场景中均使用了基于密码学的对称加密算法,近年来基于机密计算的加密应用也受到了大量关注。
然而大部分场景中采用的对称加密算法存在一定的局限性传。传统的加密算法虽然效率较高,但是随着计算机算力的提高,存在着被破解的可能,且生成的密钥种子可能泄露,造成安全问题,目前的加密方法对于对密码安全要求较高的场景适用性不高。
发明内容
本发明实施例提供一种密钥生成方法、装置、电子设备及存储介质。本发明实施例的技术方案是这样实现的:
本发明实施例提供一种密钥生成方法,包括:
根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;
根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
上述方案中,所述根据第一密钥种子和从客户端获取的第二密钥种子,确定所述第三密钥种子,包括:
利用哈希算法处理所述第一密钥种子和第二密钥种子,分别得到第一处理结果和第二处理结果;
将所述第一处理结果与所述第二处理结果进行异或运算,得到第三处理结果;
根据预设方式结合所述第三处理结果与所述第一密钥种子,得到所述第三密钥种子。
上述方案中,所述方法还包括:每间隔预设时长,更新所述第一密钥种子。
上述方案中,根据所述客户端的注册信息,确定所述第二密钥种子,并将所述第二密钥种子发送至所述客户端;其中,所述客户端的注册信息包括所述用户信息,所述第二密钥种子以助记词的形式存储于所述客户端。
上述方案中,所述第一密钥种子是基于随机数算法生成的。
上述方案中,所述方法还包括:输出提示用户输入密码的提示信息;根据用户基于所述提示信息的输入信息,确定所述预设初始密钥。
上述方案中,所述方法还包括:
在所述目标密钥根据所述对称加密算法加密或解密所述目标数据后,删除所述目标密钥和从所述客户端获取的所述第二密钥种子。
本发明实施例还提供一种密钥生成装置,包括:
第一确定单元,用于根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;
第二确定单元,用于根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
上述方案中,第一确定单元还用于利用哈希算法处理所述第一密钥种子和第二密钥种子,分别得到第一处理结果和第二处理结果;将所述第一处理结果与所述第二处理结果进行异或运算,得到第三处理结果;根据预设方式结合所述第三处理结果与所述第一密钥种子,得到所述第三密钥种子。
上述方案中,所述装置还包括:更新单元,用于每间隔预设时长,更新所述第一密钥种子。
上述方案中,所述装置还包括:分配单元,用于根据所述客户端的注册信息,确定所述第二密钥种子,并将所述第二密钥种子发送至所述客户端;其中,所述客户端的注册信息包括所述用户信息,所述第二密钥种子以助记词的形式存储于所述客户端。
上述方案中,所述第一密钥种子是基于随机数算法生成的。
上述方案中,所述装置还包括:获取单元,用于输出提示用户输入密码的提示信息;根据用户基于所述提示信息的输入信息,确定所述预设初始密钥。
上述方案中,所述装置还包括:删除单元,用于在所述目标密钥根据所述对称加密算法加密或解密所述目标数据后,删除所述目标密钥和从所述客户端获取的所述第二密钥种子。
本发明实施例还提供一种电子设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述实施例提供的密钥生成方法。
本发明实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本发明实施例提供的密钥生成方法。
本发明实施例,一方面,通过对密钥进行分割,将第一密钥种子和第二密钥种子分别存储于两个设备提升了密钥的安全性,且根据第一密钥种子和第二密钥种子确定第三密钥种子,根据第三密钥种子和预设初始密钥确定目标密钥,通过多次密钥拼接生成最终的目标密钥且加密规则仅服务器内可知,进一步提升了密钥的复杂度和安全性;另一方面,通过采用对称加密算法生成目标密钥对目标数据进行加密和解密,提升了对目标数据加密和解密的处理效率。
附图说明
图1是本发明实施例提供的密钥生成方法的流程示意图;
图2是本发明实施例提供的一种加密方法的流程示意图;
图3是本发明实施例提供的一种解密方法的流程示意图;
图4是本发明实施例提供的基于RC4的密钥生成方法的流程示意图;
图5是本发明实施例提供的密钥生成装置的结构示意图;
图6是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
下面说明本发明实施例提供的密钥生成方法。参见图1,图1是本发明实施例提供的密钥生成方法的流程示意图;在一些实施例中,该密钥生成方法可由服务器实施,服务器既可以为单独配置的支持各种业务的一个服务器,亦可以配置为一个服务器集群;本发明实施例提供的密钥生成方法包括:
步骤S110:根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;
步骤S120:根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
在一实施例中,所述客户端可为:与提供加密或解密服务的服务器建立有通信连接的电子设备,包括但不限于:智能手机、平板电脑、笔记本电脑等各种类型的用户终端,还可以为可穿戴计算设备、个人数字助理(PDA)、台式计算机、蜂窝电话、媒体播放器、导航设备、游戏机、电视机、或者这些数据处理设备或其他数据处理设备中任意两个或多个的组合。用户可通过客户终端登陆服务器对目标数据进行加密或解密操作。
所述客户端的用户信息包括但不限于:用户身份信息,可用于唯一标识发起加密或解密操作的用户,例如:用户账号信息等。
在一实施例中,所述目标数据可以是照片、账号密码、机密文档等。
在另一实施例中,所述目标数据也可为照片、账号密码、机密文档等通过目标密钥加密后的密文数据。
在一实施例中,所述第一密钥种子对应的用户信息与所述第二密钥种子对应的用户信息相同。
在一实施例中,所述对称加密算法包括但不限于:DES(Data EncryptionStandard,数据加密标准)算法,AES(Advanced Encryption Standard,高级数据加密标准)算法,RC(Rivest Code)算法等。其中RC算法包括但不限于:RC2、RC3、RC4。
在一实施例中,所述第一密钥种子是基于对称加密算法和随机数算法确定的;具体的,所述第一密钥种子是由对称加密算法内置的随机数算法生成的。
在一实施例中,第一密钥种子可为基于随机数算法生成的状态向量,第一密钥种子的字符数与对称加密算法相匹配。例如:当采用的对称加密算法为RC4时,此时第一密钥种子为256个字节的字符或数字,当采用的对称算法为AES时,此时第一密钥种子的长度可为128位16个字节。
在一实施例中,第一密钥种子存储于服务器中。
在一实施例中,第一密钥种子与用户信息的对应关系存储于服务器中。
在一实施例中,第一密钥在种子可分别与用户信息和目标数据对应。
在一实施例中,从客户端获取第二密钥种子,具体包括:向客户端发出用于获取第二密钥种子的请求信息,触发客户端根据该请求信息上传第二密钥种子;或直接接收客户端上传的第二密钥种子,客户端在用户进行加密或解密操作时会自动向服务器发送第二密钥种子。
在一实施例中,第二密钥种子与助记词关联。第二密钥种子能以助记词的形式存储于客户端。
在一实施例中,第二密钥种子与用户信息一一对应,且存储在客户端。
在一实施例中,所述预设初始密钥可由用户任意设置。
在一实施例中,所述预设初始密钥与目标数据一一对应。用户可基于目标数据的不同,设置不同的预设初始密钥,从而基于加密对象的不同生成不同的目标密钥,提升了文件加密的安全性和个性化。
本实施例提供的密钥生成方法可通过机密计算系统的密码学算法接口实现,也可以通过集成了密码学的编程接口的平台实现(例如openssl或者其他语言对应的有密码学算法的库函数);在一些实施例中,本实施例提供的密钥生成方法可运用于对密码安全性要求较高的场景。
本实施例,一方面,通过对密钥进行分割,将第一密钥种子存储于服务器和将第二密钥种子存储于客户端提升了密钥的安全性,并根据第一密钥种子和第二密钥种子确定第三密钥种子,根据第三密钥种子和预设初始密钥确定目标密钥,通过多次密钥拼接生成最终的目标密钥,加密规则仅服务器内可知,进一步提升了密钥的复杂度和安全性;另一方面,通过采用对称加密算法生成目标密钥对目标数据进行加密和解密,提升了对目标数据加密和解密的处理效率。
在一些实施例中,所述第二密钥种子与所述目标数据存在对应关系。不同的目标数据对应不同的第二密钥种子。
从客户端获取第二密钥种子包括:根据目标数据,获取与目标数据对应的第二密钥种子。
在一些实施例中,所述方法还包括:获取用户的输入信息,其中所述输入信息至少包括所述预设初始密钥。具体的,所述方法还包括:输出提示用户输入密码的提示信息;根据用户基于所述提示信息的输入信息,确定所述预设初始密钥。其中,所述提示信息可以图片、语音、文字等形式输出。
在一些实施例中,根据第一密钥种子和从客户端获取的第二密钥种子,确定所述第三密钥种子,包括:
利用哈希算法处理所述第一密钥种子和第二密钥种子,分别得到第一处理结果和第二处理结果;
将所述第一处理结果与所述第二处理结果进行异或运算,得到第三处理结果;
根据预设方式结合所述第三处理结果与所述第一密钥种子,得到所述第三密钥种子。
在一实施例中,根据预设方式结合所述第三处理结果和第一密钥种子,包括:将第三处理结果作为参数对第一密钥种子进行置换操作,即将第三处理结果替换所述第一密钥种子的部分内容,将经过替换后的第一密钥种子作为第三密钥种子。根据预设方式结合所述第三处理结果和第一密钥种子,还包括:将第一密钥种子中与所述第三处理结果字符数相同的内容与第三处理结果进行异或操作得到第三密钥种子。
在一些实施例中,所述方法还包括:
每间隔预设时长,更新所述第一密钥种子。
在一实施例中,所述预设时长可根据用户需求进行任意设置。每间隔预设时长,基于随机数算法重新生成第一密钥种子,并存储于服务器中。通过动态的第一密钥种子,减少第一密钥种子泄露,进一步增加了目标密钥的安全性。
在第一密钥种子更新后,当服务器检测到加密请求时,将结合更新后的第一密钥种子确定目标密钥。
在一些实施例中,所述方法还包括:
根据所述客户端的注册信息,确定所述第二密钥种子,并将所述第二密钥种子发送至所述客户端进行存储。其中,所述客户端的注册信息包括所述用户信息。
在一实施例中,第二密钥种子只与用户信息一一对应,不同的用户信息对应不同的第二密钥种子。
在一实施例中,服务器还可根据客户端的用户信息和目标数据,向客户端分配第二密钥种子,第二密钥种子分别与目标数据和用户信息存在对应关系,不同的目标数据对应的第二密钥种子不同,不同用户信息对应的第二密钥种子也不同。
在一些实施例中,所述方法还包括:在所述目标密钥根据所述对称加密算法加密或解密所述目标数据后,删除所述目标密钥和从所述客户端获取的所述第二密钥种子。
将上述实施例提供的密钥生成方法应用于加密场景中,基于上述实施例提供的密钥生成方法,本实施例提供一种加密方法,如图2所述,包括:
步骤S210:在检测到加密请求后,从客户端获取第二密钥种子,并根据服务器内与用户信息对应的第一密钥种子和第二密钥种子确定第三密钥种子。
若服务器内不存在与用户信息对应的第一密钥种子,则生成第一密钥种子,并存储第一密钥种子与用户信息的对应关系。第一密钥种子可利用随机数算法生成。
用户通过客户端在服务器注册时,服务器会基于用户信息向客户端发送第二密钥种子,并存储于客户端中。
步骤S220:提示用户输入密码,根据用户输入的信息,确定预设初始密钥。
步骤S230:根据对称加密算法,基于预设初始密钥和第三密钥种子确定目标密钥,使用该目标密钥对目标数据进行加密得到目标密文并将目标密文存储于服务器中。
步骤S240:删除服务器中的第二密钥种子和目标密钥。
将上述实施例提供的密钥生成方法应用于解密场景中,基于上述实施例提供的密钥生成方法,本实施例提供一种解密方法,如图3所述,包括:
步骤S310:根据发起解密请求的客户端的用户信息,确定与用户信息对应的第一密钥种子。
步骤S320:从客户端获取第二密钥种子,并根据第一密钥种子和第二密钥种子,确定第三密钥种子。
步骤S330:提示用户输入密码,根据用户输入的信息,确定预设初始密钥。
步骤S340:根据对称加密算法,基于预设初始密钥和第三密钥种子,确定目标密钥,并使用该目标密钥对目标密文进行解密。
步骤S350:删除服务器中的第二密钥种子和目标密钥。
采用对称加密算法进行加密,在加密场景和解密场景中,用户解密和加密的密钥生成方式是相同的。
以下结合上述实施例提供一个具体示例:
对称加密的密钥种子通常用随机数算法生成,虽然效率较高,技术应用成熟,但是相关加密算法和密钥种子生成算法可能被暴力运算破解,一旦密钥泄露,加密信息可能无效。
基于此,本示例提出了一种基于RC4的密钥生成方法,如图4所示,包括:
步骤S410:生成RC4初始密钥种子,并利用哈希算法对RC4初始密钥种子进行处理得到第一处理结果SHARC4。
其中,RC4初始密钥种子与上述实施例中的第一密钥种子相对应。
用户需要加密某个文件时,用户通过系统(服务器)发起加密流程,系统利用RC4密码学算法内置的随机数算法,生成一个RC4初始密钥种子seed1,seed1为256个字节的字符或数字。seed1定期更新(seed1为后一步拼接使用,本方案不用seed1直接加密明文),系统记录seed1与用户身份信息的对应关系,并进行存储。同时系统为每一个在系统注册的用户分配一个私钥,例如用户i的私钥为Ki,私钥存储在用户的客户端,对应的公钥存储至系统,每次用户登录系统时,验证该对公私钥的匹配关系,验证用户身份信息。
将该种子seed1作为哈希算法SHA-3-512模块的输入,调用系统模块计算得到64字节的结果SHARC4。
步骤S420:根据哈希算法和私钥,得到第二处理结果。
需要加密文件时,用户使用私钥种子生成一系列私钥,系统找到用户登录时用到的私钥Ki,调用哈希运算模块,用该私钥的字符做SHA-3-512运算,得到第二处理结果SHAki。
步骤S430:根据第一处理结果、第二处理结果以及RC4初始密钥种子,得到第三密钥种子。
将前两步骤产生的数据SHARC4与SHAki,进行异或运,算得到64字节的数据。并将该值替换原RC4对应的密钥种子seed1的后64字节,得到第三密钥种子seed2。
步骤S440:设定初始密钥K。该初始密钥由用户输入,长度任意;
步骤S450:根据RC4算法,基于第三密钥种子和初始密钥,确定目标密钥。
对的第三密钥种子进行置换操作,置换时用到了初始密钥作为参数;根据RC4算法利用完成置换的第三密钥种子生成密钥流Krc4(目标密钥)。
本示例上述方法可通过机密计算的密码学接口或其他平台的密码学库实现。
利用本示例提供的基于RC4的密钥生成方法,进行加密与解密的验证过程如下:
加密文件时,系统要求用户输入加密用的密码,系统执行RC4算法,以seed2作为种子,结合用户输入的初始密码生成密钥流,根据该密钥流对明文文件进行异或运算加密,由于异或运算的特性,使得加密与解密过程一致。并将加密后的文件存储至系统中。加密后系统删除用户上传的私钥ki与加密文件所用的密钥Krc4。
解密文件时,系统根据存储的用户身份信息与seed1的对应关系,找到文件对应的seed1,要求用户上传私钥Ki,根据本示例提供的基于RC4的密钥生成方法得到seed2。此时系统请求用户输入初始密码,根据初始密钥和seed2得到密钥流Krc4,执行RC4算法解密文件。
在上述加密过程中,即使RC4初始密钥种子seed1被破解或泄露,也无法直接得到最终的目标密钥。且RC4初始密钥种子定期更新,不同用户对应的私钥也不同,因此不同的用户对应不同的密钥种子,密钥种子根据用户的私钥动态生成。加密规则仅系统内可知,用户只需保存私钥种子,本示例的私钥种子可以与助记词关联,不一定需要保存每个私钥,即使丢失单个私钥也不会造成整个系统的文件被破解。
本示例利用RC4算法结合密钥分割技术,并且引入了哈希函数,每次加密使用的密钥种子均为多步骤拼接而成,复杂性较高,的安全性得以提高,所产生的伪随机数更能够满足强伪随机数的要求,使之能够用于密码技术。改进了对称加密RC4算法中的种子生成流程,增加了该过程的随机性与复杂性,提高了密码算法的安全性,在应用于文件的加解密过程,优化了加解密流程,兼顾了系统处理的效率与安全性。
下面继续说明本发明实施例提供的密钥生成装置,在一些实施例中,密钥生成装置可采用软件模块的方式实现。参见图5,图5是本发明实施例提供的密钥生成装置500的结构示意图,本发明实施例提供的密钥生成装置500包括:
第一确定单元510,用于根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;
第二确定单元520,用于根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
在一些实施例中,第一确定单元还用于利用哈希算法处理所述第一密钥种子和第二密钥种子,分别得到第一处理结果和第二处理结果;将所述第一处理结果与所述第二处理结果进行异或运算,得到第三处理结果;根据预设方式结合所述第三处理结果与所述第一密钥种子,得到所述第三密钥种子。
在一些实施例中,所述装置还包括:更新单元,用于每间隔预设时长,更新所述第一密钥种子。
在一些实施例中,所述装置还包括:分配单元,用于根据所述客户端的注册信息,确定所述第二密钥种子,并将所述第二密钥种子发送至所述客户端;其中,所述客户端的注册信息包括所述用户信息,所述第二密钥种子以助记词的形式存储于所述客户端。
在一些实施例中,所述第一密钥种子是基于随机数算法生成的。
在一些实施例中,所述装置还包括:获取单元,用于输出提示用户输入密码的提示信息;根据用户基于所述提示信息的输入信息,确定所述预设初始密钥。
在一些实施例中,所述装置还包括:删除单元,用于在所述目标密钥根据所述对称加密算法加密或解密所述目标数据后,删除所述目标密钥和从所述客户端获取的所述第二密钥种子。
本发明实施例还提供一种电子设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:
处理器配置为执行存储的可执行指令,所述可执行指令配置为执行本发明实施例提供的密钥生成方法。
需要说明的是,图6为本申请实施例提供的一种电子设备结构示意图,如图6所示,该设备600至少包括:处理器610、通信接口620和存储器630,其中:
处理器610通常控制设备600的总体操作。
通信接口620可以使设备通过网络与其他设备通信。
存储器630配置为存储由处理器610可执行的指令和应用,还可以缓存待处理器610以及设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述密钥生成方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台服务器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的密钥生成方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
当然,本申请实施例中的装置还可有其他类似的协议交互实现案例,在不背离本申请精神及其实质的情况下,本领域的技术人员当可根据本申请实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请方法所附的权利要求的保护范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络模块上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种密钥生成方法,其特征在于,包括:
根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;
根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
2.根据权利要求1所述的方法,其特征在于,所述根据第一密钥种子和从客户端获取的第二密钥种子,确定所述第三密钥种子,包括:
利用哈希算法处理所述第一密钥种子和第二密钥种子,分别得到第一处理结果和第二处理结果;
将所述第一处理结果与所述第二处理结果进行异或运算,得到第三处理结果;
根据预设方式结合所述第三处理结果与所述第一密钥种子,得到所述第三密钥种子。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:每间隔预设时长,更新所述第一密钥种子。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述客户端的注册信息,确定所述第二密钥种子,并将所述第二密钥种子发送至所述客户端;其中,所述客户端的注册信息包括所述用户信息,所述第二密钥种子以助记词的形式存储于所述客户端。
5.根据权利要求1所述的方法,其特征在于,所述第一密钥种子是基于随机数算法生成的。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:输出提示用户输入密码的提示信息;根据用户基于所述提示信息的输入信息,确定所述预设初始密钥。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标密钥根据所述对称加密算法加密或解密所述目标数据后,删除所述目标密钥和从所述客户端获取的所述第二密钥种子。
8.一种密钥生成装置,其特征在于,包括:
第一确定单元,用于根据第一密钥种子和从客户端获取的第二密钥种子,确定第三密钥种子;其中,所述第一密钥种子和所述第二密钥种子分别与所述客户端的用户信息存在对应关系;
第二确定单元,用于根据对称加密算法,基于所述第三密钥种子和预设初始密钥,确定目标密钥;其中,所述目标密钥用于根据所述对称加密算法解密或加密目标数据。
9.一种电子设备,其特征在于,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:
处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述权利要求1至7任一项提供的密钥生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至7任一项提供的密钥生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111566814.8A CN114362934A (zh) | 2021-12-20 | 2021-12-20 | 密钥生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111566814.8A CN114362934A (zh) | 2021-12-20 | 2021-12-20 | 密钥生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114362934A true CN114362934A (zh) | 2022-04-15 |
Family
ID=81100700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111566814.8A Pending CN114362934A (zh) | 2021-12-20 | 2021-12-20 | 密钥生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114362934A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102165458A (zh) * | 2008-09-26 | 2011-08-24 | 皇家飞利浦电子股份有限公司 | 认证装置和用户 |
US20120047360A1 (en) * | 2010-08-23 | 2012-02-23 | Sony Corporation | Information processing device, information processing method, and program |
CN104283680A (zh) * | 2013-07-05 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、客户端、服务器及其系统 |
CN108200028A (zh) * | 2017-12-27 | 2018-06-22 | 飞天诚信科技股份有限公司 | 一种区块链安全获取服务器可信数据的方法及系统 |
CN109101790A (zh) * | 2018-08-01 | 2018-12-28 | 北京海泰方圆科技股份有限公司 | 生成签名密钥的方法及装置、签名方法及装置 |
CN110071799A (zh) * | 2019-04-09 | 2019-07-30 | 山东超越数控电子股份有限公司 | 一种加密存储密钥的生成保护方法,系统,终端机及可读存储介质 |
CN110177073A (zh) * | 2019-04-09 | 2019-08-27 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
CN111327616A (zh) * | 2020-02-25 | 2020-06-23 | 上海东普信息科技有限公司 | 密钥管理方法、装置、设备及计算机可读存储介质 |
US20210067334A1 (en) * | 2018-07-11 | 2021-03-04 | Akeyless Security LTD. | System and Method for Cryptographic Key Fragments Management |
CN113726725A (zh) * | 2020-12-29 | 2021-11-30 | 京东数字科技控股股份有限公司 | 一种数据加解密方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-20 CN CN202111566814.8A patent/CN114362934A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102165458A (zh) * | 2008-09-26 | 2011-08-24 | 皇家飞利浦电子股份有限公司 | 认证装置和用户 |
US20120047360A1 (en) * | 2010-08-23 | 2012-02-23 | Sony Corporation | Information processing device, information processing method, and program |
CN104283680A (zh) * | 2013-07-05 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 一种数据传输的方法、客户端、服务器及其系统 |
CN108200028A (zh) * | 2017-12-27 | 2018-06-22 | 飞天诚信科技股份有限公司 | 一种区块链安全获取服务器可信数据的方法及系统 |
US20210067334A1 (en) * | 2018-07-11 | 2021-03-04 | Akeyless Security LTD. | System and Method for Cryptographic Key Fragments Management |
CN109101790A (zh) * | 2018-08-01 | 2018-12-28 | 北京海泰方圆科技股份有限公司 | 生成签名密钥的方法及装置、签名方法及装置 |
CN110071799A (zh) * | 2019-04-09 | 2019-07-30 | 山东超越数控电子股份有限公司 | 一种加密存储密钥的生成保护方法,系统,终端机及可读存储介质 |
CN110177073A (zh) * | 2019-04-09 | 2019-08-27 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
CN111327616A (zh) * | 2020-02-25 | 2020-06-23 | 上海东普信息科技有限公司 | 密钥管理方法、装置、设备及计算机可读存储介质 |
CN113726725A (zh) * | 2020-12-29 | 2021-11-30 | 京东数字科技控股股份有限公司 | 一种数据加解密方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
SAMIA SOUROR: "SCKHA: A New Stream Cipher Algorithm Based on Key Hashing and Splitting Technique", 2021 INTERNATIONAL CONFERENCE ON ELECTRONIC ENGINEERING (ICEEM) * |
熊金波;张媛媛;田有亮;应作斌;李琦;马蓉;: "基于角色对称加密的云数据安全去重", 通信学报, no. 05 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200382274A1 (en) | Secure Analytics Using an Encrypted Analytics Matrix | |
US11558358B2 (en) | Secure analytics using homomorphic and injective format-preserving encryption | |
CN109150519B (zh) | 基于公共密钥池的抗量子计算云存储安全控制方法和系统 | |
US20170070340A1 (en) | Homomorphically-created symmetric key | |
US7224795B2 (en) | Variable-length key cryptosystem | |
CN110062014B (zh) | 网络模型的加密、解密方法及系统 | |
CN112003696B (zh) | Sm9密钥生成方法、系统、电子设备、装置及存储介质 | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN108199847B (zh) | 数字安全处理方法、计算机设备及存储介质 | |
US9641328B1 (en) | Generation of public-private key pairs | |
CN108197439A (zh) | 一种文件加密方法、装置及服务器 | |
JP2004336794A (ja) | 暗号システム内でユーザ定義idに基づく公開鍵を発生する方法と機器 | |
CN113904768B (zh) | 基于sm9密钥封装机制的在线离线解密方法 | |
CN111859435B (zh) | 一种数据安全处理方法及装置 | |
CN115603907A (zh) | 加密存储数据的方法、装置、设备和存储介质 | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN113572604A (zh) | 一种发送密钥的方法、装置、系统及电子设备 | |
KR102315632B1 (ko) | 신뢰 서버의 준동형 암호 기반 확장 가능한 그룹 키 생성 방법 및 시스템 | |
CN108229192A (zh) | 一种文件解密方法、装置及客户端 | |
JP2021534443A (ja) | データをセキュアにするための方法およびシステム | |
TWI488478B (zh) | 執行對稱加密的技術 | |
CN113326518A (zh) | 一种数据处理方法及装置 | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
CN112398646A (zh) | 理想格上具有短公共参数的身份基加密方法及系统 | |
CN109412788B (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240517 |