CN111740828A - 一种密钥生成方法以及装置、设备、加密方法 - Google Patents

一种密钥生成方法以及装置、设备、加密方法 Download PDF

Info

Publication number
CN111740828A
CN111740828A CN202010740758.4A CN202010740758A CN111740828A CN 111740828 A CN111740828 A CN 111740828A CN 202010740758 A CN202010740758 A CN 202010740758A CN 111740828 A CN111740828 A CN 111740828A
Authority
CN
China
Prior art keywords
key
user equipment
user
identity
ciphertext
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.)
Granted
Application number
CN202010740758.4A
Other languages
English (en)
Other versions
CN111740828B (zh
Inventor
秦体红
汪宗斌
张庆勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Infosec Technologies Co Ltd
Original Assignee
Beijing Infosec Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN202010740758.4A priority Critical patent/CN111740828B/zh
Publication of CN111740828A publication Critical patent/CN111740828A/zh
Application granted granted Critical
Publication of CN111740828B publication Critical patent/CN111740828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Abstract

本发明实施例提供一种密钥生成方法以及装置、设备、加密方法,该密钥生成方法包括:密钥生成中心发送第一用户设备的身份标识;根据身份标识生成第一用户设备对应的初始密钥信息;第一用户设备基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥,其中,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用第一用户设备的身份标识进行加密,秘密值为通过预设策略获取的。该密钥生成方法中,由密钥生成中心和用户设备共同生成用户密钥,能够避免因密钥生成中心的主私钥泄密可能带来的用户私钥受攻击的安全风险,提高用户密钥的安全性。

Description

一种密钥生成方法以及装置、设备、加密方法
技术领域
本发明涉及软件技术领域,尤其涉及一种密钥生成方法以及装置、设备、加密方法。
背景技术
传统的基于公钥基础设施(Public Key Infrastructure,PKI)/认证中心(Certificate Of Authority,CA)密码系统中,在用一个用户的公钥之前,需要消耗大量的存储空间和计算费用来验证用户公钥证书的有效性。为了克服这个问题,提出了基于身份标识的密码系统(Identity-Based Cryptograph,IBC)机制。目前,IBC机制中,可以基于用户的身份标识直接计算出用户的公钥,避免存储和验证公钥证书带来的额外开销,降低密码系统处理压力。
虽然IBC机制可以解决了用户公钥证书的管理问题,但是,由于IBC机制中通常由密钥生成中心(Key Generation Center,KGC)使用主私钥和用户身份标识生成用户私钥,因而KGC的主私钥一旦泄露,整个密码系统中用户私钥可能会被攻击,密码系统安全性差。
综上,如何生成用户私钥,以保证用户私钥的安全性,成为亟待解决的技术问题。
发明内容
本发明实施例提供一种密钥生成方法以及装置、系统、设备,用以提高资源信息的编辑效率。
第一方面,本发明实施例提供一种密钥生成方法,该密钥生成方法包括:
向密钥生成中心发送第一用户设备的身份标识;
密钥生成中心根据第一用户设备的身份标识生成第一用户设备对应的初始密钥信息,并发送给第一用户设备;
第一用户设备基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥,其中,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用第一用户设备的身份标识进行加密,秘密值为第一用户设备通过预设策略获取的。
第二方面,本发明实施例提供一种密钥生成系统,该密钥生成系统包括第一用户设备和密钥生成中心,其中
密钥生成中心,用于根据第一用户设备的身份标识生成第一用户设备对应的初始密钥信息,并发送给第一用户设备;
第一用户设备,用于向密钥生成中心发送第一用户设备的身份标识;基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥,其中,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用身份标识进行加密,秘密值为通过预设策略获取的。
第三方面,本发明实施例提供一种密钥生成装置,该密钥生成装置应用于用户设备,该密钥生成装置包括:
收发模块,用于向密钥生成中心发送第一用户设备的身份标识;接收第一用户设备对应的初始密钥信息,初始密钥信息是由密钥生成中心根据身份标识生成的;
处理模块,用于基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥,其中,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用第一用户设备的身份标识进行加密,秘密值为通过预设策略获取的。
第四方面,本发明实施例提供一种密钥生成装置,该密钥生成装置应用于密钥生成中心,该密钥生成装置包括:
收发模块,用于接收第一用户设备的身份标识;向第一用户设备发送第一用户设备对应的初始密钥信息;
处理模块,用于基于第一用户设备的身份标识生成初始密钥信息;
其中,初始密钥信息用于第一用户设备结合秘密值生成用户密钥,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用第一用户设备的身份标识进行加密,秘密值由第一用户设备通过预设策略获取。
第五方面,本发明实施例提供一种加密方法,该加密方法包括,其中
第一用户设备接收来自第二用户设备的加密数据,该加密数据由第二用户设备采用第一用户设备的身份标识进行加密;
密钥生成中心根据身份标识生成初始密钥信息,并发送给第一用户设备;
第一用户设备基于初始密钥信息和秘密值生成用户密钥,秘密值为第一用户设备通过预设策略获取的;
第一用户设备采用用户密钥解密加密数据。
第六方面,本发明实施例提供一种电子设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的密钥生成方法。
本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现第一方面中的密钥生成方法。
在本发明实施例提供的技术方案中,向密钥生成中心发送用户设备的身份标识,以便密钥生成中心根据用户设备的身份标识生成该用户设备对应的初始密钥信息,并发送给该用户设备。进而,用户设备基于初始密钥信息和通过预设策略获取的秘密值生成该用户设备对应的用户密钥。由于其他用户设备通过该用户设备的身份标识进行数据加密,因而该用户设备可以通过用户密钥解密来自其他用户设备的加密数据。该技术方案中由密钥生成中心和用户设备共同生成用户密钥,能够避免因密钥生成中心的主私钥泄密可能带来的用户私钥受攻击的安全风险,提高用户密钥的安全性。此外,该技术方案无需引入多方设备即可生成用户密钥并进行数据加密,有助于提高加密效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种密钥生成方法的流程图;
图2为本发明一实施例提供的一种密钥生成过程的原理示意图;
图3为本发明一实施例提供的另一种密钥生成过程的原理示意图;
图4为本发明一实施例提供的一种加密方法的流程图;
图5为本发明一实施例提供的一种密钥生成系统的示意图;
图6为本发明一实施例提供的一种密钥生成装置的结构示意图;
图7为本发明一实施例提供的另一种密钥生成装置的结构示意图;
图8为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的密钥生成方案可以由电子设备来执行,该电子设备可以是服务器。该服务器可以是包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器,或者也可以为云服务器。该电子设备也可以是诸如平板电脑、PC机、笔记本电脑等终端设备。
本发明实施例提供的密钥生成方案适用于各种应用IBC机制的加密场景,尤其是基于SM9 标识密码算法的加密场景,比如多个用户设备间基于SM9标识密码算法的加密通信场景。
本发明实施例提供的技术方案适用于应用IBC机制的各种密码系统。密码系统中包括密钥生成中心及由密钥生成中心管理的多个用户设备。实际上,密钥生成中心是用于选择密码系统参数、生成加密主密钥并生成部分用户密钥的可信机构。加密主密钥比如是主密钥对,该主密钥对包括下文的主公钥和主私钥。
实际应用中,密钥生成中心和用户设备可以是同一电子设备,也可以分别为不同电子设备。
目前,应用IBC机制的加密场景中,可以基于用户的身份标识直接计算出用户的公钥,避免存储和验证公钥证书带来的额外开销,降低密码系统处理压力。但由于IBC机制中通常由密钥生成中心使用主私钥和用户身份标识生成用户私钥,因而密钥生成中心的主私钥一旦泄露,整个密码系统中用户私钥可能会被攻击,密码系统安全性差。
因而,本发明实施例主要解决的技术问题是:如何生成用户密钥,以保证用户密钥的安全性。实际上,就是如何保证用户密钥的安全性不受密钥生成中心的安全风险的影响。
下面结合以下实施例对密钥生成方案的执行过程进行说明。
图1为本发明一实施例提供的一种密钥生成方法的流程图,如图1所示,该密钥生成方法包括如下步骤:
101、第一用户设备向密钥生成中心发送第一用户设备的身份标识;
102、密钥生成中心根据第一用户设备的身份标识生成第一用户设备对应的初始密钥信息,并发送给第一用户设备;
103、第一用户设备基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥。
可以理解的,第一用户设备和第二用户设备仅为本文示例,实际应用中并不限定。
本发明实施例中,用户密钥用于解密来自第二用户设备的加密数据。该加密数据由第二用户设备采用第一用户设备的身份标识进行加密。实际应用中,第一用户设备的身份标识可以是用户身份标识。例如,用户名称、签名信息、邮箱地址、手机号码。
假设第一用户设备为bob节点,第二用户设备为alice节点。假设第一用户设备的身份标识为邮箱地址。假设该邮箱地址为bob@xxx.com。
基于上述假设,在图2中,alice节点需要向bob节点传输数据,alice节点可以采用bob@xxx.com对原始数据进行加密,获得加密数据,并发送给bob节点。
第一用户设备获得加密数据后,为了对加密数据进行解密,需要获取用户密钥。
101中,第一用户设备向密钥生成中心发送第一用户设备的身份标识。从而,触发第一用户设备的用户密钥生成过程。
102中,密钥生成中心接收第一用户设备的身份标识后,密钥生成中心根据第一用户设备的身份标识生成第一用户设备对应的初始密钥信息,并发送给第一用户设备。
假设第一用户设备为bob节点,第二用户设备为alice节点。假设第一用户设备的身份标识为邮箱地址。假设该邮箱地址为bob@xxx.com。基于上述假设,在图2中,bob节点接收加密数据,并通过该bob节点的身份标识从密钥生成中心获取初始密钥信息。
在一可选实施例中,102可以实现为如下步骤:
从第一预设集合中获取第一随机数,并以第一随机数作为主私钥,该主私钥存储于所述密钥生成中心;根据第一用户设备的身份标识、主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成第一用户设备对应的初始密钥信息。
通过上述步骤可以生成第一用户设备对应的初始密钥信息。该初始密钥信息并非第一用户设备的用户私钥,因而,即使密钥生成中心的主私钥泄露,也无法直接威胁到第一用户设备的用户私钥的安全性,提高了用户私钥的安全性。
下面结合示例说明如何生成第一用户设备对应的初始密钥信息。
首先,密钥生成中心获取主加密密钥。主加密密钥比如是主密钥对,包括主私钥和主公钥。主私钥由密钥生成中心秘密保存。
密钥生成中心通过随机数发生器生成第一随机数,并将该第一随机数作为主私钥。在一可选实施例中,可以从第一预设集合中随机选取一个数值作为第一随机数,将该第一随机数作为主私钥,并保存该主私钥。或者,该密钥生成中心也可以将已秘密存储的主私钥更新为该第一随机数。
密钥生成中心还会建立系统参数,该系统参数主要用于产生主公钥及用户密钥。实际应用中,系统参数可以实现为系统参数组,该系统参数组包括但不限于:曲线识别符(cid)、椭圆曲线基域Fq的参数、椭圆曲线方程参数ab、扭曲线参数(若cid低4位的数值为2)、曲线阶的素因子N和相对于N的余因子cf、曲线E(Fq)相对于N的嵌入次数k、E(Fqd1)(d1整除k)的第一N阶循环子群的第一生成元、E(Fqd2)(d2整除k)的第二N阶循环子群的第二生成元、双线性对e的识别符eid、选项2到选项1的同态映射、双线性对e的值域为N阶乘法循环群(T)。其中,第一N阶循环子群比如是第一加法循环群,第二N阶循环子群比如是第二加法循环群。
密钥生成中心生成建立系统参数之后,根据主私钥和系统参数生成主公钥。
举例来说,假设第一预设集合为集合(0, n),其中n为正整数。密钥生成中心通过随机数发生器生成第一随机数s,并以第一随机数s为主私钥,其中,s∈(0,n) 。密钥生成中心秘密保存主私钥s。进而,以主私钥s作为第一加法循环群中的第一生成元P1的倍数,计算出主公钥即Ppub=[s]P1。由主私钥和主公钥组成主密钥对,即Msk=s和Mpk=Ppub
进而,密钥生成中心获取主私钥之后,根据第一用户设备的身份标识、主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成第一用户设备对应的初始密钥信息,可以实现为:
通过密码函数对第一用户设备的身份标识和主私钥进行计算得到第一中间变量t1,其中,由密码杂凑函数派生得到密码函数;基于第一中间变量t1和主私钥得到第二中间变量t2;以第一中间变量t1作为第一加法循环群中的第一生成元P1的倍数,计算出第一用户设备对应的用户公钥中间量PA;以第二中间变量t2作为第二加法循环群中的第二生成元P2的倍数,计算出第一用户设备对应的用户私钥中间量DA;其中,第一用户设备对应的初始密钥信息包括用户私钥生成元DA和用户公钥生成元PA
其中,密码杂凑函数的输出是长度恰为设定比特的杂凑值。密码杂凑函数比如是SM3密码杂凑算法。
继续上文假设,假设第一预设集合为集合(0, n),其中n为正整数。假设主私钥为第一随机数s。假设主公钥为 Ppub=[s]P1,其中P1为第一加法循环群中的第一生成元。
基于此,密钥生成中心通过密码函数H1对第一用户设备的身份标识IDB和主私钥s进行计算得到第一中间变量t1,即t1=[H1(IDB||hid,N)+s。其中,密码函数H1是基于密码杂凑函数派生得到的。hid为用一个字节表示的私钥生成函数识别符,hid由密钥生成中心选择并向各用户设备公开。N为大于2191的素数。若t1为0,则需要重新获取加密主密钥(即s和PPub)。若t1不为0,则基于第一中间变量t1和主私钥s得到第二中间变量t2即t2=t1 -1s 。
进而,以第一中间变量t1作为第一加法循环群中的第一生成元P1的倍数,计算出第一用户设备对应的用户公钥中间量PA即PA=[t1]P1,作为用户公钥生成元。以第二中间变量t2作为第二加法循环群中的第二生成元P2的倍数,计算出第一用户设备对应的用户私钥中间量DA即 DA=[t2]P2,作为用户私钥生成元。输出用户私钥生成元DA和用户公钥生成元PA作为第一用户设备对应的初始密钥信息。
密钥生成中心生成初始密钥信息之后,103中,第一用户设备基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥。
继续假设第一用户设备为bob节点,第二用户设备为alice节点。假设第一用户设备的身份标识为邮箱地址。假设该邮箱地址为bob@xxx.com。基于上述假设,在图2中,bob节点基于初始密钥信息和秘密值,生成该bob节点的用户密钥,从而通过用户密钥解密加密数据,得到解密出的原始数据。
其中,用户密钥包括用户公钥和用户私钥。第一用户设备秘密保存用户私钥,并公开用户公钥。
在一可选实施例中,第一用户设备基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥,具体实现为:
基于用户公钥中间量和秘密值计算出第一用户设备对应的用户公钥;基于用户私钥中间量和秘密值计算出第一用户设备对应的用户私钥。
最终,第一用户设备保存用户私钥,向各用户设备公开用户公钥。
其中,秘密值为第一用户设备通过预设策略获取的。该秘密值秘密存储于第一用户设备。第一用户设备通过随机数发生器生成第二随机数,并将第二随机数作为秘密值。在一可选实施例中,第一用户设备通过预设策略获取所述秘密值,具体实现为:从第二预设集合中获取第二随机数,并将第二随机数作为秘密值,秘密值存储于第一用户设备。
其中,秘密值为第一用户设备通过预设策略获取的。该秘密值秘密存储于第一用户设备。第一用户设备通过随机数发生器生成第二随机数,并将第二随机数作为秘密值。
举例来说,假设第二预设集合为集合(0, n),其中n为正整数。假设第一用户设备对应的初始密钥信息包括用户私钥生成元DA和用户公钥生成元PA
基于上述假设,第一用户设备从第二预设集合中随机选取xA作为秘密值即xA∈(0,n),并秘密保存于第一用户设备。进而,第一用户设备基于用户公钥中间量PA和秘密值xA计算出第一用户设备对应的用户公钥PkA,计算过程表示为以下公式:Pka=[xA -1]PA。第一用户设备基于用户私钥中间量DA和秘密值xA计算出第一用户设备对应的用户私钥SA,计算过程表示为以下公式:SA=[xA]DA=[xAt2]P2。第一用户设备秘密保存用户私钥SA,向各用户设备公开用户公钥PkA。最终,第一用户设备保存用户私钥SA并输出用户公钥PkA
在密钥生成中心下发的初始密钥信息的基础上,第一用户设备通过上述步骤生成完整的用户密钥。从而,由密钥生成中心和第一用户设备共同生成用户密钥,提高了用户密钥的安全性。
本发明实施例中,用户密钥可以用于各种加密/解密场景。下面以多个用户设备间数据传输场景为例,说明如何对进行数据加密、数据解密。第一用户设备、第二用户设备以及密钥生成中心的交互过程,参见图3,包括如下步骤:
301、第二用户设备生成加密数据。
具体来说,从第三预设集合中获取第三随机数,并采用第一用户设备对应的用户公钥对第三随机数进行加密得到第一密文;基于主公钥、第一加法循环群中的第一生成元以及第三随机数,计算出乘法循环群中的第一目标元素,主公钥来自密钥生成中心;通过基于密钥派生函数的序列密码算法,采用第一目标元素、第一密文及第一用户设备的身份标识对待发送数据进行加密得到第二密文;或者通过基于密钥派生函数的分组密码算法,采用第一目标元素、第一密文及第一用户设备的身份标识对待发送数据进行加密得到第二密文;基于第二密文通过预设函数得到第三密文;并将第一密文、第二密文、第三密文拼接为加密数据。
假设第二用户设备需要向第一用户设备发送的数据(即待发送数据)为比特串M。假设mlen为比特串M的比特长度。K1_len为分组密码算法中密钥K1的比特长度,K2_len为消息认证码函数MAC(K2,Z)中密钥K2的比特长度。假设第一用户设备的用户公钥为PkA,其中该用户公钥PkA来自第一用户设备。
基于上述假设,第二用户设备通过密码函数H1对第一用户设备的身份标识IDB、主公钥Ppub以及第一加法循环群中的第一生成元P1进行计算,得到中间变量QB,即 QB=[ H1(IDB||hid,N)] P1+ PPub
其中,密码函数H1是基于密码杂凑函数派生得到的。hid为用一个字节表示的私钥生成函数识别符,hid由密钥生成中心选择并向各用户设备公开。N为大于2191的素数。主公钥来自密钥生成中心的加密主密钥。
第二用户设备从第三预设集合中获取第三随机数r,即r∈(0,n),并采用第一用户设备对应的用户公钥PkA对第三随机数r进行加密得到第一密文C1,即C1=[r]Pka
第二用户设备基于主公钥Ppub和第一加法循环群中的第一生成元P1,计算出乘法循环群中的中间元素g,计算公式表示为:g=e(P1,Ppub),其中e为从第一加法循环群与第一加法循环群的组合到乘法循环群的双线性对。从而,基于第三随机数r和中间元素g计算出乘法循环群中的第一目标元素w,计算公式表示为:w = gr
进而,第二用户设备根据加密数据的方法分类进行计算第二密文C2
其中一种计算过程为:如果加密数据的方法是基于密钥派生函数的序列密码算 法,则计算整数klen=mlen+K2_len,并采用第一目标元素w、第一密文C1及第一用户设备的 身份标识IDB计算出K,即K=KDF(C1||w||IDB,klen)。令K1为K最左边的mlen比特,K2为剩下的 K2_len比特。若K1为全0比特串,则重新计算第三随机数r。进而,采用K1对待发送数据M进行 加密得到第二密文C2,即C2=M
Figure 905941DEST_PATH_IMAGE001
K1。
另一种计算过程为:如果加密数据的方法是结合密钥派生函数的分组密码算法,则计算整数klen=K1_len+K2_len,并采用第一目标元素w、第一密文C1及第一用户设备的身份标识IDB计算出K,即K=KDF(C1||w||IDB,klen)。令K1为K最左边的比特,K2为剩下的K2_len比特。若K1为全0比特串,则重新计算第三随机数r。采用K1通过分组函数对待发送数据M进行加密得到第二密文C2,即 C2=Enc(M,K1)。
进而,第二用户设备采用第二密文C2通过消息认证码函数得到第三密文C3,即 C3=MAC(K2,C2)。
最后,第二用户设备将第一密文C1、第二密文C2和第三密文C3拼接为加密数据C,即C= C1|| C2|| C3
通过上述步骤第二用户设备可以生成加密数据C,实现数据加密流程。
302、第二用户设备向第一用户设备发送加密数据C。
第二用户设备与第一用户设备建立通信连接。基于建立的通信连接,第二用户设备向第一用户设备发送加密数据C。
可选地,可以基于第一用户设备的IP地址,触发第二用户设备与第一用户设备建立通信连接。可选地,也可以将多个用户设备的通信地址(如MAC地址、IP地址)反馈给网络服务设备,从而,网络服务设备根据这些通信地址为多个用户设备建立通信连接。
303、第一用户设备向密钥生成中心发送第一用户设备的身份标识。从而,触发第一用户设备的用户密钥生成过程。
304、密钥生成中心接收第一用户设备的身份标识后,密钥生成中心根据第一用户设备的身份标识生成第一用户设备对应的初始密钥信息,并发送给第一用户设备。
305、第一用户设备基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥。
其中,用户密钥包括用户公钥和用户私钥。第一用户设备秘密保存用户私钥,并公开用户公钥。
步骤303到步骤305的实现方式可参见前文相关描述,此处不再赘述。
306、第一用户设备采用用户密钥对加密数据C进行解密,输出目标明文。
具体而言,第一用户设备采用用户密钥对加密数据进行解密的方法,包括以下步骤:对加密数据中的第一密文进行验证;采用第一用户设备对应的用户私钥对验证通过的第一密文进行解密,计算出乘法循环群中的第二目标元素;采用解密出的第一密文、第一用户设备的身份标识及第二目标元素,通过基于密钥派生函数的序列密码算法对加密数据进行解密得到目标明文;或者,采用解密出的第一密文、身份标识及第二目标元素,通过基于密钥派生函数的分组密码算法对加密数据进行解密得到目标明文。
假设mlen为加密数据C= C1|| C2|| C3中C2的比特长度,K1_len为分组密码算法中密钥K1的比特长度,K2_len为消息认证码函数MAC(K2,Z)中密钥K2的比特长度。假设第一用户设备的用户私钥为SA。该用户公钥PkA来自第一用户设备。
基于上述假设,第一用户设备从C中取出密文C1。假设该密文C1为比特串,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,若不成立则报错并退出。G1是阶为素数N的加法循环群,N为大于2191的素数。
进而,第一用户设备采用所述第一用户设备对应的用户私钥SA对通过验证的比特串C1进行计算,得到乘法循环群中的第二目标元素w’,即w’=e(C1,SA)。其中,e为从第一加法循环群与第一加法循环群的组合到乘法循环群的双线性对。将第二目标元素w’的数据类型转换为比特串。
第一用户设备根据加密数据方法分类对加密数据C中的密文C2进行计算得到明文M。具体计算过程:
其中一种计算过程为:如果加密数据的方法是基于密钥派生函数的序列密码算法,则 计算整数klen=K1_len+K2_len,采用第二目标元素w’、第一密文C1及第一用户设备的身份 标识IDB计算出K’,即K’=KDF(C1||w’||IDB,klen)。令K1为K’最左边的mlen比特,K2为剩下的 K2_len比特,若K1为全0比特串,则报错并退出。若K1不为全0比特串,采用K1对密文C2进行 解密得到明文M,即M = C2
Figure 495185DEST_PATH_IMAGE001
K1。
另一种计算过程为:如果加密数据的方法是结合密钥派生函数的分组密码算法,则计算整数klen=K1_len+K2_len,并采用第二目标元素w’、第一密文C1及第一用户设备的身份标识IDB计算出K’,即 K’=KDF(C1||w’||IDB,klen)。令K1为K’最左边的K1_len比特,K2为剩下的K2_len比特,若K1为全0比特串,则报错并退出。若K1不为全0比特串,采用K1通过分组解密算法对密文C2进行解密得到明文M,即 M = Dec(C2,K1)。
进而,第一用户设备根据密文C2和K2计算u=MAC(K2,C2)。判断C3= u是否相等,若相等,则输出明文M(即目标明文)。若不相等则报错。
通过上述步骤第一用户设备可以通过用户密钥解密加密数据C得到目标明文,实现数据解密流程。
图1示出的密钥生成方法的执行过程中,由密钥生成中心和用户设备共同实现数据加密流程,能够避免因密钥生成中心的主私钥泄密可能带来的用户私钥受攻击的安全风险,提高用户密钥的安全性。
图4为本发明一实施例提供的一种加密方法的流程图,如图4所示,该加密方法包括如下步骤:
401、第一用户设备接收来自第二用户设备的加密数据,该加密数据由第二用户设备采用第一用户设备的身份标识进行加密。
402、密钥生成中心根据第一用户设备的身份标识生成初始密钥信息,并发送给第一用户设备。
其中,第一用户设备的身份标识可以是预先存储于密钥生成中心的,也可以是由第一用户设备实时上报的。
403、第一用户设备基于初始密钥信息和秘密值生成用户密钥,秘密值为第一用户设备通过预设策略获取的。
404、第一用户设备采用用户密钥解密加密数据。
步骤401至步骤404的执行过程可参见前文,相似之处相互参见,此处不再展开。
图4示出的加密方法,也能够通过由密钥生成中心和用户设备共同实现数据加密流程,能够避免因密钥生成中心的主私钥泄密可能带来的用户私钥受攻击的安全风险,提高用户密钥的安全性。
图5为本发明实施例提供的一种密钥生成系统的工作过程示意图。如图5所示,该密钥生成系统包括第一用户设备和密钥生成中心。密钥生成系统的工作原理如下:
密钥生成中心501,用于根据第一用户设备的身份标识生成第一用户设备对应的初始密钥信息,并发送给第一用户设备。
第一用户设备502,用于向密钥生成中心发送第一用户设备的身份标识;基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥,其中,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用身份标识进行加密,秘密值为通过预设策略获取的。
可选地,密钥生成中心501根据身份标识生成第一用户设备502对应的初始密钥信息时,具体用于:
从第一预设集合中获取第一随机数,并以第一随机数作为主私钥,主私钥存储于密钥生成中心501;根据身份标识、主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成初始密钥信息。
可选地,密钥生成中心501根据身份标识、主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成初始密钥信息时,具体用于:
通过密码函数对身份标识和主私钥进行计算得到第一中间变量,其中,由密码杂凑函数派生得到密码函数;基于第一中间变量和主私钥得到第二中间变量;以第一中间变量作为第一加法循环群中的第一生成元的倍数,计算出第一用户设备502对应的用户公钥中间量;以第二中间变量作为第二加法循环群中的第二生成元的倍数,计算出第一用户设备502对应的用户私钥中间量;其中,初始密钥信息包括用户私钥生成元和用户公钥生成元。
可选地,第一用户设备502基于初始密钥信息和秘密值,生成第一用户设备502对应的用户密钥时,具体用于:
基于用户公钥中间量和秘密值计算出第一用户设备502对应的用户公钥;基于用户私钥中间量和秘密值计算出第一用户设备502对应的用户私钥;其中,用户密钥包括用户公钥和用户私钥。
可选地,第一用户设备502还用于:第一用户设备502从第二预设集合中获取第二随机数,并将第二随机数作为秘密值,秘密值存储于第一用户设备502。
可选地,密钥生成系统还包括第二用户设备,用于从第三预设集合中获取第三随机数,并采用第一用户设备502对应的用户公钥对第三随机数进行加密得到第一密文;基于主公钥、第一加法循环群中的第一生成元以及第三随机数,计算出乘法循环群中的第一目标元素,主公钥来自密钥生成中心501;通过基于密钥派生函数的序列密码算法,采用第一目标元素、第一密文及身份标识对待发送数据进行加密得到第二密文;或者,通过基于密钥派生函数的分组密码算法,采用第一目标元素、第一密文及身份标识对待发送数据进行加密得到第二密文;基于第二密文通过预设函数得到第三密文;并将第一密文、第二密文、第三密文拼接为加密数据。
可选地,第一用户设备502还用于:基于初始密钥信息和秘密值,生成第一用户设备502对应的用户密钥之后,对加密数据中的第一密文进行验证;采用第一用户设备502对应的用户私钥对验证通过的第一密文进行解密,计算出乘法循环群中的第二目标元素;采用解密出的第一密文、身份标识及第二目标元素,通过基于密钥派生函数的序列密码算法对加密数据进行解密得到目标明文;或者采用解密出的第一密文、身份标识及第二目标元素,通过基于密钥派生函数的分组密码算法对加密数据进行解密得到目标明文。
需要说明的是,图5示出的密钥生成系统的工作原理与上文图1示出的密钥生成方法的执行过程类似,相似之处不再赘述。
以下将详细描述本发明的一个或多个实施例的密钥生成装置。本领域技术人员可以理解,这些密钥生成装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种密钥生成装置的结构示意图,如图6所示,该密钥生成装置应用于用户设备。该用户设备可以是图1对应实施例中的第一用户设备和第二用户设备。该密钥生成装置包括:收发模块61、处理模块62。
收发模块61,用于向密钥生成中心发送第一用户设备的身份标识;接收第一用户设备对应的初始密钥信息,初始密钥信息是由密钥生成中心根据第一用户设备的身份标识生成的;
处理模块62,用于基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥,其中,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用第一用户设备的身份标识进行加密,秘密值为通过预设策略获取的。
可选地,处理模块62在基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥时,具体用于:
基于用户公钥中间量和秘密值计算出第一用户设备对应的用户公钥;基于用户私钥中间量和秘密值计算出第一用户设备对应的用户私钥;其中,用户密钥包括用户公钥和用户私钥。
可选地,处理模块62还用于:第一用户设备从第二预设集合中获取第二随机数,并将第二随机数作为秘密值,秘密值存储于第一用户设备。
可选地,处理模块62还用于:基于初始密钥信息和秘密值,生成第一用户设备对应的用户密钥之后,对加密数据中的第一密文进行验证;采用第一用户设备对应的用户私钥对验证通过的第一密文进行解密,计算出乘法循环群中的第二目标元素;采用解密出的第一密文、身份标识及第二目标元素,通过基于密钥派生函数的序列密码算法对加密数据进行解密得到目标明文;或者采用解密出的第一密文、身份标识及第二目标元素,通过基于密钥派生函数的分组密码算法对加密数据进行解密得到目标明文。
图6所示密钥生成装置可以执行前述各实施例中提供的用户设备侧的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。
图7为本发明实施例提供的一种密钥生成装置的结构示意图,如图7所示,该密钥生成装置应用于密钥生成中心。该密钥生成中心可以是图1对应实施例中的密钥生成中心。该密钥生成装置包括:收发模块71、处理模块72。
收发模块71,用于接收第一用户设备的身份标识;向第一用户设备发送第一用户设备对应的初始密钥信息;
处理模块72,用于根据第一用户设备的身份标识生成初始密钥信息;
其中,初始密钥信息用于第一用户设备结合秘密值生成用户密钥,用户密钥用于解密来自第二用户设备的加密数据,加密数据由第二用户设备采用身份标识进行加密,秘密值由第一用户设备通过预设策略获取。
可选地,处理模块72根据第一用户设备的身份标识生成初始密钥信息时,具体用于:
从第一预设集合中获取第一随机数,并以第一随机数作为主私钥,主私钥存储于密钥生成中心;根据身份标识、主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成初始密钥信息。
可选地,处理模块72根据身份标识、主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成初始密钥信息时,具体用于:
通过密码函数对身份标识和主私钥进行计算得到第一中间变量,其中,由密码杂凑函数派生得到密码函数;基于第一中间变量和主私钥得到第二中间变量;以第一中间变量作为第一加法循环群中的第一生成元的倍数,计算出第一用户设备对应的用户公钥中间量;以第二中间变量作为第二加法循环群中的第二生成元的倍数,计算出第一用户设备对应的用户私钥中间量;其中,初始密钥信息包括用户私钥生成元和用户公钥生成元。
图7所示密钥生成装置可以执行前述各实施例中提供的密钥生成中心侧的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。
在一个可能的设计中,上述图6或图7所示的密钥生成装置的结构可实现为一电子设备。如图8所示,该电子设备可以包括:处理器81、存储器82。其中,所述存储器82上存储有可执行代码,当所述可执行代码被所述处理器81执行时,至少使所述处理器81可以实现如前述实施例中提供的密钥生成方法。其中,该电子设备的结构中还可以包括通信接口83,用于与其他设备或通信网络通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被无线路由器的处理器执行时,使所述处理器执行前述各实施例中提供的密钥生成方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的各个模块可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (18)

1.一种密钥生成方法,其特征在于,包括:
向密钥生成中心发送第一用户设备的身份标识;
所述密钥生成中心根据所述身份标识生成所述第一用户设备对应的初始密钥信息,并发送给所述第一用户设备;
所述第一用户设备基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥,其中,所述用户密钥用于解密来自第二用户设备的加密数据,所述加密数据由所述第二用户设备采用所述身份标识进行加密,所述秘密值为所述第一用户设备通过预设策略获取的。
2.如权利要求1所述的方法,其特征在于,所述密钥生成中心根据所述身份标识生成所述第一用户设备对应的初始密钥信息,包括:
从第一预设集合中获取第一随机数,并以所述第一随机数作为主私钥,所述主私钥存储于所述密钥生成中心;
根据所述身份标识、所述主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成所述初始密钥信息。
3.如权利要求2所述的方法,其特征在于,所述密钥生成中心根据所述身份标识、所述主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成所述初始密钥信息,包括:
通过密码函数对所述身份标识和所述主私钥进行计算得到第一中间变量,其中,由密码杂凑函数派生得到所述密码函数;
基于所述第一中间变量和所述主私钥得到第二中间变量;
以所述第一中间变量作为所述第一加法循环群中的第一生成元的倍数,计算出所述第一用户设备对应的用户公钥中间量;
以所述第二中间变量作为所述第二加法循环群中的第二生成元的倍数,计算出所述第一用户设备对应的用户私钥中间量;
其中,所述初始密钥信息包括所述用户私钥生成元和所述用户公钥生成元。
4.如权利要求3所述的方法,其特征在于,所述第一用户设备基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥,包括:
基于所述用户公钥中间量和所述秘密值计算出所述第一用户设备对应的用户公钥;
基于所述用户私钥中间量和所述秘密值计算出所述第一用户设备对应的用户私钥;
其中,所述用户密钥包括所述用户公钥和所述用户私钥。
5.如权利要求4所述的方法,其特征在于,所述第一用户设备通过预设策略获取所述秘密值的方法,还包括:
从第二预设集合中获取第二随机数,并将所述第二随机数作为所述秘密值,所述秘密值存储于所述第一用户设备。
6.如权利要求1所述的方法,其特征在于,所述第二用户设备生成所述加密数据的方法,还包括:
从第三预设集合中获取第三随机数,并采用所述第一用户设备对应的用户公钥对所述第三随机数进行加密得到第一密文;
基于主公钥、第一加法循环群中的第一生成元以及所述第三随机数,计算出乘法循环群中的第一目标元素,所述主公钥来自所述密钥生成中心;
通过基于密钥派生函数的序列密码算法,采用所述第一目标元素、所述第一密文及所述身份标识对待发送数据进行加密得到第二密文;或者,通过基于密钥派生函数的分组密码算法,采用所述第一目标元素、所述第一密文及所述身份标识对所述待发送数据进行加密得到第二密文;
基于所述第二密文通过预设函数得到第三密文;
并将所述第一密文、所述第二密文、所述第三密文拼接为所述加密数据。
7.如权利要求1所述的方法,其特征在于,所述第一用户设备基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥之后,还包括:
对所述加密数据中的第一密文进行验证;
采用所述第一用户设备对应的用户私钥对验证通过的所述第一密文进行解密,计算出乘法循环群中的第二目标元素;
采用解密出的所述第一密文、所述身份标识及所述第二目标元素,通过基于密钥派生函数的序列密码算法对所述加密数据进行解密得到目标明文;或者
采用解密出的所述第一密文、所述身份标识及所述第二目标元素,通过基于密钥派生函数的分组密码算法对所述加密数据进行解密得到目标明文。
8.一种密钥生成系统,其特征在于,所述系统包括第一用户设备和密钥生成中心,其中
所述密钥生成中心,用于根据所述第一用户设备的身份标识生成所述第一用户设备对应的初始密钥信息,并发送给所述第一用户设备;
所述第一用户设备,用于向所述密钥生成中心发送所述身份标识;基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥,其中,所述用户密钥用于解密来自第二用户设备的加密数据,所述加密数据由所述第二用户设备采用所述身份标识进行加密,所述秘密值为通过预设策略获取的。
9.如权利要求8所述的系统,其特征在于,所述密钥生成中心根据所述身份标识生成所述第一用户设备对应的初始密钥信息时,具体用于:
从第一预设集合中获取第一随机数,并以所述第一随机数作为主私钥,所述主私钥存储于所述密钥生成中心;
根据所述身份标识、所述主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成所述初始密钥信息。
10.如权利要求9所述的系统,其特征在于,所述密钥生成中心根据所述身份标识、所述主私钥、用于第一加法循环群中的第一生成元、以及用于第二加法循环群中的第二生成元,生成所述初始密钥信息时,具体用于:
通过密码函数对所述身份标识和所述主私钥进行计算得到第一中间变量,其中,由密码杂凑函数派生得到所述密码函数;
基于所述第一中间变量和所述主私钥得到第二中间变量;
以所述第一中间变量作为所述第一加法循环群中的第一生成元的倍数,计算出所述第一用户设备对应的用户公钥中间量;
以所述第二中间变量作为所述第二加法循环群中的第二生成元的倍数,计算出所述第一用户设备对应的用户私钥中间量;
其中,所述初始密钥信息包括所述用户私钥生成元和所述用户公钥生成元。
11.如权利要求10所述的系统,其特征在于,所述第一用户设备基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥时,具体用于:
基于所述用户公钥中间量和所述秘密值计算出所述第一用户设备对应的用户公钥;
基于所述用户私钥中间量和所述秘密值计算出所述第一用户设备对应的用户私钥;
其中,所述用户密钥包括所述用户公钥和所述用户私钥。
12.如权利要求11所述的系统,其特征在于,所述第一用户设备还用于:
所述第一用户设备从第二预设集合中获取第二随机数,并将所述第二随机数作为所述秘密值,所述秘密值存储于所述第一用户设备。
13.如权利要求8所述的系统,其特征在于,还包括第二用户设备,用于
从第三预设集合中获取第三随机数,并采用所述第一用户设备对应的用户公钥对所述第三随机数进行加密得到第一密文;
基于主公钥、第一加法循环群中的第一生成元以及所述第三随机数,计算出乘法循环群中的第一目标元素,所述主公钥来自所述密钥生成中心;
通过基于密钥派生函数的序列密码算法,采用所述第一目标元素、所述第一密文及所述身份标识对待发送数据进行加密得到第二密文;或者,通过基于密钥派生函数的分组密码算法,采用所述第一目标元素、所述第一密文及所述身份标识对所述待发送数据进行加密得到第二密文;
基于所述第二密文通过预设函数得到第三密文;
并将所述第一密文、所述第二密文、所述第三密文拼接为所述加密数据。
14.如权利要求8所述的系统,其特征在于,所述第一用户设备还用于:
基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥之后,对所述加密数据中的第一密文进行验证;
采用所述第一用户设备对应的用户私钥对验证通过的所述第一密文进行解密,计算出乘法循环群中的第二目标元素;
采用解密出的所述第一密文、所述身份标识及所述第二目标元素,通过基于密钥派生函数的序列密码算法对所述加密数据进行解密得到目标明文;或者
采用解密出的所述第一密文、所述身份标识及所述第二目标元素,通过基于密钥派生函数的分组密码算法对所述加密数据进行解密得到目标明文。
15.一种密钥生成装置,其特征在于,应用于用户设备,包括:
收发模块,用于向密钥生成中心发送第一用户设备的身份标识;接收所述第一用户设备对应的初始密钥信息,所述初始密钥信息是由所述密钥生成中心根据所述身份标识生成的;
处理模块,用于基于所述初始密钥信息和秘密值,生成所述第一用户设备对应的用户密钥,其中,所述用户密钥用于解密来自第二用户设备的加密数据,所述加密数据由所述第二用户设备采用所述身份标识进行加密,所述秘密值为通过预设策略获取的。
16.一种密钥生成装置,其特征在于,应用于密钥生成中心,包括:
收发模块,用于接收第一用户设备的身份标识;向所述第一用户设备发送所述第一用户设备对应的初始密钥信息;
处理模块,用于根据所述身份标识生成所述初始密钥信息;
其中,所述初始密钥信息用于所述第一用户设备结合秘密值生成用户密钥,所述用户密钥用于解密来自第二用户设备的加密数据,所述加密数据由所述第二用户设备采用所述身份标识进行加密,所述秘密值由所述第一用户设备通过预设策略获取。
17.一种加密方法,其特征在于,包括:
第一用户设备接收来自第二用户设备的加密数据,所述加密数据由所述第二用户设备采用所述第一用户设备的身份标识进行加密;
密钥生成中心根据所述身份标识生成初始密钥信息,并发送给所述第一用户设备;
所述第一用户设备基于所述初始密钥信息和秘密值生成用户密钥,所述秘密值为所述第一用户设备通过预设策略获取的;
所述第一用户设备采用所述用户密钥解密所述加密数据。
18.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的密钥生成方法。
CN202010740758.4A 2020-07-29 2020-07-29 一种密钥生成方法以及装置、设备、加解密方法 Active CN111740828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010740758.4A CN111740828B (zh) 2020-07-29 2020-07-29 一种密钥生成方法以及装置、设备、加解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010740758.4A CN111740828B (zh) 2020-07-29 2020-07-29 一种密钥生成方法以及装置、设备、加解密方法

Publications (2)

Publication Number Publication Date
CN111740828A true CN111740828A (zh) 2020-10-02
CN111740828B CN111740828B (zh) 2021-02-12

Family

ID=72656431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010740758.4A Active CN111740828B (zh) 2020-07-29 2020-07-29 一种密钥生成方法以及装置、设备、加解密方法

Country Status (1)

Country Link
CN (1) CN111740828B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235289A (zh) * 2020-10-13 2021-01-15 桂林微网互联信息技术有限公司 数据加解密方法、装置、计算设备及存储介质
CN112511566A (zh) * 2021-02-02 2021-03-16 北京信安世纪科技股份有限公司 Sm9算法无证书机制签名密钥生成方法、设备及存储介质
CN112564907A (zh) * 2021-03-01 2021-03-26 北京信安世纪科技股份有限公司 密钥生成方法及装置、加密方法及装置、解密方法及装置
CN112566111A (zh) * 2020-12-04 2021-03-26 广州羊城通有限公司 空发卡的空中发行控制方法及装置
CN112583588A (zh) * 2020-12-08 2021-03-30 四川虹微技术有限公司 一种通信方法及装置、可读存储介质
CN112926075A (zh) * 2021-03-26 2021-06-08 成都卫士通信息产业股份有限公司 一种sm9密钥生成方法、装置、设备及存储介质
CN113014572A (zh) * 2021-02-22 2021-06-22 北京房江湖科技有限公司 报文通信系统、方法及装置
CN113162751A (zh) * 2021-04-25 2021-07-23 重庆都会信息科技有限公司 具备加同态性的加密方法、系统及可读存储介质
CN113204757A (zh) * 2021-04-30 2021-08-03 北京明朝万达科技股份有限公司 一种信息交互方法、装置和系统
CN113489585A (zh) * 2021-07-02 2021-10-08 北京明朝万达科技股份有限公司 终端设备的身份认证方法、系统、存储介质、电子设备
CN113572612A (zh) * 2021-06-22 2021-10-29 南京南瑞信息通信科技有限公司 一种国密sm9算法私钥分发方法、用户终端和密钥生成中心
CN113645198A (zh) * 2021-07-23 2021-11-12 谭静 一种计算机网络信息安全监护方法
CN113742680A (zh) * 2021-11-02 2021-12-03 北京理工大学 基于商用密码的可追责的数据加密传输方法及系统
CN114760079A (zh) * 2022-06-16 2022-07-15 鹏城实验室 一种标识网络终端认证方法及相关设备
CN114785495A (zh) * 2022-04-01 2022-07-22 安天科技集团股份有限公司 密钥派生方法、数据加密方法、服务器、电子设备及存储介质
CN116011000A (zh) * 2023-03-27 2023-04-25 北京信安世纪科技股份有限公司 访问方法、装置、及计算设备
CN116112916A (zh) * 2023-02-07 2023-05-12 深圳市华赛睿飞智能科技有限公司 一种无人机数据安全分享方法、智能底座及存储介质
CN116579005A (zh) * 2023-07-10 2023-08-11 西安银信博锐信息科技有限公司 一种用户数据安全存储管理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166054A1 (zh) * 2016-03-29 2017-10-05 深圳大学 一种量子同态对称可搜索加密的方法及系统
CN107508684A (zh) * 2017-09-23 2017-12-22 深圳奥联信息安全技术有限公司 非对称加解密方法和装置
CN107579819A (zh) * 2017-09-13 2018-01-12 何德彪 一种sm9数字签名生成方法及系统
CN107682156A (zh) * 2017-11-16 2018-02-09 山东渔翁信息技术股份有限公司 一种基于sm9算法的加密通信方法及装置
CN110784314A (zh) * 2019-10-11 2020-02-11 南京师范大学 无证书的加密信息处理方法
CN110784311A (zh) * 2019-09-25 2020-02-11 宿迁学院 基于证书的加密信息处理方法
CN110941817A (zh) * 2019-12-10 2020-03-31 中国银行股份有限公司 一种密码加密及密文解密的方法和装置
CN111314076A (zh) * 2020-03-31 2020-06-19 四川九强通信科技有限公司 一种支持双向认证的无证书密钥协商方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166054A1 (zh) * 2016-03-29 2017-10-05 深圳大学 一种量子同态对称可搜索加密的方法及系统
CN107579819A (zh) * 2017-09-13 2018-01-12 何德彪 一种sm9数字签名生成方法及系统
CN107508684A (zh) * 2017-09-23 2017-12-22 深圳奥联信息安全技术有限公司 非对称加解密方法和装置
CN107682156A (zh) * 2017-11-16 2018-02-09 山东渔翁信息技术股份有限公司 一种基于sm9算法的加密通信方法及装置
CN110784311A (zh) * 2019-09-25 2020-02-11 宿迁学院 基于证书的加密信息处理方法
CN110784314A (zh) * 2019-10-11 2020-02-11 南京师范大学 无证书的加密信息处理方法
CN110941817A (zh) * 2019-12-10 2020-03-31 中国银行股份有限公司 一种密码加密及密文解密的方法和装置
CN111314076A (zh) * 2020-03-31 2020-06-19 四川九强通信科技有限公司 一种支持双向认证的无证书密钥协商方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙银霞 等: "无双线性对的可撤销的无证书加密", 《南京师大学报(自然科学版)》 *
李志敏 等: "基于身份的公开验证签密方案", 《计算机应用》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235289A (zh) * 2020-10-13 2021-01-15 桂林微网互联信息技术有限公司 数据加解密方法、装置、计算设备及存储介质
CN112566111A (zh) * 2020-12-04 2021-03-26 广州羊城通有限公司 空发卡的空中发行控制方法及装置
CN112583588A (zh) * 2020-12-08 2021-03-30 四川虹微技术有限公司 一种通信方法及装置、可读存储介质
CN112511566A (zh) * 2021-02-02 2021-03-16 北京信安世纪科技股份有限公司 Sm9算法无证书机制签名密钥生成方法、设备及存储介质
CN113014572A (zh) * 2021-02-22 2021-06-22 北京房江湖科技有限公司 报文通信系统、方法及装置
CN112564907A (zh) * 2021-03-01 2021-03-26 北京信安世纪科技股份有限公司 密钥生成方法及装置、加密方法及装置、解密方法及装置
CN112926075A (zh) * 2021-03-26 2021-06-08 成都卫士通信息产业股份有限公司 一种sm9密钥生成方法、装置、设备及存储介质
CN113162751B (zh) * 2021-04-25 2023-06-20 重庆都会信息科技有限公司 具备加同态性的加密方法、系统及可读存储介质
CN113162751A (zh) * 2021-04-25 2021-07-23 重庆都会信息科技有限公司 具备加同态性的加密方法、系统及可读存储介质
CN113204757A (zh) * 2021-04-30 2021-08-03 北京明朝万达科技股份有限公司 一种信息交互方法、装置和系统
CN113572612A (zh) * 2021-06-22 2021-10-29 南京南瑞信息通信科技有限公司 一种国密sm9算法私钥分发方法、用户终端和密钥生成中心
CN113489585A (zh) * 2021-07-02 2021-10-08 北京明朝万达科技股份有限公司 终端设备的身份认证方法、系统、存储介质、电子设备
CN113489585B (zh) * 2021-07-02 2023-12-05 北京明朝万达科技股份有限公司 终端设备的身份认证方法、系统、存储介质、电子设备
CN113645198A (zh) * 2021-07-23 2021-11-12 谭静 一种计算机网络信息安全监护方法
CN113645198B (zh) * 2021-07-23 2023-12-26 天津航远信息技术有限公司 一种计算机网络信息安全监护方法
CN113742680A (zh) * 2021-11-02 2021-12-03 北京理工大学 基于商用密码的可追责的数据加密传输方法及系统
CN114785495A (zh) * 2022-04-01 2022-07-22 安天科技集团股份有限公司 密钥派生方法、数据加密方法、服务器、电子设备及存储介质
CN114760079B (zh) * 2022-06-16 2022-08-23 鹏城实验室 一种标识网络终端认证方法及相关设备
CN114760079A (zh) * 2022-06-16 2022-07-15 鹏城实验室 一种标识网络终端认证方法及相关设备
CN116112916A (zh) * 2023-02-07 2023-05-12 深圳市华赛睿飞智能科技有限公司 一种无人机数据安全分享方法、智能底座及存储介质
CN116112916B (zh) * 2023-02-07 2024-02-23 深圳市华赛睿飞智能科技有限公司 一种无人机数据安全分享方法、智能底座及存储介质
CN116011000A (zh) * 2023-03-27 2023-04-25 北京信安世纪科技股份有限公司 访问方法、装置、及计算设备
CN116579005B (zh) * 2023-07-10 2023-09-19 西安银信博锐信息科技有限公司 一种用户数据安全存储管理方法
CN116579005A (zh) * 2023-07-10 2023-08-11 西安银信博锐信息科技有限公司 一种用户数据安全存储管理方法

Also Published As

Publication number Publication date
CN111740828B (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
JP7119040B2 (ja) データ伝送方法、装置およびシステム
US11323276B2 (en) Mutual authentication of confidential communication
US11870891B2 (en) Certificateless public key encryption using pairings
CN112564907B (zh) 密钥生成方法及装置、加密方法及装置、解密方法及装置
KR20110117169A (ko) Id 기반 인증 키 동의 프로토콜을 수행하기 위한 방법 및 장치
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
WO2017167771A1 (en) Handshake protocols for identity-based key material and certificates
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN114726546B (zh) 数字身份认证方法、装置、设备和存储介质
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
US20190294417A1 (en) Method and system for deriving deterministic prime number
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
CN114070570A (zh) 一种电力物联网的安全通信方法
CN114070549A (zh) 一种密钥生成方法、装置、设备和存储介质
CN111615107B (zh) 一种数据交互方法、终端及系统
CN112533213B (zh) 一种密钥协商方法、装置、终端及存储介质
CN114070550A (zh) 一种信息处理方法、装置、设备和存储介质
CN114095151A (zh) 一种加解密方法、认证方法、装置、设备和存储介质
CN115378588A (zh) 不经意传输方法、设备和存储介质
CN117896168A (zh) 安全认证方法和设备
CN117176329A (zh) 会话密钥的生成方法、装置、处理器及电子设备
CN117749413A (zh) 基于tlcp商密协议的安全通信方法及安全通信系统
CN111200602A (zh) 一种分权管理方法、加密卡、管理员锁和密码机
Blomqvist Kleptography--Overview and a new proof of concept

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