CN112511498B - 一种数据加密、解密方法、装置及设备 - Google Patents
一种数据加密、解密方法、装置及设备 Download PDFInfo
- Publication number
- CN112511498B CN112511498B CN202011246703.4A CN202011246703A CN112511498B CN 112511498 B CN112511498 B CN 112511498B CN 202011246703 A CN202011246703 A CN 202011246703A CN 112511498 B CN112511498 B CN 112511498B
- Authority
- CN
- China
- Prior art keywords
- code
- user
- user group
- encryption
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种数据加密、解密方法、装置和设备。在本申请中通过加密设备根据已获得的用户信息对用户进行分组,并为分组后的用户组和用户分配对应的用户组码和用户身份码,以在向目标用户组发送目标数据时,利用已设置的指定加密算法、被允许解密的用户对应的用户身份码和用户组码生成加密秘钥,并使用加密秘钥对目标数据加密得到加密密文。而解密设备即用户接收到加密设备发送的加密密文后,可以根据已获得的用户私钥生成解密秘钥,并使用解密秘钥对接收到的加密密文进行解密。本申请中只有被允许解密的用户对接收到的加密密文进行解密后会得到目标数据,从而实现了对拥有用户私钥的用户的解密权限的限制。
Description
技术领域
本申请涉及通信领域,特别涉及一种数据加密、解密方法、装置及设备。
背景技术
在数据传输的过程中,为了防止数据泄露,可以使用加密算法对传输的数据进行加密,比如使用对称加密算法或者非对称加密算法对传输的数据进行加密。
但通过这些加密算法传输的数据,只要用户手中有对应的解密秘钥就能对已加密的数据进行解密,如果想要禁止拥有解密秘钥的用户不能对接收到的密文进行解密,只能更换加密秘钥,并重新给允许解密的用户发送对应的解密秘钥,十分麻烦,并且分配解密秘钥的过程也存在着数据泄露的风险。所以,一种能够方便限制用户的解密权限的加密方法是有必要的。
发明内容
本申请公开了一种数据加密、解密方法、装置及设备,以实现限制用户的解密权限。
根据本申请实施例的第一方面,提供一种数据加密方法,该方法应用于加密设备,包括:
依据已获得的各用户的用户信息将用户进行分组得到至少一个用户组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码,同一用户组中不同用户被分配不同用户身份码;
在需要向目标用户组中用户发送目标数据时,依据目标用户组中被允许解密的所有用户对应的用户身份码确定禁止码,对禁止码按照指定加密算法进行加密得到授权掩码,并将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照指定加密算法对得到的结果进行加密得到临时验证码;
依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥,采用所述加密秘钥对所述目标数据进行加密得到加密密文,将所述目标用户组码、授权掩码、加密密文发送给所述目标用户组中用户。
可选的,所述依据目标用户组中被允许解密的所有用户对应的用户身份码确定禁止码包括:
按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则,确定所述禁止码。
可选的,所述指定操作为按位与操作。
可选的,所述依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥包括:
采用HASH算法将目标用户组的目标用户组码、所述临时验证码、以及随机生成的随机码进行哈希运算,将得到的结果确定为所述加密秘钥。
可选的,该方法进一步包括:
针对每一用户组,向该用户组中用户发送该用户组的用户组码、以及该用户在该用户组中的用户身份加密码,用户身份加密码是指按照指定加密算法对该用户在该用户组中被分配的用户身份码加密后得到的,以使用户将该用户组的用户组码和用户身份加密码确定为用户私钥。
根据本申请实施例的第二方面,提供一种数据解密方法,该方法应用于解密设备,包括:
接收加密设备发送的以下信息:目标用户组码、授权掩码、加密密文;
从已获得的用户私钥中确定目标用户组码对应的目标用户身份加密码;所述用户私钥包括用户所在的用户组对应的用户组码和对应的用户身份加密码,用户身份加密码是指按照指定加密算法对用户在用户组中被分配的用户身份码加密后得到的;
将目标用户身份加密码和所述授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
可选的,所述信息进一步包括:随机码;
所述依据授权权限码、所述目标用户组码确定解密秘钥包括:
采用HASH算法将授权权限码、所述随机码、所述目标用户组码进行哈希运算,将得到的结果确定为所述解密秘钥。
根据本申请实施例的第三方面,提供一种数据加密装置,该装置应用于加密设备,包括:
分配单元,用于依据已获得的各用户的用户信息将用户进行分组得到至少一个用户组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码,同一用户组中不同用户被分配不同用户身份码;
处理单元,用于在需要向目标用户组中用户发送目标数据时,依据目标用户组中被允许解密的所有用户对应的用户身份码确定禁止码,对禁止码按照指定加密算法进行加密得到授权掩码,并将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照指定加密算法对得到的结果进行加密得到临时验证码;
加密单元,用于依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥,采用所述加密秘钥对所述目标数据进行加密得到加密密文,将所述目标用户组码、授权掩码、加密密文发送给所述目标用户组中用户。
根据本申请实施例的第四方面,提供一种数据解密装置,该装置应用于解密设备,包括:
接收单元,用于接收加密设备发送的以下信息:目标用户组码、授权掩码、加密密文;
获得单元,用于从已获得的用户私钥中确定目标用户组码对应的目标用户身份加密码;所述用户私钥包括用户所在的用户组对应的用户组码和对应的用户身份加密码,用户身份加密码是指按照指定加密算法对用户在用户组中被分配的用户身份码加密后得到的;
解密单元,用于将目标用户身份加密码和所述授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
根据本申请实施例的第五方面,提供一种电子设备,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所述的数据加密方法或数据解密方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
由以上技术方案可知,本申请提供的方案可以通过加密设备根据已获得的用户信息对用户进行分组,并为分组后的用户组和用户分配对应的用户组码和用户身份码,以在向目标用户组发送目标数据时,利用已设置的指定加密算法、被允许解密的用户对应的用户身份码和用户组码生成加密秘钥,并使用加密秘钥对目标数据加密得到加密密文。而解密设备即用户接收到加密设备发送的加密密文后,可以根据已获得的用户私钥生成解密秘钥,并使用解密秘钥对接收到的加密密文进行解密。本申请中只有被允许解密的用户对接收到的加密密文进行解密后会得到目标数据,从而实现了对拥有用户私钥的用户的解密权限的限制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本申请实施例提供的实现数据加密的方法流程图;
图2是本申请实施例提供的加密设备发送的信息的示意图;
图3是本申请实施例提供的解密设备的用户私钥的示意图;
图4是本申请实施例提供的实现数据解密的方法流程图;
图5是本申请实施例提供的实现数据加密的装置示意图;
图6是本申请实施例提供的实现数据解密的装置示意图;
图7是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
参见图1,图1为本申请实施例提供的数据加密的方法流程图。作为一个实施例,图1所示的流程可以应用于加密设备。
如图1所示,该流程可以包括以下步骤:
步骤101,依据已获得的各用户的用户信息将用户进行分组得到至少一个用户组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码。
作为一个实施例,加密设备在需要向目标用户组中用户发送目标数据之前,需要预先对用户分组,可以依据已获得的各用户处理的业务性质的信息对用户分组,比如将进行开发工作的用户分为一组,将进行测试工作的用户分为另一组。
可选的,在依据已获得的各用户的用户信息得到至少一个用户组后,可以使用采用独热码(one-hot-code)这样的单bit编码来为每一用户组中的用户分配对应的用户身份码,比如为在同一用户组中的A、B、C、D四个用户采用4位比特的独热码分配用户身份码,使分配后用户A的用户身份码为(0001),用户B的用户身份码为(0010),用户C的用户身份码为(0100),用户D的用户身份码为(1000)。
可选的,为用户分配用户身份码也可采用多bit编码来表示,比如设置用户身份码为4位比特,采用多bit编码对4位比特中的2位比特进行编码,则用户的用户身份码可以被分配为(1001),(1010),(1100)等。
本申请实施例中,因为同一用户组中每个用户的用户身份码是唯一的且所占的比特位数相同,所以每一用户组能够容纳的用户数受用户身份码的比特位数和编码方式限制,比如当采用4位比特的独热码为一个用户组中的用户分配用户身份码时,4位比特的独热码只有四种不同的编码,所以该用户组只能容纳四个用户,这四个用户的用户身份码分别为(0001)、(0010)、(0100)、(1000),而采用多bit编码对4位比特中的2位比特进行编码以分配用户身份码时,有6种不同的编码,所以该用户组可以容纳6个用户,这六个用户的用户身份码分别为(0011)、(0110)、(1100)、(1100)、(0101)、(1100)。当一用户组中分配的用户的数量已达到其能够容纳的用户数时,可以将与该用户组中用户处理的业务性质相同的其他用户组成至少一个另外的用户组。
可选的,本申请实施例中还需要对得到的每一用户组分配对应的用户组码,可以使用随机数给每一用户组分配对应的用户组码,用于区分不同的用户组。本申请实施例中不同用户组的用户组码各不相同,而不同用户组的用户组码的比特位数可以相同也可以不同。
可选的,本申请实施例中不同用户组的相同用户,该用户在不同用户组对应的用户身份码可以相同也可以不同,但该用户所在的不同用户组对应的用户组码一定不同。
步骤102,在需要向目标用户组中用户发送目标数据时,依据目标用户组中被允许解密的所有用户对应的用户身份码确定禁止码,对禁止码按照指定加密算法进行加密得到授权掩码。
可选的,在实现本申请实施例之前,可以先确定指定加密算法为同态加密算法。在同态加密算法中,对两个密文进行指定运算后得到的密文结果,与在对两个密文对应的明文进行指定运算后,使用同态加密算法对得到的结果进行加密得到的密文结果相同。比如同态加密Goldwasser-Micali算法(概率公钥加密算法)可以实现异或运算的同态,即如果使用Goldwasser-Micali算法对明文P和明文Q分别加密,并得到明文P对应的密文M和明文Q对应的密文N,则对明文P和明文Q进行异或运算,并使用Goldwasser-Micali算法对得到的结果进行加密后得到的运算结果S1,等于对密文M和密文N进行异或运算后得到的密文结果S2。
本申请实施例中,在需要向目标用户组中用户发送目标数据时,可以按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则,确定所述禁止码。
可选的,如果本申请实施例中使用的指定加密算法为Goldwasser-Micali算法,则所述被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作中的指定操作可以为按位与操作。以步骤101中使用独热码为同一用户组中的A、B、C、D四个用户分配用户身份码为例,若指定操作为按位与操作,当允许用户A、C、D解密,禁止用户B解密时,禁止码为(0010),因为此时禁止码与用户A、C、D进行按位与操作后得到的结果都为(0000)。
作为一个实施例,所述禁止码与被禁止解密的不同用户对应的不同用户身份码进行指定操作后得到的结果各不相同,如上述例子中允许用户A、C、解密,禁止用户B、D解密,则禁止码为(1010),此时禁止码与用户A、C进行按位与操作后得到的结果为(0000),与用户B、D进行按位与操作后得到的结果分别对应(0010)和(1000)。
步骤103,将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照指定加密算法对得到的结果进行加密得到临时验证码。
可选的,在步骤102的例子中,如果允许用户A、C、D解密,禁止用户B解密,则禁止码为(0010),此时将禁止码与用户A、C、D中的任一位用户(比如用户A)的用户身份码进行按位与操作,得到的结果为(0000),按照指定加密算法对得到的结果(0000)进行加密就可以获得临时验证码。
步骤104,依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥,采用所述加密秘钥对所述目标数据进行加密得到加密密文。
作为一个实施例,可以采用HASH算法(如HASH256算法)将目标用户组的目标用户组码、临时验证码进行哈希运算,将得到的结果确定为所述加密秘钥。
作为另一个实施例,还可以采用HASH算法将目标用户组的目标用户组码、所述临时验证码、以及随机生成的随机码进行哈希运算,将得到的结果确定为所述加密秘钥。通过随机生成的随机码可以使加密设备每次生成的加密秘钥都是不同的,增大生成的加密密钥的破解难度,进一步保障目标数据的安全性。
具体实现时,采用所述加密秘钥对所述目标数据进行加密得到加密密文时用到的算法为对称加密算法,如DES算法、RC5算法等,对称加密算法中使用的加密秘钥和解密秘钥是对称秘钥,即所述加密秘钥和解密秘钥是一样的。
步骤105,将所述目标用户组码、授权掩码、加密密文发送给所述目标用户组中用户。
本申请实施例中,加密设备可以将包含所述目标用户组码、授权掩码、加密密文的信息广播出去,而接收到该信息的用户只有是被允许解密的用户才能获得解密秘钥并得到目标数据,用户如何获得解密秘钥并得到的目标数据的过程会在下面介绍数据解密的实施例中详解,这里暂不赘述。
可选的,如果步骤104中采用HASH算法将目标用户组的目标用户组码、所述临时验证码、以及随机生成的随机码进行哈希运算确定加密秘钥,则在步骤105中需要将所述随机码也发送给所述目标用户组中用户,如图2所示,以使被允许解密的用户能够获得解密秘钥。
至此,完成图1所示流程。
通过图1所示的流程可以看出,本实施例中通过加密设备根据已获得的用户信息对用户进行分组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码,以在向目标用户组发送目标数据时,利用已设置的指定加密算法、被允许解密的用户对应的用户身份码和用户组码生成加密秘钥,并使用加密秘钥对目标数据加密得到加密密文,最终将只有被允许解密的用户能够解密的加密密文发送给目标用户组。
需要说明的是,本申请实施例中,加密设备为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码后,针对每一用户组,向该用户组中用户发送该用户组的用户组码、以及该用户在该用户组中的用户身份加密码,用户身份加密码是指按照指定加密算法对该用户在该用户组中被分配的用户身份码加密后得到的,以使用户将该用户组的用户组码和用户身份加密码确定为用户私钥,所述用户私钥如图3所示。
以上举例只是为了便于理解,本申请实施例并不具体限定。
下面对本申请实施例提供的数据解密的方法流程进行描述,参见图4,图4为本申请实施例提供的数据解密的方法流程图。作为一个实施例,图4所示的流程可以应用于解密设备,这里的解密设备即上述数据加密的实施例中的用户。
步骤401,接收加密设备发送的以下信息:目标用户组码、授权掩码、加密密文。
步骤402,从已获得的私钥中确定目标用户组码对应的目标用户身份加密码。
在本申请实施例之前,解密设备接收到加密设备发送的用户组码和用户身份加密码,并将得到的用户组码和用户身份加密码作为用户私钥。用户身份加密码是按照指定加密算法对用户在用户组中被分配的用户身份码加密后得到的。
可选的,可以根据接收到的目标用户组码和已获得的用户私钥中的用户组码,确定本设备是否在被允许解密的用户所在的用户组,如果是,则从已获得的私钥中确定目标用户组码对应的目标用户身份加密码,如果不是,则丢弃接收到的加密设备发送的信息。
步骤403,将目标用户身份加密码和所述授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥。
本申请实施例中,如果本解密设备为被允许解密的用户,则因为目标用户身份加密码是对目标用户身份码按照指定加密算法进行加密得到的,授权掩码是对禁止码按照指定加密算法进行加密得到的,对这两个密文进行指定操作后得到的授权权限码,应该与上述数据解密的实施例中得到的临时验证码相同。如果本解密设备为被禁止解密的用户,则根据上述步骤得到的授权权限码与上述数据解密的实施例中得到的临时验证码不同。
作为一个实施例,本步骤403中依据授权权限码、所述目标用户组码确定解密秘钥,是通过采用加密设备确定加密秘钥时使用的算法,比如当加密设备采用HASH算法得到加密秘钥时,本解密设备也采用HASH算法将接收到的目标用户组码、授权权限码进行哈希运算,将得到的结果确定为所述解密秘钥。因为本实施例中加密设备采用HASH算法将目标用户组的目标用户组码、临时验证码进行哈希运算得到加密秘钥,并使用对称加密算法根据加密秘钥对数据进行加密,所以只有当本解密设备为被允许解密的用户时,由于获得的授权权限码与临时验证码相同,可以通过HASH算法获得和加密秘钥相同的解密秘钥,使用该解密秘钥对所述加密密文进行解密将得到可读的目标数据。
作为另一个实施例,如果解密设备在接收到加密设备发送的目标用户组码、授权掩码、加密密文的同时,还接收到了加密设备发送的随机码,则解密设备在确定解密秘钥时,可以使用已配置的HASH算法将授权权限码、所述目标用户组码、所述随机码进行哈希运算得到解密秘钥。
步骤404,利用所述解密秘钥对所述加密密文进行解密。
作为一个实施例,如果利用所得到的解密秘钥对加密密文进行解密后得到的数据是可读的,则确定本解密设备为被允许解密的用户,可以根据读取到的数据执行对应的操作。
作为另一个实施例,如果利用所得到的解密秘钥对加密密文进行解密后得到的数据为一堆乱码,无法读取解密得到的数据的内容,则确定本解密设备为被禁止解密的用户,可以直接丢弃接收到的加密设备发送的信息。
至此,完成图4所示流程。
通过图4所示流程,本申请实施例通过提前获得的用户私钥和接收到的加密设备发送过来目标用户组码、授权掩码,确定解密秘钥,通过解密秘钥实现了对接收到的加密密文进行解密。
以上对本申请实施例提供的方法进行了描述。下面对本申请实施例提供的装置进行描述:
参见图5,图5为本申请实施例提供的一种实现数据加密的装置示意图,该装置实施例应用于加密设备。该装置包括:
分配单元501,用于依据已获得的各用户的用户信息将用户进行分组得到至少一个用户组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码,同一用户组中不同用户被分配不同用户身份码。
可选的,本装置实施例在加密设备准备向目标用户组中用户发送目标数据之前,依据已获得的各用户处理的业务性质对用户分组,并可以采用的单bit编码(比如独热码)或多bit编码来为每一用户组中的用户分配对应的用户身份码,可以使用随机数给每一用户组分配对应的用户组码。
处理单元502,用于在需要向目标用户组中用户发送目标数据时,依据目标用户组中被允许解密的所有用户对应的用户身份码确定禁止码,对禁止码按照指定加密算法进行加密得到授权掩码,并将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照指定加密算法对得到的结果进行加密得到临时验证码。
可选的,处理单元中设置的指定加密算法为同态加密算法,比如Goldwasser-Micali算法。
可选的,处理单元按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则,确定所述禁止码。当加密单元中设置的指定加密算法为Goldwasser-Micali算法时,所述指定操作可以为按位与操作。
加密单元503,用于依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥,采用所述加密秘钥对所述目标数据进行加密得到加密密文,将所述目标用户组码、授权掩码、加密密文发送给所述目标用户组中用户发。
可选的,加密单元可以采用HASH算法将目标用户组的目标用户组码、临时验证码、随机生成的随机码进行哈希运算,将得到的结果确定为所述加密秘钥。
进一步的,图5所示的装置实施例中的加密单元还用于针对每一用户组,向该用户组中用户发送该用户组的用户组码、以及该用户在该用户组中的用户身份加密码,用户身份加密码是指按照指定加密算法对该用户在该用户组中被分配的用户身份码加密后得到的,以使用户将该用户组的用户组码和用户身份加密码确定为用户私钥。
至此,完成图5所示装置实施例的结构图。
以上是对本申请实施例提供的实现数据加密的装置实施例的描述,下面对本申请实施例提供的实现数据解密的装置实施例进行描述。参见图6,图6为本申请实施例提供的一种实现数据解密的装置示意图,该装置实施例应用于解密设备。该装置包括:
接收单元601,用于接收加密设备发送的以下信息:目标用户组码、授权掩码、加密密文。
获得单元602,用于从已获得的用户私钥中确定目标用户组码对应的目标用户身份加密码;所述用户私钥包括用户所在的用户组对应的用户组码和对应的用户身份加密码,用户身份加密码是指按照指定加密算法对用户在用户组中被分配的用户身份码加密后得到的。
可选的,获得单元从已获得的用户私钥中确定目标用户组码对应的目标用户身份加密码包括:从已获得的用户私钥中的用户组码中确认是否存在与接收到的目标用户组码一致的用户组码,如果是,则进一步确定目标用户组码对应的目标用户身份加密码,如果否,则直接丢弃接收到的加密设备发送的信息。
解密单元603,用于将目标用户身份加密码和所述授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
可选的,若获得单元接收到的加密设备发送的信息中还包括:随机码,则解密单元通过采用HASH算法将授权权限码、所述随机码、所述目标用户组码进行哈希运算,将得到的结果确定为所述解密秘钥。
至此,完成图6所示装置实施例的结构图。
对应地,本申请实施例还提供了一种电子设备的硬件结构图,具体如图7所示,该电子设备可以为上述实施数据加密方法的加密设备,或者为上述实施数据解密方法的解密设备。如图7所示,该硬件结构包括:处理器和存储器。
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所示的数据加密所对应的方法实施例或数据解密所对应的方法实施例。
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图7所示电子设备的描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种数据加密方法,其特征在于,该方法应用于加密设备,包括:
依据已获得的各用户的用户信息将用户进行分组得到至少一个用户组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码,同一用户组中不同用户被分配不同用户身份码;针对每一用户组,向该用户组中用户发送该用户的用户私钥,所述用户私钥至少包括:该用户组的用户组码、以及该用户在该用户组中的用户身份加密码,所述用户身份加密码是对该用户在该用户组中被分配的用户身份码加密后得到的;
在需要向目标用户组中用户发送目标数据时,按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则,确定禁止码,对禁止码按照同态加密算法进行加密得到授权掩码,并将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照同态加密算法对得到的结果进行加密得到临时验证码;
依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥,采用所述加密秘钥对所述目标数据进行加密得到加密密文,将所述目标用户组码、授权掩码、加密密文发送给所述目标用户组中用户,以使所述目标用户组中用户根据接收到的目标用户身份加密码和授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
2.根据权利要求1所述的方法,其特征在于,所述指定操作为按位与操作。
3.根据权利要求1所述的方法,其特征在于,所述依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥包括:
采用HASH算法将目标用户组的目标用户组码、所述临时验证码、以及随机生成的随机码进行哈希运算,将得到的结果确定为所述加密秘钥。
4.一种数据解密方法,其特征在于,该方法应用于解密设备,包括:
接收加密设备发送的以下信息:目标用户组码、授权掩码、加密密文;所述目标用户组码是加密设备为目标用户组分配的;所述授权掩码是加密设备对禁止码按照同态加密算法进行加密得到的,所述禁止码是加密设备按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则确定的;所述加密密文是加密设备依据目标用户组的目标用户组码、临时验证码确定出的加密秘钥对目标数据加密得到的,所述临时验证码是加密设备将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照同态加密算法对得到的结果进行加密得到的;
从已获得的用户私钥中确定目标用户组码对应的目标用户身份加密码;所述用户私钥包括用户所在的用户组对应的用户组码和对应的用户身份加密码,用户身份加密码是按照同态加密算法对用户在用户组中被分配的用户身份码加密后得到的;
将目标用户身份加密码和所述授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
5.根据权利要求4所述的方法,其特征在于,所述信息进一步包括:随机码;
所述依据授权权限码、所述目标用户组码确定解密秘钥包括:
采用HASH算法将授权权限码、所述随机码、所述目标用户组码进行哈希运算,将得到的结果确定为所述解密秘钥。
6.一种数据加密装置,其特征在于,该装置应用于加密设备,包括:
分配单元,用于依据已获得的各用户的用户信息将用户进行分组得到至少一个用户组,为每一用户组中的用户分配对应的用户身份码,并为每一用户组分配对应的用户组码,同一用户组中不同用户被分配不同用户身份码;针对每一用户组,向该用户组中用户发送该用户的用户私钥,所述用户私钥至少包括:该用户组的用户组码、以及该用户在该用户组中的用户身份加密码,所述用户身份加密码是对该用户在该用户组中被分配的用户身份码加密后得到的;
处理单元,用于在需要向目标用户组中用户发送目标数据时,按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则,确定禁止码,对禁止码按照同态加密算法进行加密得到授权掩码,并将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照同态加密算法对得到的结果进行加密得到临时验证码;
加密单元,用于依据目标用户组的目标用户组码、所述临时验证码确定加密秘钥,采用所述加密秘钥对所述目标数据进行加密得到加密密文,将所述目标用户组码、授权掩码、加密密文发送给所述目标用户组中用户,以使所述目标用户组中用户根据接收到的目标用户身份加密码和授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
7.一种数据解密装置,其特征在于,该装置应用于解密设备,包括:
接收单元,用于接收加密设备发送的以下信息:目标用户组码、授权掩码、加密密文;所述目标用户组码是加密设备为目标用户组分配的;所述授权掩码是加密设备对禁止码按照同态加密算法进行加密得到的,所述禁止码是加密设备按照被允许解密的不同用户各自对应的用户身份码与禁止码进行指定操作得到相同结果的原则确定的;所述加密密文是加密设备依据目标用户组的目标用户组码、临时验证码确定出的加密秘钥对目标数据加密得到的,所述临时验证码是加密设备将目标用户组中任一被允许解密的用户对应的用户身份码与所述禁止码进行指定操作,按照同态加密算法对得到的结果进行加密得到的;
获得单元,用于从已获得的用户私钥中确定目标用户组码对应的目标用户身份加密码;所述用户私钥包括用户所在的用户组对应的用户组码和对应的用户身份加密码,用户身份加密码是指按照同态加密算法对用户在用户组中被分配的用户身份码加密后得到的;
解密单元,用于将目标用户身份加密码和所述授权掩码进行指定操作得到授权权限码,依据授权权限码、所述目标用户组码确定解密秘钥,利用所述解密秘钥对所述加密密文进行解密。
8.一种电子设备,其特征在于,该电子设备包括:处理器和存储器;
所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1到3任一项所述的数据加密方法,或者实现如权利要求4或5所述的数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011246703.4A CN112511498B (zh) | 2020-11-10 | 2020-11-10 | 一种数据加密、解密方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011246703.4A CN112511498B (zh) | 2020-11-10 | 2020-11-10 | 一种数据加密、解密方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112511498A CN112511498A (zh) | 2021-03-16 |
CN112511498B true CN112511498B (zh) | 2022-08-26 |
Family
ID=74957458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011246703.4A Active CN112511498B (zh) | 2020-11-10 | 2020-11-10 | 一种数据加密、解密方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511498B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116579005B (zh) * | 2023-07-10 | 2023-09-19 | 西安银信博锐信息科技有限公司 | 一种用户数据安全存储管理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430050A (zh) * | 2019-07-31 | 2019-11-08 | 湖南匡安网络技术有限公司 | 一种基于隐私保护的智能电网数据采集方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2363977B1 (en) * | 2010-02-26 | 2012-10-24 | Research In Motion Limited | Methods and devices for computing a shared encryption key |
JP2012205088A (ja) * | 2011-03-25 | 2012-10-22 | Toshiba Corp | ノード及びグループ鍵更新方法 |
CN103096309B (zh) * | 2011-11-01 | 2016-08-10 | 华为技术有限公司 | 生成组密钥的方法和相关设备 |
CN104717232B (zh) * | 2015-04-09 | 2018-01-19 | 武汉理工大学 | 一种面向群组的密码系统 |
-
2020
- 2020-11-10 CN CN202011246703.4A patent/CN112511498B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430050A (zh) * | 2019-07-31 | 2019-11-08 | 湖南匡安网络技术有限公司 | 一种基于隐私保护的智能电网数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112511498A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7634659B2 (en) | Roaming hardware paired encryption key generation | |
US7260215B2 (en) | Method for encryption in an un-trusted environment | |
US7877813B2 (en) | Copy protection method and system for digital media | |
CN107086915B (zh) | 一种数据传输方法、数据发送端及数据接收端 | |
JP6301471B2 (ja) | 身分認証システム、装置、方法及び身分認証請求装置 | |
CN106534092A (zh) | 基于消息依赖于密钥的隐私数据加密方法 | |
KR100493291B1 (ko) | 디지털 미디어의 복제 제어 방법 및 시스템 | |
JP6497747B2 (ja) | 鍵交換方法、鍵交換システム | |
RU2001130985A (ru) | Способ и устройство для обеспечения защищенной передачи цифровых данных между устройствами | |
KR20020081227A (ko) | 공통 암호 키의 생성 | |
JPH08510365A (ja) | データ暗号化のための方法および装置 | |
KR20120040127A (ko) | 암호화/복호화 키의 생성 방법 | |
JP6930053B2 (ja) | 装置認証キーを利用したデータ暗号化方法およびシステム | |
CN112511498B (zh) | 一种数据加密、解密方法、装置及设备 | |
CN100394419C (zh) | 对加密的数字数据进行复制和解密的方法及其设备 | |
KR101991775B1 (ko) | Fpga기반의 데이터 암복호화 방법 | |
JP4740859B2 (ja) | 携帯用安全モジュールペアリング | |
US8234501B2 (en) | System and method of controlling access to a device | |
US20150200918A1 (en) | Multi Layered Secure Data Storage and Transfer Process | |
JP4776378B2 (ja) | 複数鍵認証端末装置及び複数鍵認証管理装置及び複数鍵認証システム及びプログラム | |
US20100241872A1 (en) | Partially Reversible Key Obfuscation | |
CN112822016B (zh) | 在区块链上进行数据授权的方法及区块链网络 | |
CN114491591A (zh) | 一种匿踪查询的数据使用授权方法、设备、存储介质 | |
CN1514572A (zh) | 一种分布式数据加密方法 | |
JP4763972B2 (ja) | 暗号化情報伝送方法、コンピュータプログラム及び通信システム |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230625 Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd. Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |