一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于密文变换的第三方随机数传递方法

2022-04-27 02:43:13 来源:中国专利 TAG:


1.本发明涉及一种基于密文变换的第三方随机数传递方法,属于计算机网络应用密码学技术领域。


背景技术:

2.当今,随着网络化的不断加深,人们的各类活动越来越依赖于网络。互联网基础设施,可以认为是提供网络服务,包括接入网络、网站托管、cdn加速、域名服务等等。网络中的数据通过网线、光纤、卫星信号等不同方式进行不断的交换。这里,数据的安全性需要有一个保障,否则任何人都可以随意的接收和破解这些信号数据,从而获得隐私信息。
3.为了保证数据传输中的安全性,需要使用加密算法。简而言之,我们看到的信息都是一个个加密和解密的过程。这个过程中,最重要的环节就是随机数的加入。随机数作为网络中密码类应用的重要安全保障手段,在身份验证、数据通信、文件共享等领域具有重要意义。
4.随机数的生成和具体场景的服务,不能由同一方提供。随机数经由第三方传递时,往往面临严重的隐私泄露威胁。目前,常见的基于属性加密和代理重加密方法,均无法有效防止第三方代理的威胁。因此,如何降低对第三方的依赖,是当前的重点研究方向之一。
5.为了保障随机数服务的安全可靠,迫切需要一种实用的第三方随机数传递技术。


技术实现要素:

6.本发明的目的是为了克服现有技术存在的缺陷,提出一种基于密文变换的第三方随机数传递方法,通过第三方向指定接收者传递一个随机数,同时保证数据的秘密性。
7.一种基于密文变换的第三方随机数传递方法。其网络数据传递系统包括发送方、接收方和服务集群。发送方能够通过第三方服务集群,向接收方安全地发送指定长度的随机数。服务集群由若干服务器组成。
8.步骤a:服务集群中的所有服务器约定所用椭圆曲线,生成自己的公私钥对。将每个服务器的公钥进行加和,得到服务集群的公钥,并将椭圆曲线参数和服务集群公钥公开。
9.步骤b:接收方使用曲线参数生成自己的公私钥对,并公开公钥。
10.步骤c:发送方生成随机点,由点映射出待传递的随机数。使用服务集群公钥对随机点进行加密,并将密文发送至服务集群。
11.步骤d:服务集群中每个服务器分别以接收方的公钥为目标,对密文进行转化。服务集群将所有服务器的转化结果与原密文进行加和,得到新密文。
12.步骤e:接收方从服务集群获得新密文,并使用自己的私钥解密,最终得到发送方传递的随机数。
13.有益效果
14.本发明方法,对比现有技术,具有以下优点:
15.1.本方法实现了去中心的第三方随机数传递;
16.2.使用本方法,能够让网络系统安全对第三方服务集群依赖程度低,仅需服务集群中任意一个服务器保持诚实,即可保证随机数不被攻击方获取。
17.3.数据传输行为可审计,每一次成功的随机数传递,在服务集群中均留有足够的可审计记录。
附图说明
18.图1是本发明方法的流程图。
具体实施方式
19.下面结合附图对本发明的具体实施过程做进一步详细说明。
20.如图1所示,一种基于密文变换的第三方随机数传递方法,包括以下步骤:
21.步骤a:服务集群中的所有服务器约定所用椭圆曲线(例如,国家密码管理局发布的sm2椭圆曲线公钥密码算法推荐曲线参数)。每个服务器si生成随机数私钥ski以及对应公钥pki=[ski]b,[ski]b表示椭圆曲线上基点b的ski倍点。之后,将每个服务器si的公钥pki进行加和:pk

=∑pki,得到服务集群的公钥。最后,将椭圆曲线参数和服务集群公钥公开,公开参数包括椭圆曲线g
p
(a,b)及其生成元b。
[0022]
步骤b:接收方使用曲线参数,生成随机数私钥skr以及对应公钥pkr,pkr=[skr]b,并公开公钥pkr。
[0023]
步骤c:发送方生成随机点,由随机点映射出待传递的随机数。使用服务集群公钥对随机点进行加密,并将密文发送至服务集群。
[0024]
其中,发送方生成随机点的方法为:
[0025]
发送方首先生成临时随机数r
t
,然后将其倍乘生成元b,得到随机点r
p
:r
p
=[r
t
]b=(x,y),其中,x、y表示随机点r
p
的坐标。
[0026]
随机数映射的方法为:
[0027]
发送方所传递的随机数由函数f指定,f为椭圆曲线上点到数值的映射,即,随机数m=f(r
p
)。
[0028]
使用服务集群公钥对随机点进行加密的方法为:
[0029]
发送方生成加密随机数r,使用服务集群公钥pk

对随机点进行加密,得到密文其中,(c1,c2)表示构成密文的椭圆曲线上的点对,c1、c2分别表示密文左侧点、密文右侧点;[r]b表示生成元b的r倍点;pki表示服务器si的公钥;r
p
表示随机点。
[0030]
步骤d:首先,服务集群中的每个服务器si,分别以接收方的公钥pkr为目标,对密文进行转化,从而生成自己的转化随机数ri。转化计算公式如下:
[0031]
(c
i,1
,c
i,2
)=([ri]b,-r*pki ri*pkr)
ꢀꢀꢀ
(1)
[0032]
其中,r*pki=r*b*ski=c1*ski;c
i,1
、c
i,2
分别表示服务器si转化得到的两个点;[ri]b表示生成元的ri倍点。
[0033]
之后,服务集群将所有服务器的转化结果与原密文进行加和,得到新密文:
[0034]
(c
′1,c
′2)=(∑c
i,1
,c2 ∑c
i,2
)=(r

*b,r
p
r

*pkr)
ꢀꢀꢀ
(2)
其中,r

表示各服务器生成的随机数的加和,r

=∑ri;c
′1、c
′2分别表示新密文左侧点、新密文右侧点。
[0035]
步骤e:接收方从服务集群获得新密文,并使用自己的私钥对其进行解密,接收方对得到的随机点r
p
使用约定的映射函数f,最终得到发送方传递的随机数m=f(r
p
)。
[0036]
其中,密文解密方法为:
[0037]
对于转化的密文(c
′1,c
′2)=(r

*b,r
p
r

*pkr),接收方使用自己的私钥skr倍乘密文左侧点c
′1,得到skr*r

*b=r

*pkr。再使用右侧点c
′2减去该结果:r
p
=c

2-r

*pkr,得到随机点r
p

[0038]
函数f可以是任意临时约定的由所选椭圆曲线上点到具体数值的映射。
[0039]
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献