CN115314204B - 随机数生成方法、装置及存储介质 - Google Patents

随机数生成方法、装置及存储介质 Download PDF

Info

Publication number
CN115314204B
CN115314204B CN202211239348.7A CN202211239348A CN115314204B CN 115314204 B CN115314204 B CN 115314204B CN 202211239348 A CN202211239348 A CN 202211239348A CN 115314204 B CN115314204 B CN 115314204B
Authority
CN
China
Prior art keywords
client
server
data
random number
sequence
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
Application number
CN202211239348.7A
Other languages
English (en)
Other versions
CN115314204A (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.)
Nanjing Yiketeng Information Technology Co ltd
Original Assignee
Nanjing Yiketeng Information Technology 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 Nanjing Yiketeng Information Technology Co ltd filed Critical Nanjing Yiketeng Information Technology Co ltd
Priority to CN202211239348.7A priority Critical patent/CN115314204B/zh
Publication of CN115314204A publication Critical patent/CN115314204A/zh
Application granted granted Critical
Publication of CN115314204B publication Critical patent/CN115314204B/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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种随机数生成方法、装置及存储介质,其中方法包括:客户端向服务端发送随机数服务请求,服务端生成相应的序列数据,服务器端根据序列数据生成服务端公钥和服务端私钥,客户端根据序列数据生成客户端公钥和客户端私钥;客户端向服务端发送随机数获取请求,服务端采用服务端公钥对随机数序列进行加密得到第一加密数据;客户端采用客户端公钥对第一加密数据再次加密得到第二加密数据;服务端采用服务端私钥对第二加密数据解密得到第一解密数据并将第一解密数据发送至客户端;客户端采用客户端私钥对第一解密数据再次解密得到目标随机数序列,降低了对客户端硬件、软件以及环境的要求,具有较高的抗量子计算能力。

Description

随机数生成方法、装置及存储介质
技术领域
本发明涉及网络信息安全技术领域,尤其涉及一种随机数生成方法、装置及存储介质。
背景技术
随机数大量应用于信息安全领域,如在密码应用中产生密钥。随机数的核心是数的随机性,要求随机数不可预测、不可重现,这直接关系到密码使用的安全。根据密码学原理,随机性检验可以分为三个标准:统计学伪随机性、密码学安全伪随机性和真随机性。相应的满足第一个标准的随机数称为“伪随机数”,满足前两个标准的随机数称为“密码学安全的伪随机数”,满足所有标准的随机数称为“真随机数”。
为了获得真随机数,可以通过随机数芯片或随机数发生器产生。但对于一些广泛分布的物联终端和用户终端,无论从成本还是使用环境考虑,往往不具备通过本地内置随机数发生源生成真随机数的条件。于是提出了一些从系统级事件和用户输入中提取熵、多熵源、甚至借助TEE(Trusted execution environment)可信计算环境等生成随机数的方法。这些方法在一定程度上提高了随机数的随机性,但和随机数芯片或随机数发生器产生的真随机数还存在着一定的差距,而且增加了终端侧的计算和环境要求。
发明内容
在本发明中的随机数生成方法、装置及存储介质,无需在客户端内置本地随机数发生器从而降低成本,并且降低了对客户端硬件、软件以及环境的要求,具有较高的抗量子计算能力,具体方案如下:
第一方面,提供一种随机数生成方法,所述方法包括:
客户端向服务端发送随机数服务请求,所述服务端在接收到所述随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端,所述服务器端根据所述序列数据生成与该客户端对应的服务端公钥和服务端私钥,所述客户端根据所述序列数据生成客户端公钥和客户端私钥,以完成密钥初始化过程;
所述客户端向服务端发送随机数获取请求,所述服务端在接收到所述随机数获取请求后采用预设方法获取随机数序列,并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端;
所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端;
所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端;
所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
进一步地,所述随机数服务请求包含所述客户端对应的客户端标识Cid,所述服务端在接收到所述随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端包括:
所述服务端根据所述客户端标识Cid生成所述序列数据 pid
其中,pid=(p1,p2,…,ph),h为所述序列数据中的数据总数,所述序列数据中的每一个数据均为素数;
所述服务端将所述序列数据pid发送至所述客户端。
进一步地,所述服务器端根据所述序列数据生成与该客户端对应的服务端公钥和服务端私钥,所述客户端根据所述序列数据生成客户端公钥和客户端私钥,以完成密钥初始化过程包括:
所述客户端收到所述序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,n]且i≠j,并将所述数据对(pi,pj)的索引(i,j)发送给所述服务端;
所述服务端根据所述索引(i,j)从所述序列数据pid中选择对应的数据对(pi,pj);
所述客户端采用预设算法根据所述数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n),所述服务端采用预设算法根据所述数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
所述服务端在生成所述服务端公钥和所述服务端私钥后向客户端发送第一密钥完成信息,所述客户端在生成客户端公钥和所述客户端私钥后向所述服务端发送第二密钥完成信息,以完成密钥初始化过程。
进一步地,所述随机数获取请求包含所述客户端对应的客户端标识Cid以及随机数总数m,所述服务端在接收到所述随机数获取请求后采用预设方法获取随机数序列包括:
所述服务端调用随机数发生器从而获取由m个随机数组成的所述随机数序列M,其中,M=(r1,r2,…,rm)。
进一步地,所述服务端采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端包括:
所述服务端采用与所述客户端标识Cid对应的服务端公钥(es,n)对所述随机数序 列进行加密得到第一加密数据Encs,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 995948DEST_PATH_IMAGE001
,k∈[1,m];
所述服务端将所述第一加密数据Encs发送至所述客户端。
进一步地,所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端包括:
所述客户端在接收到所述第一加密数据后采用客户端公钥(ec,n)对所述第一加 密数据Encs进行加密得到第二加密数据Encc,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 615148DEST_PATH_IMAGE002
,k∈[1,m];
所述客户端将客户端标识Cid以及所述第二加密数据Encc发送至所述服务端。
进一步地,所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端包括:
所述服务端采用与所述客户端标识Cid对应的服务端私钥(ds,n)对所述第二加密 数据进行解密得到第一解密数据Decs,其中,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 429652DEST_PATH_IMAGE003
,k∈[1,m];
所述服务端将所述第一解密数据Decs发送至所述客户端。
进一步地,所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列包括:
所述客户端在接收到所述第一解密数据后采用客户端私钥(dc,n)对所述第一解 密数据Decs再次解密得到目标随机数序列Decc,其中,Decc=(dec_c1,dec_c2,…,dec_ck),
Figure 425290DEST_PATH_IMAGE004
,k∈[1,m]。
第二方面,提供一种随机数生成方法,应用于客户端,所述方法包括:
向服务端发送随机数服务请求,以使所述服务端在接收到所述随机数服务请求后生成相应的序列数据并根据所述序列数据分别生成与该客户端对应的服务端公钥和服务端私钥,将所述序列数据所述发送至所述客户端;
根据所述序列数据生成客户端公钥和客户端私钥;
向所述服务端发送随机数获取请求,以使所述服务端在接收到所述随机数获取请求后,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端;
在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端,以使所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端;
在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
第三方面,提供一种随机数生成方法,应用于服务端,所述方法包括:
接收到客户端发送的随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端,以使所述客户端根据所述序列数据生成客户端公钥以及客户端私钥;
根据所述序列数据生成与该客户端对应的服务端公钥以及服务端私钥;
在接收到所述客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端,以使所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端;
在接收到所述客户端发送的所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端,以使所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
第四方面,提供一种随机数生成装置,应用于客户端,所述装置包括:
第一发送单元,用于向服务端发送随机数服务请求,以使所述服务端在接收到所述随机数服务请求后生成相应的序列数据并根据所述序列数据分别生成与该客户端对应的服务端公钥和服务端私钥,将所述序列数据所述发送至所述客户端;
第一密钥生成单元,用于根据所述序列数据生成客户端公钥和客户端私钥;
第二发送单元,用于向所述服务端发送随机数获取请求,以使所述服务端在接收到所述随机数获取请求后,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端;
第一加密单元,用于在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端,以使所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端;
第一解密单元,用于在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
第五方面,提供一种随机数生成装置,应用于服务端,所述装置包括:
第一接收单元,用于接收到客户端发送的随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端,以使所述客户端根据所述序列数据生成客户端公钥以及客户端私钥;
第二密钥生成单元,用于根据所述序列数据生成与该客户端对应的服务端公钥以及服务端私钥;
第二加密单元,用于在接收到所述客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端,以使所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端;
第二解密单元,用于在接收到所述客户端发送的所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端,以使所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
第六方面,提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如前所述的应用于客户端的随机数生成方法。
第七方面,提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如前所述的应用于服务端的随机数生成方法。
在本发明中,一方面是在客户端向服务端发送随机数获取请求以获取随机数之前,先要完成客户端以及服务端的密钥初始化过程,实现了客户端以及服务端之间的安全协商过程,并且在这一安全协商过程中无需跟对方交换公钥以及私钥,从而提高了抗量子计算攻击的能力,另一方面,是由客户端向服务端发起随机数获取请求,服务端在接收到随机数获取请求后采用预设方法获取随机数序列,通过服务端以及客户端对随机数序列的两次加密以及解密过程使得客户端获取到目标随机数序列,无需在客户端内置本地随机数发生器从而降低成本,并且也无需从系统级事件和用户输入中提取熵、多熵源、甚至借助TEE可信计算环境等生成随机数,节约了成本并且降低了对客户端硬件、软件以及环境的要求。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例一中的随机数生成方法的流程图;
图2为本发明实施例一中客户端以及服务端在密钥初始化中交互过程的示意图:
图3为本实施例中客户端以及服务端在目标随机序列生成中的交互过程示意图:
图4为本发明实施例二中的随机数生成方法的流程图;
图5为本发明实施例三中的随机数生成方法的流程图;
图6为本发明实施例四中的随机数生成装置的示意图;
图7为本发明实施例五中的随机数生成装置的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明中,客户端获取随机数的过程包括两方面,一方面是在客户端向服务端发送随机数获取请求以获取随机数之前,先要完成客户端以及服务端的密钥初始化过程,在这一过程中,服务端在接收到随机数服务请求后生成相应的序列数据并将序列数据发送至客户端,服务器端根据序列数据分别生成服务端公钥和服务端私钥,客户端根据序列数据生成客户端公钥以及客户端私钥,实现了客户端以及服务端之间的安全协商过程,并且在这一安全协商过程中无需跟对方交换公钥以及私钥,从而提高了抗量子计算攻击的能力,另一方面,是由客户端向服务端发起随机数获取请求,服务端在接收到随机数获取请求后采用预设方法获取随机数序列,服务端采用服务端公钥对随机数序列完成第一加密过程生成第一加密数据,客户端采用客户端公钥对第一加密数据完成第二加密过程生成第二加密数据,服务端采用服务端私钥对第二加密数据完成第一解密过程生成第一解密数据,客户端采用客户端私钥对第一解密数据完成第二解密过程生成第二解密数据,也即是目标随机数序列,无需在客户端内置本地随机数发生器从而降低成本,并且也无需从系统级事件和用户输入中提取熵、多熵源、甚至借助TEE可信计算环境等生成随机数,节约了成本并且降低了对客户端硬件、软件以及环境的要求。
下面将结合附图对本发明中的随机数生成方法、装置及存储介质进行详细阐述。
实施例一
如图1所示,本实施例提供一种随机数生成方法,该方法包括:
S101、客户端向服务端发送随机数服务请求,服务端在接收到随机数服务请求后生成相应的序列数据并将序列数据发送至客户端,服务器端根据序列数据生成与该客户端对应的服务端公钥和服务端私钥,客户端根据序列数据生成客户端公钥和客户端私钥,以完成密钥初始化过程。
在本步骤中,在客户端向服务端发送随机数获取请求以获取随机数之前,先要完成客户端以及服务端的密钥初始化过程,在这一过程中,服务端在接收到随机数服务请求后生成相应的序列数据并将序列数据发送至客户端,服务器端根据序列数据分别生成服务端公钥和服务端私钥,客户端根据序列数据生成客户端公钥以及客户端私钥,实现了客户端以及服务端之间的安全协商过程,并且在这一安全协商过程中无需跟对方交换公钥以及私钥,从而提高了抗量子计算攻击的能力。
S102、客户端向服务端发送随机数获取请求,服务端在接收到随机数获取请求后采用预设方法获取随机数序列,并采用与该客户端对应的服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端。
S103、客户端在接收到第一加密数据后采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端。
S104、服务端在接收到第二加密数据后采用与该客户端对应的服务端私钥对第二加密数据解密得到第一解密数据并将第一解密数据发送至客户端。
S105、客户端在接收到第一解密数据后采用客户端私钥对第一解密数据再次解密得到目标随机数序列。
在以上步骤中,由客户端向服务端发起随机数获取请求,服务端在接收到随机数获取请求后采用预设方法获取随机数序列,服务端采用服务端公钥对随机数序列完成第一加密过程生成第一加密数据,客户端采用客户端公钥对第一加密数据完成第二加密过程生成第二加密数据,服务端采用服务端私钥对第二加密数据完成第一解密过程生成第一解密数据,客户端采用客户端私钥对第一解密数据完成第二解密过程生成第二解密数据,也即是目标随机数序列,客户端无需通过本地内置随机数发生源生从而生成随机数,并且也无需从系统级事件和用户输入中提取熵、多熵源、甚至借助TEE可信计算环境等生成随机数,节约了成本并且降低了对客户端硬件、软件以及环境的要求,并且本发明中的随机数采用生成方法经过两次加密以及解密的过程,其中客户端和服务端无论加密还是解密均使用自身的公钥以及私钥,在此过程中不与对方交换公钥以及私钥,具有较高的抗量子计算能力。
进一步地,随机数服务请求包含客户端对应的客户端标识Cid,服务端在接收到随机数服务请求后生成相应的序列数据并将序列数据发送至客户端包括:
服务端根据客户端标识Cid生成序列数据 pid
其中,pid=(p1,p2,…,ph),h为序列数据中的数据总数,序列数据中的每一个数据均为素数;
服务端将序列数据pid发送至客户端。
在本实施例中,序列数据pid中的每一个数据都是素数,并且这些素数都是随机获取的,从而提高了计算的安全性。进一步地,服务端通过将序列数据pid存储在安全介质里而后由客户端获取pid,或者,通过离线的方式给到客户端从而提高将序列数据pid发送至客户端的安全性。
进一步地,服务器端根据序列数据与该客户端对应的生成服务端公钥和服务端私钥,客户端根据序列数据生成客户端公钥和客户端私钥,以完成密钥初始化过程包括:
客户端收到序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,n]且i≠j,并将数据对(pi,pj)的索引(i,j)发送给服务端;
服务端根据索引(i,j)从序列数据pid中选择对应的数据对(pi,pj);
客户端采用预设算法根据数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n),服务端采用预设算法根据数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
服务端在生成服务端公钥和服务端私钥后向客户端发送第一密钥完成信息,客户端在生成客户端公钥和客户端私钥后向服务端发送第二密钥完成信息,以完成密钥初始化过程。
在本实施例中,ec为客户端公钥的指数部分,dc为客户端私钥的指数部分,es为服务端公钥的指数部分,ds为服务端私钥的指数部分。
在本实施例中,客户端在接收到序列数据pid后随机选取数据对(pi,pj),并且仅将索引(i,j)发送给服务端,如果接收到索引(i,j)的一方为生成数据序列pid的服务端,那么可以通过索引(i,j)准确获取到数据对(pi,pj),否则无法准确获取数据对(pi,pj),从而无法实现后续的解密过程,进而提高了数据交互的安全性。
在本实施例中,客户端以及服务端均采用预设算法生成对应的公钥以及私钥,示例性地,预设算法可以为RSA(Rivest Shamir Adleman)算法,也即是客户端以及服务端计算得到的客户端私钥和服务端私钥时相同的,客户端公钥和客户端私钥是相同的。
进一步地,随机数获取请求包含客户端对应的客户端标识Cid以及随机数总数m,服务端在接收到随机数获取请求后采用预设方法获取随机数序列包括:
服务端调用随机数发生器从而获取由m个随机数组成的随机数序列M,其中,M=(r1,r2,…,rm)。
在本实施例中,服务端向与之连接的随机数发生器发送随机数生成请求,随机数发生器在获取到随机数序列M后,发送至服务端,示例性地,随机数发生器可以为量子随机数发生器,通过随机数发生器生成随机数序列M,利用量子的内禀随机性产生真随机数,不仅提高了随机数生成过程中的安全性,也降低了对服务端的要求。
进一步地,服务端采用与该客户端对应的服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端包括:
服务端采用与客户端标识Cid对应的服务端公钥(es,n)对随机数序列进行加密得 到第一加密数据Encs,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 156485DEST_PATH_IMAGE005
,k∈ [1,m];
服务端将第一加密数据Encs发送至客户端。
在本实施例中,服务端中的服务端公钥以及服务端私钥的存储是与客户端标识Cid一一对应的,服务端通过随机数获取请求中的客户端标识Cid从而获取到与该客户端标识Cid对应的服务端公钥(es,n),从而完成第一次加密过程。
在本实施例中,mod为取模运算符,ecn_sk为第一加密数据Encs中的第k个数据。
进一步地,客户端在接收到第一加密数据后采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端包括:
客户端在接收到第一加密数据Encs后采用客户端公钥(ec,n)对第一加密数据Encs 进行加密得到第二加密数据Encc,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 431740DEST_PATH_IMAGE006
,k∈[1,m];
客户端将客户端标识Cid以及第二加密数据Encc发送至服务端。
在本实施例中,enc_ck为第一加密数据Encc中的第k个数据。
进一步地,服务端在接收到第二加密数据后采用与该客户端对应的服务端私钥对第二加密数据解密得到第一解密数据并将第一解密数据发送至客户端包括:
服务端采用与客户端标识Cid对应的服务端私钥(ds,n)对第二加密数据Encc进行 解密得到第一解密数据Decs,其中,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 982807DEST_PATH_IMAGE003
,k∈[1,m];
服务端将第一解密数据Decs发送至客户端。
在本实施例中,dec_sk为第一解密数据Decs中的第k个数据。
进一步地,客户端在接收到第一解密数据后采用客户端私钥对第一解密数据再次解密得到目标随机数序列包括:
客户端在接收到第一解密数据Decs后采用客户端私钥(dc,n)对第一解密数据Decs 再次解密得到目标随机数序列Decc,其中,Decc=(dec_c1,dec_c2,…,dec_ck),
Figure 516557DEST_PATH_IMAGE004
,k∈[1,m]。
在本实施例中,dec_ck为目标随机数序列Decc中的第k个数据。
在本实施例中,服务端以及客户端分别采用预设算法根据序列数据生成服务端公钥,服务端私钥以及客户端公钥,客户端私钥,并且客户端以及服务端在密钥初始化过程以及后续目标随机序列生成的过程中均不交换对方的公钥以及私钥,提高了信息安全性,并且服务端在接收到包含客户端标识的随机数获取请求,服务端采用与该客户端对应的服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端,再由客户端采用客户端公钥对第一加密数据再次加密得到第二加密数据并发送至服务端,服务端采用与该客户端对应的服务端私钥对第二加密数据解密得到第一解密数据,在此过程中即便第一加密数据,第二加密数据以及第一解密数据被第三方获取,因为无法获取到服务端公钥,服务端私钥以及客户端公钥,客户端私钥,从而无法完成加密以及解密过程,从而无法生成目标随机数序列。
如图2所示,为本实施例中客户端以及服务端在密钥初始化中交互过程的示意图:
S201、客户端向服务端发送包含客户端标识Cid的随机数服务请求;
S202、服务端根据客户端标识Cid生成序列数据 pid
S203、服务端将序列数据 pid发送至客户端;
S204、客户端随机选取数据对(pi,pj);
S205、客户端将数据对(pi,pj)的索引(i,j)发送给服务端;
S206、服务端根据索引(i,j)从序列数据pid中选择对应的数据对(pi,pj);
S207、服务端根据数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n);
S208、客户端根据数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n);
S209、服务端向客户端发送第一密钥完成信息;
S210、客户端向服务端发送第二密钥完成信息。
如图3所示,为本实施例中客户端以及服务端在目标随机序列生成中的交互过程示意图:
S301、客户端向服务端发送包含Cid以及随机数总数m的随机数获取请求;S302、服务端调用随机数发生器从而获取由m个随机数组成的随机数序列;
S303、服务端采用与客户端标识Cid对应的服务端公钥(es,n)对随机数序列进行加密得到第一加密数据Encs
S304、服务端将第一加密数据Encs发送至客户端;
S305、客户端采用客户端公钥(ec,n)对第一加密数据Encs进行加密得到第二加密数据Encc
S306、客户端将客户端标识Cid以及第二加密数据Encc发送至服务端;
S307、服务端采用与客户端标识Cid对应的服务端私钥(ds,n)对第二加密数据Encc进行解密得到第一解密数据Decs
S308、服务端将第一解密数据Decs发送至客户端;
S309、客户端采用客户端私钥(dc,n)对第一解密数据Decs再次解密得到目标随机数序列Decc
实施例二
如图4所示,本实施例提供一种随机数生成方法,应用于客户端,该方法包括:
S401、向服务端发送随机数服务请求,以使服务端在接收到随机数服务请求后生成相应的序列数据并根据序列数据分别生成与该客户端对应的服务端公钥和服务端私钥,将序列数据发送至客户端;
S402、根据序列数据生成客户端公钥和客户端私钥;
S403、向服务端发送随机数获取请求,以使服务端在接收到随机数获取请求后,采用预设方法获取随机数序列并采用与该客户端对应的服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端;
S404、在接收到第一加密数据后采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端,以使服务端在接收到第二加密数据后采用与该客户端对应的服务端私钥对第二加密数据解密得到第一解密数据并将第一解密数据发送至客户端;
S405、在接收到第一解密数据后采用客户端私钥对第一解密数据再次解密得到目标随机数序列。
进一步地,S402、根据序列数据生成客户端公钥和客户端私钥包括:
在接收到服务端发送的序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,n]且i≠j,并将数据对(pi,pj)的索引(i,j)发送给服务端,以使服务端根据索引(i,j)从序列数据pid中选择对应的数据对(pi,pj)并采用预设算法根据数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
采用预设算法根据数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n);
接收服务端在生成服务端公钥和服务端私钥后发送的第一密钥完成信息;
在生成客户端公钥和客户端私钥后向服务端发送第二密钥完成信息,以完成密钥初始化过程;
其中,随机数服务请求包含客户端对应的客户端标识Cid,序列数据 pid是由服务端根据客户端标识Cid生成序列数据 pid;pid=(p1,p2,…,ph),h为序列数据中的数据总数,序列数据中的每一个数据均为素数。
进一步地,S404、在接收到第一加密数据后采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端包括:
在接收到第一加密数据后采用客户端公钥(ec,n)对第一加密数据Encs进行加密得 到第二加密数据Encc,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 584482DEST_PATH_IMAGE007
, k∈[1,m];
将客户端标识Cid以及第二加密数据Encc发送至服务端;
其中,第一加密数据Encs是由服务端采用与客户端标识Cid对应的服务端公钥(es, n)对随机数序列进行加密得到的,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 545485DEST_PATH_IMAGE008
,k∈[1,m],并且随机数序列M时由服务端调用随机数发生器从而获 取由m个随机数组成的,M=(r1,r2,…,rm)。
进一步地,S405、在接收到第一解密数据后采用客户端私钥对第一解密数据再次解密得到目标随机数序列包括:
在接收到第一解密数据后采用客户端私钥(dc,n)对第一解密数据Decs再次解密得 到目标随机数序列Decc,其中,Decc=(dec_c1,dec_c2,…,dec_ck),
Figure 583848DEST_PATH_IMAGE004
,k∈[1,m];
其中,第一解密数据Decs是由服务端采用与客户端标识Cid对应的服务端私钥(ds, n)对第二加密数据进行解密得到的,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 406442DEST_PATH_IMAGE009
,k∈[1,m]。
实施例三
如图5所示,本实施例提供一种随机数生成方法,应用于服务端,该方法包括:
S501、接收到客户端发送的随机数服务请求后生成相应的序列数据并将序列数据发送至客户端,以使客户端根据序列数据生成客户端公钥以及客户端私钥;
S502、根据序列数据生成服务端公钥以及服务端私钥;
S503、在接收到客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端,以使客户端在接收到第一加密数据后采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端;
S504、在接收到客户端发送的第二加密数据后采用服务端私钥对第二加密数据再次解密得到第一解密数据并将第一解密数据发送至客户端,以使客户端在接收到第一解密数据后采用客户端私钥对第一解密数据再次解密得到目标随机数序列。
进一步地,随机数服务请求包含客户端对应的客户端标识Cid,S501、接收到客户端发送的随机数服务请求后生成相应的序列数据并将序列数据发送至客户端包括:
根据客户端标识Cid生成序列数据 pid
其中,pid=(p1,p2,…,ph),h为序列数据中的数据总数,序列数据中的每一个数据均为素数;
将序列数据pid发送至客户端,以使客户端收到序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,n]且i≠j,并将数据对(pi,pj)的索引(i,j)发送给服务端,采用预设算法根据数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n),在生成客户端公钥和客户端私钥后向服务端发送第二密钥完成信息。
进一步地,S502、根据序列数据生成服务端公钥以及服务端私钥包括:
根据索引(i,j)从序列数据pid中选择对应的数据对 (pi,pj);
采用预设算法根据数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
在生成服务端公钥和服务端私钥后向客户端发送第一密钥完成信息。
进一步地,S501、接收到客户端发送的随机数服务请求后生成相应的序列数据并将序列数据发送至客户端包括:
调用随机数发生器从而获取由m个随机数组成的随机数序列M,其中,M=(r1,r2,…,rm)。
进一步地,S503、在接收到客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端包括:
采用与客户端标识Cid对应的服务端公钥(es,n)对随机数序列进行加密得到第一 加密数据Encs,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 846650DEST_PATH_IMAGE010
,k∈[1,m];
将第一加密数据Encs发送至客户端。
进一步地,S504、在接收到客户端发送的第二加密数据后采用服务端私钥对第二加密数据再次解密得到第一解密数据并将第一解密数据发送至客户端包括:
采用与客户端标识Cid对应的服务端私钥(ds,n)对第二加密数据进行解密得到第 一解密数据Decs,其中,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 712975DEST_PATH_IMAGE011
,k∈ [1,m];
将第一解密数据Decs发送至客户端;
其中,第二加密数据Encc是客户端在接收到第一加密数据后采用客户端公钥(ec, n)对第一加密数据Encs进行加密得到的,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 989367DEST_PATH_IMAGE012
,k∈[1,m],并且之后客户端将客户端标识Cid以及第二加密数据 Encc发送至服务端。
实施例四
如图6所示,一种随机数生成装置,应用于客户端,该装置包括:
第一发送单元601,用于向服务端发送随机数服务请求,以使服务端在接收到随机数服务请求后生成相应的序列数据,根据序列数据分别生成服务端公钥和服务端私钥,将序列数据发送至客户端;
第一密钥生成单元602,用于在接收到序列数据后,根据序列数据分别生成客户端公钥和客户端私钥;
第二发送单元603,用于向服务端发送随机数获取请求,以使服务端在接收到随机数获取请求后,采用预设方法获取随机数序列并采用服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端;
第一加密单元604,用于在接收到第一加密数据后,采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端,以使服务端在接收到第二加密数据后采用服务端私钥对第二加密数据解密得到第一解密数据并将第一解密数据发送至客户端;
第一解密单元605,用于在接收到第一解密数据后采用客户端私钥对第一解密数据再次解密得到目标随机数序列。
进一步地,第一密钥生成单元602还用于:
在接收到服务端发送的序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,n]且i≠j,并将数据对(pi,pj)的索引(i,j)发送给服务端,以使服务端根据索引(i,j)从序列数据pid中选择对应的数据对(pi,pj)并采用预设算法根据数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
采用预设算法根据数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n);
接收服务端在生成服务端公钥和服务端私钥后发送的第一密钥完成信息;
在生成客户端公钥和客户端私钥后向服务端发送第二密钥完成信息,以完成密钥初始化过程;
其中,随机数服务请求包含客户端对应的客户端标识Cid,序列数据 pid是由服务端根据客户端标识Cid生成序列数据 pid;pid=(p1,p2,…,ph),h为序列数据中的数据总数,序列数据中的每一个数据均为素数。
进一步地,第一加密单元604还用于:
在接收到第一加密数据后采用客户端公钥(ec,n)对第一加密数据Encs进行加密得 到第二加密数据Encc,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 864919DEST_PATH_IMAGE007
, k∈[1,m];
将客户端标识Cid以及第二加密数据Encc发送至服务端;
其中,第一加密数据Encs是由服务端采用与客户端标识Cid对应的服务端公钥(es, n)对随机数序列进行加密得到的,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 910366DEST_PATH_IMAGE001
,k∈[1,m],并且随机数序列M时由服务端调用随机数发生器从而获 取由m个随机数组成的,M=(r1,r2,…,rm)。
进一步地,第一解密单元605还用于:
在接收到第一解密数据后采用客户端私钥(dc,n)对第一解密数据Decs再次解密得 到目标随机数序列Decc,其中,Decc=(dec_c1,dec_c2,…,dec_ck),
Figure 213172DEST_PATH_IMAGE004
,k∈[1,m];
其中,第一解密数据Decs是由服务端采用与客户端标识Cid对应的服务端私钥(ds, n)对第二加密数据进行解密得到的,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 960548DEST_PATH_IMAGE009
,k∈[1,m]。
实施例五
如图7所示,本实施例提供一种随机数生成装置,应用于服务端,该装置包括:
第一接收单元701,用于接收到客户端发送的随机数服务请求后生成相应的序列数据并将序列数据发送至客户端,以使客户端根据序列数据生成客户端公钥以及客户端私钥;
第二密钥生成单元702,用于根据序列数据生成服务端公钥以及服务端私钥;
第二加密单元703,用于在接收到客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用服务端公钥对随机数序列进行加密得到第一加密数据并将第一加密数据发送至客户端,以使客户端在接收到第一加密数据后采用客户端公钥对第一加密数据再次加密得到第二加密数据并将第二加密数据发送至服务端;
第二解密单元704,用于在接收到客户端发送的第二加密数据后采用服务端私钥对第二加密数据再次解密得到第一解密数据并将第一解密数据发送至客户端,以使客户端在接收到第一解密数据后采用客户端私钥对第一解密数据再次加密得到目标随机数序列。
进一步地,随机数服务请求包含客户端对应的客户端标识Cid,第一接收单元701还用于:
根据客户端标识Cid生成序列数据 pid
其中,pid=(p1,p2,…,ph),h为序列数据中的数据总数,序列数据中的每一个数据均为素数;
将序列数据pid发送至客户端,以使客户端收到序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,n]且i≠j,并将数据对(pi,pj)的索引(i,j)发送给服务端,采用预设算法根据数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n),在生成客户端公钥和客户端私钥后向服务端发送第二密钥完成信息。
进一步地,第二密钥生成单元702还用于:
根据索引(i,j)从序列数据pid中选择对应的数据对(pi,pj);
采用预设算法根据数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
在生成服务端公钥和服务端私钥后向客户端发送第一密钥完成信息。
进一步地,第一接收单元701还用于:
调用随机数发生器从而获取由m个随机数组成的随机数序列M,其中,M=(r1,r2,…,rm)。
进一步地,第二加密单元703还用于:
采用与客户端标识Cid对应的服务端公钥(es,n)对随机数序列进行加密得到第一 加密数据Encs,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 374212DEST_PATH_IMAGE005
,k∈[1,m];
将第一加密数据Encs发送至客户端。
进一步地,第二解密单元704还用于:
采用与客户端标识Cid对应的服务端私钥(ds,n)对第二加密数据进行解密得到第 一解密数据Decs,其中,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 288814DEST_PATH_IMAGE013
,k∈ [1,m];
将第一解密数据Decs发送至客户端;
其中,第二加密数据Encc是客户端在接收到第一加密数据后采用客户端公钥(ec, n)对第一加密数据Encs进行加密得到的,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 28100DEST_PATH_IMAGE006
,k∈[1,m],并且之后客户端将客户端标识Cid以及第二加密数据 Encc发送至服务端。
实施例六
本实施例提供一种存储介质,存储介质中存储有多条指令,指令适于由处理器加载以执行如实施例二的随机数生成方法。
实施例七
本实施例提供一种存储介质,存储介质中存储有多条指令,指令适于由处理器加载以执行如实施例三的随机数生成方法。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (14)

1.一种随机数生成方法,其特征在于,所述方法包括:
客户端向服务端发送随机数服务请求,所述服务端在接收到所述随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端,所述服务端根据所述序列数据生成与该客户端对应的服务端公钥和服务端私钥,所述客户端根据所述序列数据生成客户端公钥和客户端私钥,以完成密钥初始化过程;
所述客户端向服务端发送随机数获取请求,所述服务端在接收到所述随机数获取请求后采用预设方法获取随机数序列,并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端;
所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端;
所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端;
所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
2.如权利要求1所述的方法,其特征在于,所述随机数服务请求包含所述客户端对应的客户端标识Cid,所述服务端在接收到所述随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端包括:
所述服务端根据所述客户端标识Cid生成所述序列数据 pid
其中,pid=(p1,p2,…,ph),h为所述序列数据 pid中的数据总数,所述序列数据中的每一个数据均为素数;
所述服务端将所述序列数据pid发送至所述客户端。
3.如权利要求2所述的方法,其特征在于,所述服务端根据所述序列数据生成与该客户端对应的服务端公钥和服务端私钥,所述客户端根据所述序列数据生成客户端公钥和客户端私钥,以完成密钥初始化过程包括:
所述客户端收到所述序列数据pid后,随机选取数据对(pi,pj),其中i,j∈[1,h]且i≠j,并将所述数据对(pi,pj)的索引(i,j)发送给所述服务端;
所述服务端根据所述索引(i,j)从所述序列数据pid中选择对应的数据对(pi,pj);
所述客户端采用预设算法根据所述数据对(pi,pj)计算出客户端公钥(ec,n),客户端私钥(dc,n),所述服务端采用预设算法根据所述数据对(pi,pj)计算出服务端公钥(es,n),服务端私钥(ds,n),其中n=pi*pj
所述服务端在生成所述服务端公钥和所述服务端私钥后向客户端发送第一密钥完成信息,所述客户端在生成客户端公钥和所述客户端私钥后向所述服务端发送第二密钥完成信息,以完成密钥初始化过程。
4.如权利要求1所述的方法,其特征在于,所述随机数获取请求包含所述客户端对应的客户端标识Cid以及随机数总数m,所述服务端在接收到所述随机数获取请求后采用预设方法获取随机数序列包括:
所述服务端调用随机数发生器从而获取由m个随机数组成的所述随机数序列M,其中,M=(r1,r2,…,rm)。
5.如权利要求4所述的方法,其特征在于,所述服务端采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端包括:
所述服务端采用与所述客户端标识Cid对应的服务端公钥(es,n)对所述随机数序列进行加密得到第一加密数据Encs,其中,Encs=(enc_s1,enc_s2,…,enc_sk),
Figure 466316DEST_PATH_IMAGE001
,k∈[1,m],rk为所述随机数序列M中的第k个随机数;
所述服务端将所述第一加密数据Encs发送至所述客户端。
6.如权利要求4所述的方法,其特征在于,所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端包括:
所述客户端在接收到所述第一加密数据后采用客户端公钥(ec,n)对所述第一加密数据Encs进行加密得到第二加密数据Encc,其中,Encc=(enc_c1,enc_c2,…,enc_ck),
Figure 554357DEST_PATH_IMAGE002
,k∈[1,m];
所述客户端将客户端标识Cid以及所述第二加密数据Encc发送至所述服务端。
7.如权利要求4所述的方法,其特征在于,所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端包括:
所述服务端采用与所述客户端标识Cid对应的服务端私钥(ds,n)对所述第二加密数据进行解密得到第一解密数据Decs,其中,Decs=(dec_s1,dec_s2,…,dec_sk),
Figure 726451DEST_PATH_IMAGE003
,k∈[1,m];
所述服务端将所述第一解密数据Decs发送至所述客户端。
8.如权利要求4所述的方法,其特征在于,所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列包括:
所述客户端在接收到所述第一解密数据后采用客户端私钥(dc,n)对所述第一解密数据Decs再次解密得到目标随机数序列Decc,其中,Decc=(dec_c1,dec_c2,…,dec_ck),
Figure 472821DEST_PATH_IMAGE004
,k∈[1,m]。
9.一种随机数生成方法,应用于客户端,其特征在于,所述方法包括:
向服务端发送随机数服务请求,以使所述服务端在接收到所述随机数服务请求后生成相应的序列数据并根据所述序列数据分别生成与该客户端对应的服务端公钥和服务端私钥,将所述序列数据发送至所述客户端;
根据所述序列数据生成客户端公钥和客户端私钥;
向所述服务端发送随机数获取请求,以使所述服务端在接收到所述随机数获取请求后,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端;
在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端,以使所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端;
在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
10.一种随机数生成方法,应用于服务端,其特征在于,所述方法包括:
接收到客户端发送的随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端,以使所述客户端根据所述序列数据生成客户端公钥以及客户端私钥;
根据所述序列数据生成与该客户端对应的服务端公钥以及服务端私钥;
在接收到所述客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端,以使所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端;
在接收到所述客户端发送的所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端,以使所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
11.一种随机数生成装置,应用于客户端,其特征在于,所述装置包括:
第一发送单元,用于向服务端发送随机数服务请求,以使所述服务端在接收到所述随机数服务请求后生成相应的序列数据并根据所述序列数据分别生成与该客户端对应的服务端公钥和服务端私钥,将所述序列数据发送至所述客户端;
第一密钥生成单元,用于根据所述序列数据生成客户端公钥和客户端私钥;
第二发送单元,用于向所述服务端发送随机数获取请求,以使所述服务端在接收到所述随机数获取请求后,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端;
第一加密单元,用于在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端,以使所述服务端在接收到所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端;
第一解密单元,用于在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
12.一种随机数生成装置,应用于服务端,其特征在于,所述装置包括:
第一接收单元,用于接收到客户端发送的随机数服务请求后生成相应的序列数据并将所述序列数据发送至所述客户端,以使所述客户端根据所述序列数据生成客户端公钥以及客户端私钥;
第二密钥生成单元,用于根据所述序列数据生成与该客户端对应的服务端公钥以及服务端私钥;
第二加密单元,用于在接收到所述客户端发送的随机数获取请求,采用预设方法获取随机数序列并采用与该客户端对应的所述服务端公钥对所述随机数序列进行加密得到第一加密数据并将所述第一加密数据发送至所述客户端,以使所述客户端在接收到所述第一加密数据后采用所述客户端公钥对所述第一加密数据再次加密得到第二加密数据并将所述第二加密数据发送至所述服务端;
第二解密单元,用于在接收到所述客户端发送的所述第二加密数据后采用与该客户端对应的所述服务端私钥对所述第二加密数据解密得到第一解密数据并将所述第一解密数据发送至所述客户端,以使所述客户端在接收到所述第一解密数据后采用所述客户端私钥对所述第一解密数据再次解密得到目标随机数序列。
13.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如权利要求9所述的随机数生成方法。
14.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如权利要求10所述的随机数生成方法。
CN202211239348.7A 2022-10-11 2022-10-11 随机数生成方法、装置及存储介质 Active CN115314204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211239348.7A CN115314204B (zh) 2022-10-11 2022-10-11 随机数生成方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211239348.7A CN115314204B (zh) 2022-10-11 2022-10-11 随机数生成方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN115314204A CN115314204A (zh) 2022-11-08
CN115314204B true CN115314204B (zh) 2022-12-16

Family

ID=83868405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211239348.7A Active CN115314204B (zh) 2022-10-11 2022-10-11 随机数生成方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115314204B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1173538A (en) * 1980-12-15 1984-08-28 William J. Miller Rsa public-key data encryption system
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
CN108306732A (zh) * 2018-04-20 2018-07-20 北京数字认证股份有限公司 一种随机数生成方法、相关设备及系统
CN109039628A (zh) * 2018-11-02 2018-12-18 美的集团股份有限公司 密钥协商方法、云服务器、设备、存储介质以及系统
WO2020060433A1 (ru) * 2018-09-20 2020-03-26 БОГДАНОВ, Михаил Леонидович Способ формирования цепочки случайных чисел
CN111526007A (zh) * 2020-03-26 2020-08-11 郑州信大捷安信息技术股份有限公司 一种随机数生成方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1173538A (en) * 1980-12-15 1984-08-28 William J. Miller Rsa public-key data encryption system
WO2018076365A1 (zh) * 2016-10-31 2018-05-03 美的智慧家居科技有限公司 密钥协商方法及装置
CN108306732A (zh) * 2018-04-20 2018-07-20 北京数字认证股份有限公司 一种随机数生成方法、相关设备及系统
WO2020060433A1 (ru) * 2018-09-20 2020-03-26 БОГДАНОВ, Михаил Леонидович Способ формирования цепочки случайных чисел
CN109039628A (zh) * 2018-11-02 2018-12-18 美的集团股份有限公司 密钥协商方法、云服务器、设备、存储介质以及系统
CN111526007A (zh) * 2020-03-26 2020-08-11 郑州信大捷安信息技术股份有限公司 一种随机数生成方法及系统

Also Published As

Publication number Publication date
CN115314204A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
CN111740828B (zh) 一种密钥生成方法以及装置、设备、加解密方法
US10027654B2 (en) Method for authenticating a client device to a server using a secret element
CN109756329B (zh) 基于私钥池的抗量子计算共享密钥协商方法和系统
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和系统
KR100506076B1 (ko) 패스워드를 기반으로 한 상호 인증 및 키 교환방법과 그장치
CN110932851B (zh) 一种基于pki的多方协同运算的密钥保护方法
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
US11870891B2 (en) Certificateless public key encryption using pairings
EP1234404B1 (en) Generation of a mathematically constrained key using a one-way function
CN109905229B (zh) 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统
CN114443718A (zh) 一种数据查询方法及系统
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
CN110519226B (zh) 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统
JP6294882B2 (ja) 鍵保管装置、鍵保管方法、及びそのプログラム
CN110401524B (zh) 一种借助同态加密的包含秘密的数的协同生成方法及系统
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
CN114362912A (zh) 基于分布式密钥中心的标识密码生成方法、电子设备及介质
JP4758110B2 (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
CN115237943B (zh) 基于加密数据的数据检索方法、装置及存储介质
CN115314204B (zh) 随机数生成方法、装置及存储介质
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
CN112800479B (zh) 利用可信第三方的多方联合数据处理方法及装置
CN111526131B (zh) 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统
CN112507349A (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