CN105450396B - 一种无证书的组合密钥产生及应用方法 - Google Patents

一种无证书的组合密钥产生及应用方法 Download PDF

Info

Publication number
CN105450396B
CN105450396B CN201610015382.4A CN201610015382A CN105450396B CN 105450396 B CN105450396 B CN 105450396B CN 201610015382 A CN201610015382 A CN 201610015382A CN 105450396 B CN105450396 B CN 105450396B
Authority
CN
China
Prior art keywords
key
individual
bit
private key
signature
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
CN201610015382.4A
Other languages
English (en)
Other versions
CN105450396A (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.)
Erdos Dimanson Cryptography Technology Co.,Ltd.
Original Assignee
Dimensiontech Co Ltd
Changsha Dimansen Information And 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 Dimensiontech Co Ltd, Changsha Dimansen Information And Technology Co Ltd filed Critical Dimensiontech Co Ltd
Priority to CN201610015382.4A priority Critical patent/CN105450396B/zh
Publication of CN105450396A publication Critical patent/CN105450396A/zh
Application granted granted Critical
Publication of CN105450396B publication Critical patent/CN105450396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种无证书的组合密钥产生及应用方法,包括如下步骤:S1.服务器端生成椭圆曲线和skm、pkm,并公布椭圆曲线的参数和pkm;S2.客户端生成ID、xID和PKuk,并把ID、PKuk上传至服务器端;S3.服务器端生成SKID和PKID,rID和PKrID;S4.服务器端生成PKE和SKE,PKS;S5.服务端将SKE下发至客户端,并广播ID、PKE和PKS;S6.客户端通过xID和SKE生成SKS,通过SKE解密加密信息,通过SKS签名验证信息;S7.一般客户端通过PKE加密解密信息,通过PKS验证签名信息。本发明解决了组合公钥技术的求和碰撞、线性共谋和个体签名的不可抵赖性等问题。

Description

一种无证书的组合密钥产生及应用方法
技术领域
本发明涉及信息安全组合密钥领域,尤其涉及一种无证书的组合密钥产生及应用方法。
背景技术
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。1984年密码学家Shamir提出标识密码系统。标识密码系统中,用户标识就是该用户的公钥。由于技术的局限,一直没有计算效率比较好的标识密码系统实现方案。
我国学者唐文、南相浩、陈钟2003年提出“基于椭圆曲线密钥系统的组合公钥技术”,其核心思想是:构造随机整数矩阵作为私钥种子矩阵;对应地计算出公钥种子矩阵;用映射算法完成用户标识与矩阵列指标的对应;分别用大整数加法和ECC点加计算出私钥和公钥。组合公钥技术给出了解决基于标识的公钥密码生成的一种优化方法,但是没有能解决线性共谋与求和碰撞问题,导致组合公钥技术不能大范围使用。
S.S.Al-Riyami,K.G.Paterson在2003年提出无证书公钥密码系统,该体系是在基于身份的公钥密码体制的基础上提出来的一种新型公钥密码体制,不需要使用公钥证书。
在无证书的公钥密码系统中,有一个可信的第三方密钥生成中心KGC(KeyGeneration Center),它拥有系统的主密钥(Master Key).KGC的作用是根据用户的身份和系统主密钥计算用户的部分私钥,并安全地传送给用户。在安全地收到自己的部分私钥后,用户再使用自己的部分私钥和自己随机选择的一个秘密值生成自己完整的私钥,公钥由自己的秘密值、身份和系统参数计算得出,并以可靠的方式公布。之后,就可以用自己的私钥进行解密和签名。在这样的系统中,KGC无法得知任何用户的私钥。从而,无证书密码体制有效克服了基于身份系统中的私钥托管问题。但是这样方案在加解密的司法取证方面遇到了困难。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种解决了组合公钥技术的碰撞和线性共谋问题,克服了标识密码体制的缺点的无证书的组合密钥产生及应用方法。
为解决上述技术问题,本发明提出的技术方案为:一种无证书的组合密钥产生及应用方法,包括如下步骤:
S1.服务器端生成椭圆曲线和2h×2k的私钥种子矩阵skm、2h×2k的公钥种子矩阵pkm,并公布所述椭圆曲线的参数和所述公钥种子矩阵pkm,所述椭圆曲线的参数包括椭圆曲线基点G;
S2.客户端生成个体标识ID、部分签名私钥xID和部分签名公钥PKuk,并把个体标识ID、部分签名公钥PKuk上传至服务器端;
S3.服务器端生成个体标识私钥SKID和个体标识公钥PKID,并生成服务器端随机私钥rID和服务器端随机公钥PKrID
S4.服务器端根据所述个体标识私钥SKID、个体标识公钥PKID、服务器端随机私钥rID和服务器端随机公钥PKrID生成个体加密公钥PKE和个体解密私钥SKE,并生成个体验签名公钥PKS;
S5.服务端将所述个体解密私钥SKE通过安全渠道下发至客户端,并广播个体标识ID、个体加密公钥PKE和个体验签名公钥PKS;
S6.客户端通过所述部分签名私钥xID和个体解密私钥SKE生成个体签名私钥SKS,通过个体解密私钥SKE解密加密信息,通过个体签名私钥SKS签名验证信息;
S7.一般客户端通过个体加密公钥PKE加密解密信息,通过个体验签名公钥PKS验证签名信息。
作为本发明的进一步改进,所述私钥种子矩阵skm中任意两元素的值均不相同,所述公钥种子矩阵pkm中任意两元素的值均不相同。
作为本发明的进一步改进,所述步骤S1中服务器端生成私钥种子矩阵skm的方法包括:以m个比特位的二进制整数表示所述私钥种子矩阵中的每一个元素,并将每个元素按比特位从低至高依次划分为占Lr个比特位的低位随机区、占h个比特位的低位常值区、占2h×k个比特位的中位构造区和占h+2个比特位的高位常值区,其中Lr>2h×k+2h;所述低位随机区中各比特位随机填充,所述低位常值区中各比特位均为0;所述高位常值区中各比特位均为0;构造所述中位构造区使得所述私钥种子矩阵skm中任意两个元素的中位构造区的二进制值均不相同;
所述步骤S1中服务器端生成公钥种子矩阵的方法包括:将所述椭圆曲线基点G与所述私钥种子矩阵skm中的每个元素相乘,得到所述公钥种子矩阵pkm。
作为本发明的进一步改进,构造所述中位构造区使得所述私钥种子矩阵skm中任意两个元素的中位构造区的二进制值均不相同的步骤包括:
S1.1.对于所述私钥种子矩阵skm中的第i(i=1,2,...,2h)行,该行每个元素的中位构造区从低位至高位的第k×(i-1)+1位至第k×i位随机填充占k个比特位的不重复的二进制数;所述每个元素的中位构造区的其它比特位均填充0;
S1.2.对所述私钥种子矩阵skm中的第i(i=1,2,...,2h)行,生成一个占2h×k个比特位随机二进制数,所述私钥种子矩阵skm的第i(i=1,2,...,2h)行中的每个元素中位构造区的二进制数与所述随机二进制数相加,得到增加随机数后的私钥种子矩阵skm的第i(i=1,2,...,2h)行。
作为本发明的进一步改进,所述步骤S2中,所述个体标识ID包括:根据个体标识的管理规则,用于唯一确定客户端身份的标识;
所述生成部分签名私钥xID的具体步骤包括:所述客户端生成具有m个比特位的部分签名私钥xID,所述部分签名私钥xID包括Lr个比特位的签名私钥随机区,m-Lr-2个比特位的签名私钥常值区和2个比特位的签名私钥高位区;所述签名私钥随机区中各比特位随机取值,所述签名私钥常值区各比特位均取0,所述签名私钥高位区取值为11或10或01;
所述生成部分签名公钥PKuk的具体步骤包括:将所述部分签名私钥xID乘以所述椭圆曲线基点G得到部分签名公钥PKuk
作为本发明的进一步改进,所述步骤S3中,所述服务器端生成个体标识私钥SKID和个体标识公钥PKID的具体步骤S3.1包括:
S3.1.1.服务器端通过Hash函数计算得到占2h×k个比特位的个体标识ID的Hash值;
S3.1.2.将所述个体标识ID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S3.1.3.以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述私钥种子矩阵skm中选择具有所述行号和列号的元素相加做和得到所述个体标识私钥SKID
S3.1.4.依次从所述公钥种子矩阵pkm中选择具有所述行号和列号的元素相加做和得到所述个体标识公钥PKID
所述生成服务器端随机私钥rID和服务器端随机公钥PKrID的具体步骤S3.2包括:
S3.2.1.服务器端根据所述个体标识ID构造新个体标识eID,所述新个体标识eID的构造方法如式(1)所示:
eID=ID||申请日期||有效日期 (1)
其中运算“||”是指比特串的拼接;
S3.2.2.服务器端通过Hash函数计算得到占2h×k个比特位的新个体标识eID的Hash值;
S3.2.3.将所述个体标识eID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S3.2.4.以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述私钥种子矩阵skm中选择具有所述行号和列号的元素相加做和得到新个体标识SKeID
S3.2.5.把新个体标识SKeID当做标识,服务器端通过Hash函数计算得到占2h×k个比特位的新个体标识SKeID的Hash值;
S3.2.6.将所述个体标识SKeID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S3.2.7.以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述私钥种子矩阵skm中选择具有所述行号和列号的元素相加做和得到整数SK;
S3.2.8.在所述整数SK中选取中位区、往左依次连续选取高位区h个比特、往右依次连续选取低位上Lr-2h×k-h个比特位,得到占Lr个比特位的整数,作为服务器端随机私钥rID;
S3.2.9.将所述服务器端随机私钥rID乘以所述椭圆曲线基点G得到所述服务器端随机公钥PKrID
作为本发明的进一步改进,所述步骤S4中生成个体加密公钥PKE的步骤如式(2)所示:
PKE=PKID+PKrID (2)
生成个体解密私钥SKE的步骤如式(3)所示:
SKE=SKID+rID (3)
所述生成个体验签名公钥PKS的步骤如式(4)所示:
PKS=PKuk+PKE=PKuk+PKID+PKrID (4)。
作为本发明的进一步改进,所述步骤S5的具体步骤包括:
S5.1.所述服务端根据所述部分签名公钥PKuk对所述个体解密私钥SKE进行加密,得到PKuk[SKE];并根据所述个体标识私钥SKID对所述个体加密公钥PKE和所述个体验签名公钥PKS进行签名,得到SKID[PKE]和SKID[PKS];
S5.2.服务器端将PKuk[SKE],ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS]通过安全渠道下发至客户端;
S5.3.服务端将ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS]通过广播渠道进行广播。
作为本发明的进一步改进,所述步骤S6的具体步骤包括:客户端获取服务器端通过安全渠道下发的PKuk[SKE],ID||PKE||SKID[PKE]||和ID||PKS||SKID[PKS],通过所述部分签名私钥xID解密PKuk[SKE],得到个体解密私钥SKE;
所述生成个体签名私钥SKS的步骤如式(5)所示:
SKS=xID+SKE=xID+SKID+rID (5)。
作为本发明的进一步改进,所述步骤S7的具体步骤包括:
S7.1.所述一般客户端获取服务器端广播的ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS],建立自己的通讯录,并获取服务器端广播的公钥种子矩阵pkm;
S7.2.所述一般客户端通过Hash函数计算得到占2h×k个比特位的个体标识ID的Hash值;
S7.3.所述一般客户端将所述个体标识ID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S7.4.所述一般客户端以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述公钥种子矩阵pkm中选择具有所述行号和列号的元素相加做和得到所述个体标识公钥PKID
S7.5.所述一般客户端用所述个体标识公钥PKID验证SKID[PKE]和SKID[PKS],得到个体加密公钥PKE和个体验签名公钥PKS,一般客户端通过个体加密公钥PKE进行加密,通过个体验签名公钥PKS验证签名。
与现有技术相比,本发明的优点在于:
1、本发明私钥种子矩阵skm和公钥种子矩阵pkm中每一行任取一个元素,只要对应的列指标不完全相同,其和一定不相同,从而解决了组合公钥的求和碰撞问题。
2、本发明所生成的个体签名私钥SKS采用如式(5)所示的三部分合成,解决了个体签名的不可抵赖性,保证了该个体签名私钥SKS具有标识性。
3、本发明采用个体私钥加入随机数的办法,解决了组合公钥的线性共谋问题和基于标识的公钥体系的公私钥对的更新问题。
4、本发明给出了个体加密公钥PKE和个体验签公钥PKS的数据格式,解决了用户的离线应用问题。
附图说明
图1为本发明的流程图。
图2为本发明私钥种子矩阵skm的产生流程图。
图3为本发明私钥种子矩阵skm中各元素二进制整数区块划分示意图。
图4为本发明部分签名私钥二进制整数区块划分示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例一种无证书的组合密钥产生及应用方法,包括如下步骤:S1.服务器端生成椭圆曲线和2h×2k的私钥种子矩阵skm、2h×2k的公钥种子矩阵pkm,并公布椭圆曲线的参数和公钥种子矩阵pkm,椭圆曲线的参数包括椭圆曲线基点G;S2.客户端生成个体标识ID、部分签名私钥xID和部分签名公钥PKuk,并把个体标识ID、部分签名公钥PKuk上传至服务器端;S3.服务器端生成个体标识私钥SKID和个体标识公钥PKID,并生成服务器端随机私钥rID和服务器端随机公钥PKrID;S4.服务器端根据个体标识私钥SKID、个体标识公钥PKID、服务器端随机私钥rID和服务器端随机公钥PKrID生成个体加密公钥PKE和个体解密私钥SKE,并生成个体验签名公钥PKS;S5.服务端将个体解密私钥SKE通过安全渠道下发至客户端,并广播个体标识ID、个体加密公钥PKE和个体验签名公钥PKS;S6.客户端通过部分签名私钥xID和个体解密私钥SKE生成个体签名私钥SKS,通过个体解密私钥SKE解密加密信息,通过个体签名私钥SKS签名验证信息;S7.一般客户端通过个体加密公钥PKE加密解密信息,通过个体验签名公钥PKS验证签名信息。私钥种子矩阵skm中任意两元素的值均不相同,公钥种子矩阵pkm中任意两元素的值均不相同。
如图2所示,在本实施例中,步骤S1中服务器端生成私钥种子矩阵skm的方法为:以m个比特位的二进制整数表示私钥种子矩阵中的每一个元素,并将每个元素按比特位从低至高依次划分为占Lr个比特位的低位随机区、占h个比特位的低位常值区、占2h×k个比特位的中位构造区和占h+2个比特位的高位常值区,其中Lr>2h×k+2h;低位随机区中各比特位随机填充,低位常值区中各比特位均为0;高位常值区中各比特位均为0;构造中位构造区使得私钥种子矩阵skm中任意两个元素的中位构造区的二进制值均不相同;步骤S1中服务器端生成公钥种子矩阵的方法包括:将椭圆曲线基点G与私钥种子矩阵skm中的每个元素相乘,得到公钥种子矩阵pkm。如图3所示,在本实施例中,为了保证算法具有较高的安全系数,低位随机区的比特位数Lr>max{160,2h×k+2h},低位常值区的比特位数为h,高位常值区的比特位数h+2,因此,私钥种子矩阵skm和公钥种子矩阵pkm中的每个元素的比特位数m>162+2×h+2h×k,根据m的取值,确定私钥种子矩阵skm和公钥种子矩阵pkm的阶数,即确定h和k的取值。
在本实施例中,构造中位构造区使得私钥种子矩阵skm中任意两个元素的中位构造区的二进制值均不相同的步骤为:S1.1.对于私钥种子矩阵skm中的第i(i=1,2,...,2h)行,该行每个元素的中位构造区从低位至高位的第k×(i-1)+1位至第k×i位随机填充占k个比特位的不重复的二进制数;每个元素的中位构造区的其它比特位均填充0。该实施例中占k个比特位的不重复的二进制数为整数0至2k-1中的一个,且该整数在该行中只使用一次。如k为8,整数3的8位二进制数表示为00000011。S1.2.对私钥种子矩阵skm中的第i(i=1,2,...,2h)行,生成一个占2h×k个比特位随机二进制数,私钥种子矩阵skm的第i(i=1,2,...,2h)行中的每个元素中位构造区的二进制数与随机二进制数相加,得到增加随机数后的私钥种子矩阵skm的第i(i=1,2,...,2h)行。通过本实施例的私钥种子矩阵skm和公钥种子矩阵pkm的构造方法,能够保证在私钥种子矩阵skm和公钥种子矩阵pkm中每一行任取一个元素,只要对应的列指标不完全相同,其和一定不相同,从而解决了组合公钥的求和碰撞问题。
在本实施例步骤S2中,步骤S2中,个体标识ID为根据个体标识的管理规则,用于唯一确定客户端身份的标识。可以是诸如“单位”、“姓名”、“身份证号码”、“手机号码”、“邮箱号”等信息,并确定一定的信息组合模式,通过该信息以组合模式即可以生成可以唯一确定客户端身份的标识,即个体标识ID。如图4所示,生成部分签名私钥xID的具体步骤为:客户端生成具有m个比特位的部分签名私钥xID,部分签名私钥xID包括Lr个比特位的签名私钥随机区,m-Lr-2个比特位的签名私钥常值区和2个比特位的签名私钥高位区;签名私钥随机区中各比特位随机取值,签名私钥常值区各比特位均取0,签名私钥高位区取值为11或10或01。部分签名私钥xID的长度与私钥种子矩阵skm中元素的长度相同,签名私钥随机区的长度与私钥种子矩阵skm中元素的你们随机区的长度相同。生成部分签名公钥PKuk的具体步骤为:将部分签名私钥xID乘以椭圆曲线基点G得到部分签名公钥PKuk。客户端将生成的部分签名私钥xID保密存储在客户端中,并将部分签名公钥PKuk、个体标识ID等信息通过安全渠道上传到服务器端。
在本实施例中,步骤S3中,服务器端生成个体标识私钥SKID和个体标识公钥PKID的具体步骤为:S3.1.1.服务器端通过Hash函数计算得到占2h×k个比特位的个体标识ID的Hash值;S3.1.2.将个体标识ID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;S3.1.3.以区间号为行号,以区间所代表的二进制整数为列号,依次从私钥种子矩阵skm中选择具有行号和列号的元素相加做和得到个体标识私钥SKID;S3.1.4.依次从公钥种子矩阵pkm中选择具有行号和列号的元素相加做和得到个体标识公钥PKID。生成服务器端随机私钥rID和服务器端随机公钥PKrID的具体步骤为:S3.2.1.服务器端根据个体标识ID构造新个体标识eID,新个体标识eID的构造方法如式(1)所示:
eID=ID||申请日期||有效日期 (1)
其中运算“||”是指比特串的拼接;在本实施例中,采用申请日期和有效日期作为随机数生成新个体标识,当然也可以采用其它类型的与ID相关的新个体标识;S3.2.2.服务器端通过Hash函数计算得到占2h×k个比特位的新个体标识eID的Hash值;S3.2.3.将个体标识eID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;S3.2.4.以区间号为行号,以区间所代表的二进制整数为列号,依次从私钥种子矩阵skm中选择具有行号和列号的元素相加做和得到新个体标识SKeID;S3.2.5.把新个体标识SKeID当做标识,服务器端通过Hash函数计算得到占2h×k个比特位的新个体标识SKeID的Hash值;S3.2.6.将个体标识SKeID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;S3.2.7.以区间号为行号,以区间所代表的二进制整数为列号,依次从私钥种子矩阵skm中选择具有行号和列号的元素相加做和得到整数SK;S3.2.8.在整数SK中选取中位区、往左依次连续选取高位区h个比特、往右依次连续选取低位上Lr-2h×k-h个比特位,得到占Lr个比特位的整数,作为服务器端随机私钥rID;S3.2.9.将服务器端随机私钥rID乘以椭圆曲线基点G得到服务器端随机公钥PKrID
步骤S4中生成个体加密公钥PKE的步骤如式(2)所示:
PKE=PKID+PKrID (2)
生成个体解密私钥SKE的步骤如式(3)所示:
SKE=SKID+rID (3)
生成个体验签名公钥PKS的步骤如式(4)所示:
PKS=PKuk+PKE=PKuk+PKID+PKrID (4)。
在本实施例中,步骤S5的具体步骤为:S5.1.服务端根据部分签名公钥PKuk对个体解密私钥SKE进行加密,得到PKuk[SKE];并根据个体标识私钥SKID对个体加密公钥PKE和个体验签名公钥PKS进行签名,得到SKID[PKE]和SKID[PKS];S5.2.服务器端将PKuk[SKE],ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS]通过安全渠道下发至客户端;S5.3.服务端将ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS]通过广播渠道进行广播。
在本实施例中,步骤S6的具体步骤包括:客户端获取服务器端通过安全渠道下发的PKuk[SKE],ID||PKE||SKID[PKE]||和ID||PKS||SKID[PKS],通过部分签名私钥xID解密PKuk[SKE],得到个体解密私钥SKE;生成个体签名私钥SKS的步骤如式(5)所示:
SKS=xID+SKE=xID+SKID+rID (5)。
在本实施例中,步骤S7的具体步骤为:S7.1.一般客户端获取服务器端广播的ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS],建立自己的通讯录,并获取服务器端广播的公钥种子矩阵pkm;S7.2.一般客户端通过Hash函数计算得到占2h×k个比特位的个体标识ID的Hash值;S7.3.一般客户端将个体标识ID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;S7.4.一般客户端以区间号为行号,以区间所代表的二进制整数为列号,依次从公钥种子矩阵pkm中选择具有行号和列号的元素相加做和得到个体标识公钥PKID;S7.5.一般客户端用个体标识公钥PKID验证SKID[PKE]和SKID[PKS],得到个体加密公钥PKE和个体验签名公钥PKS,一般客户端通过个体加密公钥PKE进行加密,通过个体验签名公钥PKS验证签名。
本实施例对给定的个体标识ID,可以生成个体加密公钥PKE和个体解密私钥SKE,个体验签名公钥PKS和个体签名私钥SKS;对于不同的个体标识ID,对应的解密私钥对和签名私钥对均不相同;对于同一个个体标识ID,其加解密私钥对与签名私钥也不相同。解决了组合公钥的碰撞问题。
本实施例所生成的个体签名私钥SKS采用如式(5)所示的三部分合成,解决了个体签名的不可抵赖性,同时保证了个体签名私钥SKS具有标识性。
在本实施例中,通过如式(1)所示的方法构造新个体标识eID,构造了一个随机数,解决了基于标识的公钥体系的公私钥对的更新问题;解决了组合公钥的线性共谋问题;该随机数是通过计算得出的,不需要保存,同时解决了加解密的司法取证问题。
在本实施例中,服务端将数据格式“ID||PKE||SKID[PKE]”和“ID||PKS||SKID[PKS]”下发到客户端,同时通过广播渠道进行广播;一般客户端可以从客户端处获得含标识的数据格式,也可以从广播渠道获得包括客户端个体标识ID的数据格式,建立自己的通讯录;一般客户端可以利用自己的通讯录做离线应用。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (7)

1.一种无证书的组合密钥产生及应用方法,其特征在于,包括如下步骤:
S1.服务器端生成椭圆曲线和2h×2k的私钥种子矩阵skm、2h×2k的公钥种子矩阵pkm,并公布所述椭圆曲线的参数和所述公钥种子矩阵pkm,所述椭圆曲线的参数包括椭圆曲线基点G;
S2.客户端生成个体标识ID、部分签名私钥xID和部分签名公钥PKuk,并把个体标识ID、部分签名公钥PKuk上传至服务器端;
S3.服务器端生成个体标识私钥SKID和个体标识公钥PKID,并生成服务器端随机私钥rID和服务器端随机公钥PKrID
S4.服务器端根据所述个体标识私钥SKID、个体标识公钥PKID、服务器端随机私钥rID和服务器端随机公钥PKrID生成个体加密公钥PKE和个体解密私钥SKE,并生成个体验签名公钥PKS;
S5.服务端将所述个体解密私钥SKE通过安全渠道下发至客户端,并广播个体标识ID、个体加密公钥PKE和个体验签名公钥PKS;
S6.客户端通过所述部分签名私钥xID和个体解密私钥SKE生成个体签名私钥SKS,通过个体解密私钥SKE解密加密信息,通过个体签名私钥SKS签名验证信息;
S7.一般客户端通过个体加密公钥PKE加密解密信息,通过个体验签名公钥PKS验证签名信息;所述一般客户端为相对于具有所述个体标识ID的客户端外的其它客户端;
所述步骤S1中服务器端生成私钥种子矩阵skm的方法包括:以m个比特位的二进制整数表示所述私钥种子矩阵中的每一个元素,并将每个元素按比特位从低至高依次划分为占Lr个比特位的低位随机区、占h个比特位的低位常值区、占2h×k个比特位的中位构造区和占h+2个比特位的高位常值区,其中Lr>2h×k+2h;所述低位随机区中各比特位随机填充,所述低位常值区中各比特位均为0;所述高位常值区中各比特位均为0;构造所述中位构造区的步骤包括:
S1.1.对于所述私钥种子矩阵skm中的第i(i=1,2,...,2h)行,该行每个元素的中位构造区从低位至高位的第k×(i-1)+1位至第k×i位随机填充占k个比特位的不重复的二进制数;所述每个元素的中位构造区的其它比特位均填充0;
S1.2.对所述私钥种子矩阵skm中的第i(i=1,2,...,2h)行,生成一个占2h×k个比特位随机二进制数,所述私钥种子矩阵skm的第i(i=1,2,...,2h)行中的每个元素中位构造区的二进制数与所述随机二进制数相加,得到增加随机数后的私钥种子矩阵skm的第i(i=1,2,...,2h)行;
所述步骤S1中服务器端生成公钥种子矩阵的方法包括:将所述椭圆曲线基点G与所述私钥种子矩阵skm中的每个元素相乘,得到所述公钥种子矩阵pkm。
2.根据权利要求1所述的无证书的组合密钥产生及应用方法,其特征在于,所述步骤S2中,所述个体标识ID包括:根据个体标识的管理规则,用于唯一确定客户端身份的标识;
所述生成部分签名私钥xID的具体步骤包括:所述客户端生成具有m个比特位的部分签名私钥xID,所述部分签名私钥xID包括Lr个比特位的签名私钥随机区,m-Lr-2个比特位的签名私钥常值区和2个比特位的签名私钥高位区;所述签名私钥随机区中各比特位随机取值,所述签名私钥常值区各比特位均取0,所述签名私钥高位区取值为11或10或01;
所述生成部分签名公钥PKuk的具体步骤包括:将所述部分签名私钥xID乘以所述椭圆曲线基点G得到部分签名公钥PKuk
3.根据权利要求2所述的无证书的组合密钥产生及应用方法,其特征在于,所述步骤S3中,所述服务器端生成个体标识私钥SKID和个体标识公钥PKID的具体步骤S3.1包括:
S3.1.1.服务器端通过Hash函数计算得到占2h×k个比特位的个体标识ID的Hash值;
S3.1.2.将所述个体标识ID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S3.1.3.以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述私钥种子矩阵skm中选择具有所述行号和列号的元素相加做和得到所述个体标识私钥SKID
S3.1.4.依次从所述公钥种子矩阵pkm中选择具有所述行号和列号的元素相加做和得到所述个体标识公钥PKID
所述生成服务器端随机私钥rID和服务器端随机公钥PKrID的具体步骤S3.2包括:
S3.2.1.服务器端根据所述个体标识ID构造新个体标识eID,所述新个体标识eID的构造方法如式(1)所示:
eID=ID||申请日期||有效日期 (1)
其中运算“||”是指比特串的拼接;
S3.2.2.服务器端通过Hash函数计算得到占2h×k个比特位的新个体标识eID的Hash值;
S3.2.3.将所述个体标识eID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S3.2.4.以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述私钥种子矩阵skm中选择具有所述行号和列号的元素相加做和得到新个体标识SKeID
S3.2.5.把新个体标识SKeID当做标识,服务器端通过Hash函数计算得到占2h×k个比特位的新个体标识SKeID的Hash值;
S3.2.6.将所述个体标识SKeID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S3.2.7.以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述私钥种子矩阵skm中选择具有所述行号和列号的元素相加做和得到整数SK;
S3.2.8.在所述整数SK中选取中位区、往左依次连续选取高位区h个比特,往右依次连续选取低位上Lr-2h×k-h个比特位,得到占Lr个比特位的整数,作为服务器端随机私钥rID;
S3.2.9.将所述服务器端随机私钥rID乘以所述椭圆曲线基点G得到所述服务器端随机公钥PKrID
4.根据权利要求3所述的无证书的组合密钥产生及应用方法,其特征在于,所述步骤S4中生成个体加密公钥PKE的步骤如式(2)所示:
PKE=PKID+PKrID (2)
生成个体解密私钥SKE的步骤如式(3)所示:
SKE=SKID+rID (3)
所述生成个体验签名公钥PKS的步骤如式(4)所示:
PKS=PKuk+PKE=PKuk+PKID+PKrID (4)。
5.根据权利要求4所述的无证书的组合密钥产生及应用方法,其特征在于,所述步骤S5的具体步骤包括:
S5.1.所述服务端根据所述部分签名公钥PKuk对所述个体解密私钥SKE进行加密,得到PKuk[SKE];并根据所述个体标识私钥SKID对所述个体加密公钥PKE和所述个体验签名公钥PKS进行签名,得到SKID[PKE]和SKID[PKS];
S5.2.服务器端将PKuk[SKE],ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS]通过安全渠道下发至客户端,其中运算“||”是指比特串的拼接;
S5.3.服务端将ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS]通过广播渠道进行广播,其中运算“||”是指比特串的拼接。
6.根据权利要求5所述的无证书的组合密钥产生及应用方法,其特征在于,所述步骤S6的具体步骤包括:客户端获取服务器端通过安全渠道下发的PKuk[SKE],ID||PKE||SKID[PKE]||和ID||PKS||SKID[PKS],通过所述部分签名私钥xID解密PKuk[SKE],得到个体解密私钥SKE,其中运算“||”是指比特串的拼接;
所述生成个体签名私钥SKS的步骤如式(5)所示:
SKS=xID+SKE=xID+SKID+rID (5)。
7.根据权利要求6所述的无证书的组合密钥产生及应用方法,其特征在于,所述步骤S7的具体步骤包括:
S7.1.所述一般客户端获取服务器端广播的ID||PKE||SKID[PKE]和ID||PKS||SKID[PKS],建立自己的通讯录,并获取服务器端广播的公钥种子矩阵pkm,其中运算“||”是指比特串的拼接;
S7.2.所述一般客户端通过Hash函数计算得到占2h×k个比特位的个体标识ID的Hash值;
S7.3.所述一般客户端将所述个体标识ID的Hash值按比特位从低位至高位划分为区间号为1至2h的2h个占k个比特位的区间,每个区间代表一个二进制整数;
S7.4.所述一般客户端以所述区间号为行号,以所述区间所代表的二进制整数为列号,依次从所述公钥种子矩阵pkm中选择具有所述行号和列号的元素相加做和得到所述个体标识公钥PKID
S7.5.所述一般客户端用所述个体标识公钥PKID验证SKID[PKE]和SKID[PKS],得到个体加密公钥PKE和个体验签名公钥PKS,一般客户端通过个体加密公钥PKE进行加密,通过个体验签名公钥PKS验证签名。
CN201610015382.4A 2016-01-11 2016-01-11 一种无证书的组合密钥产生及应用方法 Active CN105450396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610015382.4A CN105450396B (zh) 2016-01-11 2016-01-11 一种无证书的组合密钥产生及应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610015382.4A CN105450396B (zh) 2016-01-11 2016-01-11 一种无证书的组合密钥产生及应用方法

Publications (2)

Publication Number Publication Date
CN105450396A CN105450396A (zh) 2016-03-30
CN105450396B true CN105450396B (zh) 2017-03-29

Family

ID=55560217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610015382.4A Active CN105450396B (zh) 2016-01-11 2016-01-11 一种无证书的组合密钥产生及应用方法

Country Status (1)

Country Link
CN (1) CN105450396B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790941B (zh) * 2016-04-22 2019-08-16 北京迪曼森科技有限公司 一种基于标识的具有域划分的组合密钥生成及认证方法
CN107302436A (zh) * 2017-07-28 2017-10-27 北京迪曼森科技有限公司 一种usb接口标识密码钥匙
CN107395364B (zh) * 2017-08-01 2021-02-02 北京迪曼森科技有限公司 一种基于标识的组合密钥跨域认证方法
CN107566127B (zh) * 2017-09-30 2020-12-01 北京迪曼森科技有限公司 一种iki可信数字标识的生成方法及使用方法
CN108650080B (zh) * 2018-03-27 2019-11-19 北京迪曼森科技有限公司 一种标识密钥管理方法和系统
CN108900311B (zh) * 2018-08-15 2021-04-27 江苏恒宝智能系统技术有限公司 一种无证书蓝牙key签名方法及系统
CN109257181B (zh) * 2018-10-17 2019-10-29 西安邮电大学 无证书环境下椭圆曲线盲签密方法
CN109327310B (zh) * 2018-11-30 2021-07-13 江苏恒宝智能系统技术有限公司 一种基于无证书的链路保护方法
CN110635912B (zh) * 2019-08-20 2022-07-15 北京思源理想控股集团有限公司 数据处理方法及装置
CN111988147B (zh) * 2020-08-20 2022-06-03 上海万向区块链股份公司 组合签名及验证签名方法、系统及存储介质
CN114374523B (zh) * 2022-03-23 2022-05-31 南京易科腾信息技术有限公司 签名验签方法、装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0215524D0 (en) * 2002-07-05 2002-08-14 Hewlett Packard Co Method and apparatus for generating a cryptographic key
CN101420300B (zh) * 2008-05-28 2013-05-29 北京易恒信认证科技有限公司 双因子组合公钥生成和认证方法
CN101359991A (zh) * 2008-09-12 2009-02-04 湖北电力信息通信中心 基于标识的公钥密码体制私钥托管系统
CN104796260B (zh) * 2015-04-03 2018-03-02 北京航空航天大学 一种满足前向安全的短密文身份基加密方法

Also Published As

Publication number Publication date
CN105450396A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN105450396B (zh) 一种无证书的组合密钥产生及应用方法
CN105790941B (zh) 一种基于标识的具有域划分的组合密钥生成及认证方法
CN109584978B (zh) 基于签名聚合医疗健康监控网络模型信息处理方法及系统
Wang et al. Threshold signature schemes with traceable signers in group communications
CN103490901B (zh) 基于组合密钥体系的密钥生成和发放方法
US9705683B2 (en) Verifiable implicit certificates
EP2120227A1 (en) Cryptogram generating device, cryptogram communication system, and group parameter generating device
CN107733648A (zh) 一种基于身份的rsa数字签名生成方法及系统
CN107707358A (zh) 一种ec‑kcdsa数字签名生成方法及系统
EP2302834A2 (en) System and method for providing credentials
CN110601859B (zh) 一种基于25519椭圆曲线的无证书公钥密码签名方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN106603246A (zh) 一种sm2数字签名分割生成方法及系统
CN101873214A (zh) 广播加密中用于密钥生成、加密和解密的方法、设备
CN101465725A (zh) 一种基于身份的公钥系统的密钥分配方法
CN104821880A (zh) 一种无证书广义代理签密方法
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
CN107566127B (zh) 一种iki可信数字标识的生成方法及使用方法
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN113162751B (zh) 具备加同态性的加密方法、系统及可读存储介质
CN103297230B (zh) 信息加解密方法、装置及系统
CN110784314A (zh) 无证书的加密信息处理方法
CN108933659B (zh) 一种智能电网的身份验证系统及验证方法
CN104734847A (zh) 面向公钥密码应用的共享对称密钥数据加密和解密方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20180509

Address after: 100102 unit 402, 1 building, No. 5, Lai Guang Ying Road, Wangjing Cheng Ying Center, Chaoyang District, Beijing.

Patentee after: BEIJING DIMANSEN TECHNOLOGY Co.,Ltd.

Address before: 410000 Hunan Lugu information 13001-1301, 658 lugao Road, Changsha high tech Development Zone, Changsha, Hunan

Co-patentee before: DIMENSIONTECH Co.,Ltd.

Patentee before: CHANGSHA DIMANSEN INFORMATION AND TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221104

Address after: 017010 No. 1, No. 4, Dongwei Second Road North, Ordos, Inner Mongolia Autonomous Region (the fifth floor of the original Huatai Automobile Factory office building)

Patentee after: Erdos Dimanson Cryptography Technology Co.,Ltd.

Address before: 100102 unit 402, 1 building, No. 5, Lai Guang Ying Road, Wangjing Cheng Ying Center, Chaoyang District, Beijing.

Patentee before: BEIJING DIMANSEN TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right