CN109818752A - 信用评分生成方法、装置、计算机设备和存储介质 - Google Patents
信用评分生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109818752A CN109818752A CN201910144529.3A CN201910144529A CN109818752A CN 109818752 A CN109818752 A CN 109818752A CN 201910144529 A CN201910144529 A CN 201910144529A CN 109818752 A CN109818752 A CN 109818752A
- Authority
- CN
- China
- Prior art keywords
- credit
- ciphertext
- credit score
- user
- scoring
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims description 23
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 description 26
- 230000002452 interceptive effect Effects 0.000 description 9
- 238000012795 verification Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供了一种信用评分生成方法、装置、计算机设备和存储介质,其中,该方法包括:服务端利用同态加密算法生成公钥和私钥;服务端获取多项信用评分系数并根据公钥对多项信用评分系数进行加密以生成多项信用评分系数中各项信用评分系数的密文,并将公钥和多项信用评分系数的密文发送至用户端;服务端接收用户端返回的信用评分密文和第一零知识证明;在第一零知识证明满足第一预设条件的情况下,服务端根据私钥对信用评分密文进行解密以生成信用评分。上述方案解决了现有的信用评分生成方法中的用户敏感数据泄露的技术问题,达到了有效地实现用户端的用户信用数据的隐私保护的技术效果。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种信用评分生成方法、装置、计算机设备和存储介质。
背景技术
信用评分代表了个人或群体的信用价值或信用风险,在信任评估方面具有重大的参考价值,比如企业和金融机构等机构利用这一信用评分来决定是否提供或授予信用给某一个人或团体。信用评分通常是由几种类型的信息确定的,统称为“信用数据”。信用数据可以包括个人信息(如主要资产的价值)、信用信息(如账户余额)、公共记录信息(如破产)和查询信息(如申请信用报告),其中,每个信用数据都有一个值,这些值会影响信用评分的大小。
现有的信用生成方法是企业利用上述信用数据值通过一定的公式(如权重计算方法)分析计算得到信用评分,保证了信用评分是综合评估的结果,无法通过改变单方面的信用数据而迅速提升信用评分。然而目前企业计算信用评分时,往往是先获取用户的各项信用数据值,然后利用企业内部的各项信用评分系数(权重)计算得到用户的信用评分。这种方式存在敏感数据泄露的问题,即用户各项信用数据值泄露,企业能够知道用户各项信用数据值,导致了用户数据隐私的严重泄露。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种信用评分生成方法、装置、计算机设备和存储介质,以解决现有技术中用户敏感数据泄露的问题。
本申请实施例提供了一种信用评分生成方法,包括:服务端利用同态加密算法生成公钥和私钥;服务端获取多项信用评分系数并根据公钥对多项信用评分系数进行加密以生成多项信用评分系数中各项信用评分系数的密文,并将公钥和多项信用评分系数的密文发送至用户端;服务端接收用户端返回的信用评分密文和第一零知识证明,其中,信用评分密文是用户端根据多项信用评分系数的密文和用户的多项信用数据生成的,第一零知识证明是用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文生成的;在第一零知识证明满足第一预设条件的情况下,服务端根据私钥对信用评分密文进行解密以生成信用评分。
在一个实施例中,在服务端根据私钥对信用评分密文进行解密以生成信用评分之后,该方法还包括:服务端根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明;服务端将信用评分和第二零知识证明发送到用户端,其中,用户端在第二零知识证明满足第二预设条件的情况下确定信用评分为用户的信用评分。
在一个实施例中,服务端利用同态加密算法生成公钥和私钥,包括:按照如下公式计算公钥和私钥:
pk=N=p·q;
sk=λ=lcm(p-1,q-1);
其中,pk为公钥,sk为私钥,gcd(L((1+N)λmod N2),N)=1,p和q为随机大素数,lcm(·,·)为最小公倍数函数,gcd(·,·)为欧几里德函数,L(·)为对于u∈Sn,L(u)=(u-1)/n,其中,Sn={u<n2|u≡1mod n},mod为模运算。
在一个实施例中,服务端获取多项信用评分系数并根据公钥对多项信用评分系数进行加密以生成多项信用评分系数中各项信用评分系数的密文,包括:获取t个信用评分系数ki(i=1,...,t),其中,ki<N,t为大于等于1的整数;对于每个信用评分系数ki,按照以下公式计算信用评分系数ki的密文:
其中,Ci为信用评分系数ki的密文,i=1,...,t, 为集合{1,2,...,N}中与元素N互素的元素构成的集。
在一个实施例中,信用评分密文是用户端根据多项信用评分系数的密文和用户的多项信用数据按照以下公式计算得到的:
其中,y为信用评分密文,mi(i=1,...,t)为用户的多项信用数据。
在一个实施例中,第一零知识证明是用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文按照以下公式计算得到的:
x1=(Ci,y,N);
π1=(R1,zi),
其中,(x1,π1)为第一零知识证明,zi=si+c1·ki,其中,si为小于N的随机数,c1=H(R1),H(·)为安全哈希函数。
在一个实施例中,第一预设条件为:
其中,c′1=H(R1)。
在一个实施例中,服务端根据私钥对信用评分密文进行解密以生成信用评分,包括:按照以下公式计算信用评分:
在一个实施例中,服务端根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明,包括:按照以下公式计算第二零知识证明:
x2=(m,y,N);
π2=(R2,z),
其中(x2,π2)为第二零知识证明,其中,c2=H(R2),其中,为集合{1,2,...,N}中与元素N互素的元素构成的集,s′=s modN,(-a,b)←extandGCD(λ,N),其中,s=y·(1+N)-mmod N2,extandGCD(·,·)为扩展欧几里德函数,用于求解(-a,b),满足-aλ+bN=1。
在一个实施例中,用户端在第二零知识证明满足第二预设条件的情况下确定信用评分为用户的信用评分,包括:用户端验证等式是否成立以确定第二零知识证明是否满足第二预设条件,其中,c′2=H(R2);在验证等式成立的情况下,用户端确定信用评分为用户的信用评分。
本申请实施例还提供了一种信用评分生成装置,位于服务端,包括:生成模块,用于利用同态加密算法生成公钥和私钥;加密模块,用于获取多项信用评分系数并根据所述公钥对所述多项信用评分系数进行加密以生成所述多项信用评分系数中各项信用评分系数的密文,并将所述公钥和多项信用评分系数的密文发送至用户端;接收模块,用于接收所述用户端返回的信用评分密文和第一零知识证明,其中,所述信用评分密文是所述用户端根据所述多项信用评分系数的密文和用户的多项信用数据生成的,所述第一零知识证明是所述用户端根据所述公钥、所述多项信用评分系数的密文、所述多项信用数据和所述信用评分密文生成的;解密模块,用于在所述第一零知识证明满足第一预设条件的情况下,根据所述私钥对所述信用评分密文进行解密以生成信用评分。
本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的信用评分生成方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的信用评分生成方法的步骤。
在本申请实施例中,提供了一种信用评分生成方法,服务端利用同态加密算法生成公钥和私钥,然后根据公钥对多项信用评分系数进行加密,并将生成的多项信用评分系数的密文发送给用户端,然后接收用户端返回的信用评分密文和第一零知识证明,在第一零知识证明符合第一预设条件的时候,根据私钥对信用评分密文进行解密以生成信用评分。上述方法中使用同态加密算法,由于同态加密算法允许对密文进行计算,并且对密文计算后的结果进行解密得到的明文与直接对明文操作的结果相匹配,因此将该算法应用到信用评分生成中,能够安全地将服务端的信用评分系数和用户端的信用数据链接在一起,可以实现企业端的信用评分系数和用户端的用户信用数据的隐私保护。此外,由于服务端在第一零知识证明满足第一预设条件的情况下才对接收到的信用评分密文进行解密以生成信用评分,即在确定用户端根据用户的多项信用数据和多项信用评分系数的密文生成信用评分密文的计算结果可信的情况下生成信用评分,因而可以提高信用评分计算结果的可信度和准确性。通过上述方案解决了现有的用户敏感数据泄露的技术问题,达到了有效地实现用户端用户信用数据的隐私保护以及提高信用评分计算结果的准确性的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1示出了本申请一实施例中的信用评分生成方法的流程图;
图2示出了本申请一实施例中的信用评分生成方法的流程图;
图3示出了本申请一实施例中的信用评分生成装置的示意图;
图4示出了本申请一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本申请实施例提供了一种信用评分生成方法,如图1所示,可以包括以下步骤:
步骤S101,服务端利用同态加密算法生成公钥和私钥。
其中,同态加密算法允许对密文进行计算,并且对密文计算后的结果进行解密得到的明文与直接对明文操作的结果相匹配。同态加密算法可以包括对加法和部分乘法运算同态的Paillier同态加密算法和Gentry同态加密算法等。服务端利用同态加密算法生成公钥和私钥,其中,公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。
步骤S102,服务端获取多项信用评分系数并根据公钥对多项信用评分系数进行加密以生成多项信用评分系数中各项信用评分系数的密文,并将公钥和多项信用评分系数的密文发送至用户端。
企业服务端可以利用用户的信用数据值通过一定的公式(如权重计算方法)分析计算得到信用评分,保证了信用评分是综合评估的结果。服务端货物的多项信用评分系数可以是计算信用评分时用户的信用数据所占的权重。所述多项信用评分数据可以是业务人员通过服务端的输入设备输入的,也可以是预先存储在服务器端的存储器中的。服务端获取多项信用评分系数后,可以根据利用同态加密算法生成的公钥对多项信用评分系数中的各项信用评分系数进行加密,以生成多项信用评分系数的密文,然后将该公钥和生成的多项信用评分系数的密文发送至用户端。
步骤S103,服务端接收用户端返回的信用评分密文和第一零知识证明,其中,信用评分密文是用户端根据多项信用评分系数的密文和用户的多项信用数据生成的,第一零知识证明是用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文生成的;
其中,用户端可以存储有用户的多项信用数据或者可以获取用户的多项信用数据。零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明可以是非交互式零知识证明。在用户端接收到服务器端发送的公钥和多项信用评分系数的密文之后,可以对多项信用评分系数的密文和用户的多项信用数据进行计算,以生成信用评分密文。此外,由于服务端需要验证用户端的计算结果是否可信,因此用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文生成第一零知识证明。该第一零知识证明是用户的多项信用数据与生成的信用评分密文间的零知识证明。
步骤S104,在第一零知识证明满足第一预设条件的情况下,服务端根据私钥对信用评分密文进行解密以生成信用评分。
具体地,服务端在接收到信用评分密文和第一零知识证明之后,确定第一零知识证明是否满足第一预设条件,即确定用户端根据信用评分系数的密文和用户的各项信用数据生成信用评分密文的计算过程是否可信。在确定第一零知识证明满足第一预设条件的情况下,则根据私钥对接收到的信用评分密文进行解密,以生成信用评分。
上述信用评分生成方法中使用同态加密算法,由于同态加密算法允许对密文进行计算,并且对密文计算后的结果进行解密得到的明文与直接对明文操作的结果相匹配,因此将该算法应用到信用评分生成中,能够安全地将服务端的信用评分系数和用户端的用户信用数据链接在一起,可以实现企业端的信用评分系数和用户端的用户信用数据的隐私保护。此外,由于服务端在第一零知识证明满足第一预设条件的情况下才对接收到的信用评分密文进行解密以生成信用评分,即在确定用户端根据用户的多项信用数据和多项信用评分系数的密文生成信用评分密文的计算结果可信的情况下生成信用评分,因而可以提高信用评分计算结果的可信度和准确性。通过上述方案解决了现有的用户敏感数据泄露的技术问题,达到了有效地实现用户端用户信用数据的隐私保护以及提高信用评分计算结果的准确性的技术效果。
考虑到服务端根据私钥对信用评分密文进行解密以生成信用评分的计算结果可能不可信,由于服务端的各项信用评分系数和私钥往往未公开,即使服务端未正确执行计算过程,用户端也无法察觉,所以用户端难以对服务端生成的信用评分进行验证。因此,在本申请一些实施例中,在服务端根据私钥对信用评分密文进行解密以生成信用评分之后,该信用评分生成方法还包括:服务端根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明;服务端将信用评分和第二零知识证明发送到用户端,其中,用户端在第二零知识证明满足第二预设条件的情况下确定信用评分为用户的信用评分。
其中,所述第二零知识证明是信用评分密文和解密后得到的信用评分之间的零知识证明。服务端可以根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明,并将生成的信用评分和第二零知识证明发送给用户端。在第二零知识证明符合第二预设条件的情况下,用户端可以证明服务端根据私钥对信用评分密文进行解密以得到信用评分的过程被正确执行,因此得到的信用评分结果是可信的,用户端将该信用评分确定为用户的信用评分。通过上述方式,服务端生成信用评分密文和信用评分之间的零知识证明并发送到用户端以供用户端进行验证,使得用户端可以对服务端进行的解密过程进行验证,在确定解密过程可信的情况下确定用户的信用评分,从而可以进一步提高信用评分计算的可信度和准确性。
进一步地,在本申请一些实施例中,服务端利用同态加密算法生成公钥和私钥,可以包括:按照如下公式计算公钥和私钥:
pk=N=p·q;
sk=λ=lcm(p-1,q-1);
其中,pk为公钥,sk为私钥,gcd(L((1+N)λmod N2),N)=1,p和q为随机大素数,lcm(·,·)为最小公倍数函数(例如,lcm(24,30)=120),用于求解两个整数的最小公倍数,gcd(·,·)为欧几里德函数,用于计算两个整数的最大公约数(例如,gcd(24,30)=6),L(·)为对于u∈Sn,L(u)=(u-1)/n,其中,Sn={u<n2|u≡1mod n},mod为模运算(例如,25mod 3=1)。其中,p和q的选取依赖于系统安全系数1n,其中n为大素数p和q的位数。通过上述方法,可以利用同态加密算法生成公钥和私钥。
进一步地,在本申请一些实施例中,服务端获取多项信用评分系数并根据公钥对多项信用评分系数进行加密以生成多项信用评分系数中各项信用评分系数的密文,可以包括:获取t个信用评分系数ki(i=1,...,t),其中,ki<N,t为大于等于1的整数;对于每个信用评分系数ki,按照以下公式计算信用评分系数ki的密文:
其中,Ci为信用评分系数ki的密文,i=1,...,t, 为集合{1,2,...,N}中与元素N互素的元素构成的集。其中t个信用评分系数ki(i=1,...,t)可以由业务人员人工输入或者预先存储在服务端。ri随机选取自通过上述方式,可以获取多项信用评分系数及其对应的密文。
进一步地,在本申请一些实施例中,信用评分密文是用户端根据多项信用评分系数的密文和用户的多项信用数据按照以下公式计算得到的:
其中,y为信用评分密文,mi(i=1,...,t)为用户的多项信用数据。
进一步地,在本申请一些实施例中,第一零知识证明是用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文按照以下公式计算得到的:
x1=(Ci,y,N);
π1=(R1,zi),
其中,(x1,π1)为第一零知识证明,zi=si+c1·ki,其中,si为小于N的随机数,c1=H(R1),H(·)为安全哈希函数,
进一步地,在本申请一些实施例中,第一预设条件为:
其中,c′1=片(R1)。服务端接收到第一零知识证明(x1,π1)后,计算c′1=H(R1),并确定第一零知识证明是否满足预设条件,即验证等式是否成立,在验证等式成立后,确定第一零知识证明满足第一预设成立。
进一步地,在本申请一些实施例中,服务端根据私钥对信用评分密文进行解密以生成信用评分,可以包括:按照以下公式计算信用评分:
在本申请一些实施例中,服务端根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明,可以包括:按照以下公式计算第二零知识证明:
x2=(m,y,N);
π2=(R2,z),
其中(x2,π2)为信用评分密文和信用评分间的第二零知识证明, 其中c2=H(R2),其中,为集合{1,2,...,N)中与元素N互素的元素构成的集,s′=s mod N,(-a,b)←extandGCD(λ,N),其中,s=y·(1+N)-mmod N2,extandGCD(·,·)为扩展欧几里德函数,用于求解(-a,b),满足-a2+bN=1,即,假如gcd(λ,N)=1,则可利用扩展欧几里得函数求得-aλ+bN=1。
进一步地,在本申请一些实施例中,用户端在第二零知识证明满足第二预设条件的情况下确定信用评分为用户的信用评分,可以包括:用户端验证等式 是否成立以确定第二零知识证明是否满足第二预设条件,其中,c′2=H(R2);在验证等式成立的情况下,用户端确定信用评分为用户的信用评分。其中,等式即为第二预设条件。用户端在接收到信用评分和第二零知识证明后,计算c′2=H(R2)并验证等式是否成立,在确定等式 成立的情况下,将接收到的信用评分确定为用户的最终信用评分。通过上述方式,使得用户端可以验证服务端计算操作的正确性,从而提高信用评分计算的可信度和准确性。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
如图2所述,示出了一种信用评分生成方法,可以包括以下步骤:
步骤1.服务端初始化:该算法利用同态加密方案生成信用评分系数密文数据的相关信息,由服务端执行。业务人员输入系统安全系数1n和t个信用评分系数ki(ki<N)(i=1,...,t),服务端输出公私钥对(pk,sk)和各系数的密文Ci=Encryptpk(ki)(i=1,2,...,t)。具体可以包括如下子步骤:
步骤1.1:随机选取大素数p,q,计算N=p·q,λ=lcm(p-1,q-1),满足gcd(L((1+N)λmod N2),N)=1,公钥为pk=N,私钥为sk=λ,p和q的位数为n。
步骤1.2:对于ki,随机选取计算 其中,i=1,...,t,Encrypt(·)为同态加密方案的加密算法。
步骤1.3:最终输出(pk=N,sk=λ,Ci(i=1,...,t))。
步骤2.信用数据嵌入:该算法由用户端执行,用于将用户的各项信用数据嵌入到对应的系数密文中并生成各项信用数据与最终合成的信用评分密文间的非交互式零知识证明。算法输入公钥pk=N、各系数密文Ci(i=1,2,...,t)和各项信用数据mi(i=1,2,...,t),输出合成的信用评分密文和非交互式零知识证明π1←P(x1,ω1),(x1=(C1,...,Ct,y,pk),ω1=(m1,…,mt)),P(·)为非交互式零知识证明生成算法。具体可以包括如下子步骤:
步骤2.1:计算信用评分密文
步骤2.2:随机选取si<N(i=1,...,t),计算
步骤2.3:接着计算c1=H(R1)和zi=si+c1·ki(i=1,...,t)。
步骤2.4:算法最终输出y和(x1=(Ci,y,N),π1=(R1,zi))(i=1,...,t)。
步骤3.信用评分析取:该算法由服务端执行,用于计算最终的信用评分及其与密文间的非交互式零知识证明。算法输入密文y、私钥sk=λ和非交互式零知识证明(x1=(C1,...,Ct,y,pk),π1),若V(x1,π1)=1(其中,V(·)为非交互式零知识证明验证算法),输出最终信用评分m=Decrytsk(y)和非交互式零知识证明π2←P(x2,ω2)(x2=(m,y,pk),ω2=(sk));否则,直接输出0表示服务端验证失败。具体可以包括如下子步骤:
步骤3.1:解析(x1=(Ci,y,N),π1=(R1,zi)),并计算c′=H(R1),然后验证等式是否成立,若不成立则服务端验证失败,否则进入步骤3.2。
步骤3.2:执行解密算法得到其中,Decrypt(·)为同态加密方案的解密算法。
步骤3.3:随机选取计算
步骤3.4:接着计算c2=H(R2),s=y·(1+N)-mmod N2,s′=s mod N,(-a,b)←extandGCD(λ,N),和其中,extandGCD(·,·)为扩展欧几里德函数,用于求解(-a,b),满足-aλ+bN=1。
步骤3.5:算法最终输出m和(x2=(m,y,N),π2=(R2,z))。
步骤4.信用评分验证:由用户端执行,用于验证信用评分计算的正确性。算法输入非交互式零知识证明(x2=(m,y,pk),π2),若V(PP,x2,π2)=1,则输出1说明该信用评分是密文y对应的正确明文,为用户的最终信用评分,否则输出0表示用户端验证失败。具体过程如下:首先解析(x2=(m,y,N),π2=(R,z)),并计算c′=H(R2),然后验证等式zN=R2·[y/(1+N)m]c′modN2是否成立,若成立则验证成功,该信用评分m是用户的最终信用评分,否则验证失败。
上述实施例中,服务端通过同态加密算法加密各项信用评分系数(权重),有效保护其隐私安全;用户端根据同态加密的密文可计算性,将各项信用数据嵌入到密文中,并提供零知识证明说明其计算过程的正确性;最后企业服务端通过解密得到最后的信用评分,通过计算零知识证明说明该评分是最后密文对应的结果。由于本申请的信用评分生成过程均在密文操作情况下完成,并且提供相应的零知识证明以证明其正确性执行,因此,本方案有效地保护了服务端的各项系数和用户端各项信用数据的隐私安全,并且提供了信用评分计算过程正确性可验证功能。该方法能够有效地解决现有计算方法的敏感数据泄露问题和计算不可信问题,可适应云计算和大数据等领域信用评分计算过程中用户的数据隐私保护与正确性可验证等服务需求。
基于同一发明构思,本申请实施例中还提供了一种信用评分生成装置,如下面的实施例所述。由于信用评分生成装置解决问题的原理与信用评分生成方法相似,因此信用评分生成装置的实施可以参见信用评分生成方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本申请实施例的信用评分生成装置的一种结构框图,如图3所示,可以包括:生成模块301、加密模块302、接收模块303和解密模块304,下面对该结构进行说明。
生成模块301,用于利用同态加密算法生成公钥和私钥;
加密模块302,用于获取多项信用评分系数并根据公钥对多项信用评分系数进行加密以生成多项信用评分系数中各项信用评分系数的密文,并将公钥和多项信用评分系数的密文发送至用户端;
接收模块303,用于接收用户端返回的信用评分密文和第一零知识证明,其中,信用评分密文是用户端根据多项信用评分系数的密文和用户的多项信用数据生成的,第一零知识证明是用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文生成的;
解密模块304,用于在第一零知识证明满足第一预设条件的情况下,根据私钥对信用评分密文进行解密以生成信用评分。
在本申请一些实施例中,该装置还可以包括发送模块,发送模块可以用于:在根据私钥对信用评分密文进行解密以生成信用评分之后,根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明;将信用评分和第二零知识证明发送到用户端,其中,用户端在第二零知识证明满足第二预设条件的情况下确定信用评分为用户的信用评分。
在本申请一些实施例中,生成模块可以具体用于:按照如下公式计算公钥和私钥:
pk=N=p·q;
sk=λ=lcm(p-1,q-1);
其中,pk为公钥,sk为私钥,gcd(L((1+N)λmod N2),N)=1,p和q为随机大素数,lcm(·,·)为最小公倍数函数,gcd(·,·)为欧几里德函数,L(·)为对于u∈Sn,L(u)=(u-1)/n,其中,Sn={u<n2|u≡1mod n},mod为模运算。
在本申请一些实施例中,加密模块可以具体用于:获取t个信用评分系数ki(i=1,...,t),其中,ki<N,t为大于等于1的整数;对于每个信用评分系数ki,按照以下公式计算信用评分系数ki的密文:
其中,Ci为信用评分系数ki的密文,i=1,...,t, 为集合{1,2,...,N}中与元素N互素的元素构成的集。
在本申请一些实施例中,信用评分密文是用户端根据多项信用评分系数的密文和用户的多项信用数据按照以下公式计算得到的:
其中,y为信用评分密文,mi(i=1,...,t)为用户的多项信用数据。
在本申请一些实施例中,第一零知识证明是用户端根据公钥、多项信用评分系数的密文、多项信用数据和信用评分密文按照以下公式计算得到的:
x1=(Ci,y,N);
π1=(R1,zi),
其中,(x1,π1)为第一零知识证明,zi=si+c1·ki,其中,si为小于N的随机数,c1=H(R1),H(·)为安全哈希函数。
在本申请一些实施例中,第一预设条件为:
其中,c′1=H(R1)。
在本申请一些实施例中,解密模块可以具体用于:按照以下公式计算信用评分:
在本申请一些实施例中,根据公钥、私钥、信用评分密文和信用评分生成第二零知识证明,可以包括:按照以下公式计算第二零知识证明:
x2=(m,y,N);
π2=(R2,z),
其中(x2,π2)为第二零知识证明,其中,c2=H(R2),其中,为集合{1,2,...,N}中与元素N互素的元素构成的集,s′=s mod N,(-a,b)←extandGCD(λ,N),其中,s=y·(1+N)-mmod N2,extandGCD(·,·)为扩展欧几里德函数,用于求解(-a,b),满足-aλ+bN=1。
在本申请一些实施例中,用户端在第二零知识证明满足第二预设条件的情况下确定信用评分为用户的信用评分,可以包括:用户端验证等式 是否成立以确定第二零知识证明是否满足第二预设条件,其中,c′2=H(R2);在验证等式或立的情况下,用户端确定信用评分为用户的信用评分。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:通过使用同态加密算法,由于同态加密算法允许对密文进行计算,并且对密文计算后的结果进行解密得到的明文与直接对明文操作的结果相匹配,因此将该算法应用到信用评分生成中,能够安全地将服务端的信用评分系数和用户端的信用数据链接在一起,可以实现企业端的信用评分系数和用户端的用户信用数据的隐私保护。此外,由于服务端在第一零知识证明满足第一预设条件的情况下才对接收到的信用评分密文进行解密以生成信用评分,即在确定用户端根据用户的多项信用数据和多项信用评分系数的密文生成信用评分密文的计算结果可信的情况下生成信用评分,因而可以提高信用评分计算结果的可信度和准确性。通过上述方案解决了现有的用户敏感数据泄露的技术问题,达到了有效地实现用户端用户信用数据的隐私保护以及提高信用评分计算结果的准确性的技术效果。
本申请实施方式还提供了一种计算机设备,具体可以参阅图4所示的基于本申请实施例提供的信用评分生成方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备41、处理器42、存储器43。其中,所述存储器43用于存储处理器可执行指令。所述处理器42执行所述指令时实现上述任意实施例中所述的信用评分生成方法的步骤。所述输入设备41具体可以用于输入系统安全系数和多项信用评分系数。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于信用评分生成方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述信用评分生成方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(RandomAccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(HardDiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的生成装置来实现,它们可以集中在单个的生成装置上,或者分布在多个生成装置所组成的网络上,可选地,它们可以用生成装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由生成装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种信用评分生成方法,其特征在于,包括:
服务端利用同态加密算法生成公钥和私钥;
所述服务端获取多项信用评分系数并根据所述公钥对所述多项信用评分系数进行加密以生成所述多项信用评分系数中各项信用评分系数的密文,并将所述公钥和多项信用评分系数的密文发送至用户端;
所述服务端接收所述用户端返回的信用评分密文和第一零知识证明,其中,所述信用评分密文是所述用户端根据所述多项信用评分系数的密文和用户的多项信用数据生成的,所述第一零知识证明是所述用户端根据所述公钥、所述多项信用评分系数的密文、所述多项信用数据和所述信用评分密文生成的;
在所述第一零知识证明满足第一预设条件的情况下,所述服务端根据所述私钥对所述信用评分密文进行解密以生成信用评分。
2.根据权利要求1所述的方法,其特征在于,在所述服务端根据所述私钥对所述信用评分密文进行解密以生成信用评分之后,还包括:
所述服务端根据所述公钥、所述私钥、所述信用评分密文和所述信用评分生成第二零知识证明;
所述服务端将所述信用评分和所述第二零知识证明发送到所述用户端,其中,所述用户端在所述第二零知识证明满足第二预设条件的情况下确定所述信用评分为所述用户的信用评分。
3.根据权利要求2所述的方法,其特征在于,所述服务端利用同态加密算法生成公钥和私钥,包括:
按照如下公式计算所述公钥和所述私钥:
pk=N=p·q;
sk=λ=lcm(p-1,q-1);
其中,pk为所述公钥,sk为所述私钥,gcd(L((1+N)λmod N2),N)=1,p和q为随机大素数,lcm(·,·)为最小公倍数函数,gcd(·,·)为欧几里德函数,L(·)为对于u∈Sn,L(u)=(u-1)/n,其中,Sn={u<n2|u≡1mod n},mod为模运算。
4.根据权利要求3所述的方法,其特征在于,所述服务端获取多项信用评分系数并根据所述公钥对所述多项信用评分系数进行加密以生成所述多项信用评分系数中各项信用评分系数的密文,包括:
获取t个信用评分系数ki,i=1,...,t,其中,ki<N,t为大于等于1的整数;
对于每个信用评分系数ki,按照以下公式计算信用评分系数ki的密文:
其中,Ci为信用评分系数ki的密文,i=1,...,t, 为集合{1,2,...,N}中与元素N互素的元素构成的集。
5.根据权利要求4所述的方法,其特征在于,所述信用评分密文是所述用户端根据所述多项信用评分系数的密文和用户的多项信用数据按照以下公式计算得到的:
其中,y为所述信用评分密文,i=1,...,t,mi为所述用户的多项信用数据。
6.根据权利要求5所述的方法,其特征在于,所述第一零知识证明是所述用户端根据所述公钥、所述多项信用评分系数的密文、所述多项信用数据和所述信用评分密文按照以下公式计算得到的:
x1=(Ci,y,N);
π1=(R1,zi),
其中,(x1,π1)为所述第一零知识证明,zi=si+c1·ki,其中,si为小于N的随机数,c1=H(R1),H(·)为安全哈希函数。
7.根据权利要求6所述的方法,其特征在于,所述第一预设条件为:
其中,c′1=H(R1)。
8.根据权利要求7所述的方法,其特征在于,所述服务端根据所述私钥对所述信用评分密文进行解密以生成信用评分,包括:
按照以下公式计算所述信用评分:
9.根据权利要求8所述的方法,其特征在于,所述服务端根据所述公钥、所述私钥、所述信用评分密文和所述信用评分生成第二零知识证明,包括:
按照以下公式计算所述第二零知识证明:
x2=(m,y,N);
π2=(R2,z),
其中(x2,π2)为所述第二零知识证明,其中,c2=H(R2),其中,为集合{1,2,...,N}中与元素N互素的元素构成的集,s′=s mod N,(-a,b)←extandGCD(λ,N),其中,s=y·(1+N)-mmod N2,extandGCD(·,·)为扩展欧几里德函数,用于求解(-a,b),满足-aλ+bN=1。
10.根据权利要求9所述的方法,其特征在于,所述用户端在所述第二零知识证明满足第二预设条件的情况下确定所述信用评分为所述用户的信用评分,包括:
所述用户端验证等式是否成立以确定所述第二零知识证明是否满足第二预设条件,其中,c′2=H(R2);
在验证等式成立的情况下,所述用户端确定所述信用评分为所述用户的信用评分。
11.一种信用评分生成装置,其特征在于,位于服务端,包括:
生成模块,用于利用同态加密算法生成公钥和私钥;
加密模块,用于获取多项信用评分系数并根据所述公钥对所述多项信用评分系数进行加密以生成所述多项信用评分系数中各项信用评分系数的密文,并将所述公钥和多项信用评分系数的密文发送至用户端;
接收模块,用于接收所述用户端返回的信用评分密文和第一零知识证明,其中,所述信用评分密文是所述用户端根据所述多项信用评分系数的密文和用户的多项信用数据生成的,所述第一零知识证明是所述用户端根据所述公钥、所述多项信用评分系数的密文、所述多项信用数据和所述信用评分密文生成的;
解密模块,用于在所述第一零知识证明满足第一预设条件的情况下,根据所述私钥对所述信用评分密文进行解密以生成信用评分。
12.一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至10中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910144529.3A CN109818752B (zh) | 2019-02-27 | 2019-02-27 | 信用评分生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910144529.3A CN109818752B (zh) | 2019-02-27 | 2019-02-27 | 信用评分生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109818752A true CN109818752A (zh) | 2019-05-28 |
CN109818752B CN109818752B (zh) | 2022-09-30 |
Family
ID=66607513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910144529.3A Active CN109818752B (zh) | 2019-02-27 | 2019-02-27 | 信用评分生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109818752B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378708A (zh) * | 2019-07-24 | 2019-10-25 | 核芯互联科技(青岛)有限公司 | 一种隐藏式资信证明方法、装置、系统及存储介质 |
CN110648244A (zh) * | 2019-09-05 | 2020-01-03 | 广州亚美信息科技有限公司 | 基于区块链的车险方案生成方法、装置和行车数据处理系统 |
CN111598681A (zh) * | 2020-04-30 | 2020-08-28 | 深圳前海星际同辉科技有限公司 | 信用评估方法、信用评估系统及可读存储介质 |
WO2021092973A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳前海微众银行股份有限公司 | 敏感信息处理方法、设备及可读存储介质 |
CN113965314A (zh) * | 2021-12-22 | 2022-01-21 | 深圳市洞见智慧科技有限公司 | 同态加密处理方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344640A (zh) * | 2018-12-20 | 2019-02-15 | 东北大学 | 一种基于同态加密和多项式计算的子图匹配方法 |
-
2019
- 2019-02-27 CN CN201910144529.3A patent/CN109818752B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344640A (zh) * | 2018-12-20 | 2019-02-15 | 东北大学 | 一种基于同态加密和多项式计算的子图匹配方法 |
Non-Patent Citations (1)
Title |
---|
BART GOETHALS 等: "On Private Scalar Product Computation for Privacy-Preserving Data Mining", 《IN PROC.7TH INT.CONF.INF.SECUR.CRYPTOLOGY》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378708A (zh) * | 2019-07-24 | 2019-10-25 | 核芯互联科技(青岛)有限公司 | 一种隐藏式资信证明方法、装置、系统及存储介质 |
CN110648244A (zh) * | 2019-09-05 | 2020-01-03 | 广州亚美信息科技有限公司 | 基于区块链的车险方案生成方法、装置和行车数据处理系统 |
WO2021092973A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳前海微众银行股份有限公司 | 敏感信息处理方法、设备及可读存储介质 |
CN111598681A (zh) * | 2020-04-30 | 2020-08-28 | 深圳前海星际同辉科技有限公司 | 信用评估方法、信用评估系统及可读存储介质 |
CN113965314A (zh) * | 2021-12-22 | 2022-01-21 | 深圳市洞见智慧科技有限公司 | 同态加密处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109818752B (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109818752B (zh) | 信用评分生成方法、装置、计算机设备和存储介质 | |
US10027654B2 (en) | Method for authenticating a client device to a server using a secret element | |
US11882218B2 (en) | Matching system, method, apparatus, and program | |
US9853816B2 (en) | Credential validation | |
EP3783831A1 (en) | Selectivity in privacy and verification with applications | |
US8661240B2 (en) | Joint encryption of data | |
JP4818264B2 (ja) | リスト署名を生成する方法及びシステム | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
CN109936456B (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
EP2792098B1 (en) | Group encryption methods and devices | |
CN103081398A (zh) | 用于保护密码资产免受白盒攻击的系统和方法 | |
JPWO2005071881A1 (ja) | ミックスネットシステム | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
JP7294431B2 (ja) | 情報照合システム、クライアント端末、サーバ、情報照合方法、及び情報照合プログラム | |
WO2019110399A1 (en) | Two-party signature device and method | |
CN112417489B (zh) | 数字签名的生成方法、装置和服务器 | |
US11856095B2 (en) | Apparatus and methods for validating user data by using cryptography | |
Andreevich et al. | On Using Mersenne Primes in Designing Cryptoschemes | |
Duc et al. | DiAE: Re-rolling the DiSE | |
Om et al. | RSA based remote password authentication using smart card | |
Yen et al. | A fair-exchange e-payment protocol for digital products with customer unlinkability | |
Lee et al. | Toward a secure single sign-on mechanism for distributed computer networks | |
CN109450625A (zh) | 大规模多项式扩展欧几里得算法的安全外包方法 | |
WO2011033642A1 (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: 20230316 Address after: 518061 room 304, block B, building 5, software industry base, Nanshan District, Shenzhen City, Guangdong Province Patentee after: JUZIX TECHNOLOGY (SHENZHEN) Co.,Ltd. Patentee after: WUHAN University Address before: 518061 room 304, block B, building 5, software industry base, Nanshan District, Shenzhen City, Guangdong Province Patentee before: JUZIX TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |