CN101150400B - 密钥产生方法 - Google Patents

密钥产生方法 Download PDF

Info

Publication number
CN101150400B
CN101150400B CN 200710202172 CN200710202172A CN101150400B CN 101150400 B CN101150400 B CN 101150400B CN 200710202172 CN200710202172 CN 200710202172 CN 200710202172 A CN200710202172 A CN 200710202172A CN 101150400 B CN101150400 B CN 101150400B
Authority
CN
China
Prior art keywords
key
matrix
public
equipment
pki
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
CN 200710202172
Other languages
English (en)
Other versions
CN101150400A (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.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric 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 Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN 200710202172 priority Critical patent/CN101150400B/zh
Publication of CN101150400A publication Critical patent/CN101150400A/zh
Application granted granted Critical
Publication of CN101150400B publication Critical patent/CN101150400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及密码学、信息安全技术,提供了一种运算简单且可靠的密钥产生方法,应用于设备间的身份认证或设备间的密钥协商,可以对每个对象分配一个公钥/私钥对。本发明所采用的技术方案包括以下步骤:a、产生一个n维对称矩阵M;b、为申请对象分配一个n维向量作为该对象的公钥;c、将n维向量与n维对称矩阵M进行矩阵乘,得到n维向量将n维向量

Description

密钥产生方法
技术领域
本发明涉及密码学、信息安全技术。
背景技术
在密码学中,认证、密钥交换、密钥协商、密钥共享是非常重要的技术。在所有安全体系中,第一步所进行的工作就是建立一个可信任的环境,它首先进行的就是通信双方的认证,通常利用设备内的公钥与密钥配合认证对方身份。一般的设备内的公钥与密钥都是由密钥分配中心分配的;设备自己产生的情况也有,比如有的IC卡中。
目前,认证使用最多的是基于数字证书的PKI技术,在互联网上,Kerberos认证机制也在广泛使用。在密钥交换方面,目前使用最多的就是DH密钥交换机制。以上的这些机制都有非常明显的缺点:
运算复杂。基于证书的PKI机制,使用了非对称加密算法,如RSA、ECC等。RSA的公钥/私钥对必须是大的素数(一般要求大于1024位),而素数的产生非常复杂,目前还没有一种简单的方法可以直接断定某个数是素数还是合数,只能判定某个数是质数还是合数的可能性大。在进行RSA运算时,必须使用有限域大整数的幂指数运算,其实现非常复杂,对资源耗用非常大。而ECC密码的位数虽然可以少些,但是,基于椭圆曲线的标量乘实现非常困难(目前,关于ECC算法的大部分专利都集中在这里)。一次认证一般要进行多次这样的运算。而DH密钥交换一般也是基于非对称加密算法如RSA和ECC,实现也存在同样问题。
硬件实现规模大。不管是RSA还是ECC,由于其算法复杂,其实现耗用的硬件资源非常大。相对RSA算法,ECC可能需要的资源稍少,但是其算法复杂度大大增加。
运算速度慢。不管是RSA还是ECC,其运算的速度都非常慢。在目前广泛使用的USB Key中,一次这样的运算大约需要300ms左右,因此,在一些认证执行较频繁的场合,RSA和ECC都存在问题。
发明内容
本发明所要解决的技术问题是,提供一种运算简单且可靠的密钥产生方法,可以对每个对象分配一个公钥/私钥对。
本发明为解决上述技术问题所采用的技术方案是,密钥产生方法,应用于设备间的身份认证或设备间的密钥协商,包括以下步骤:
a、首先产生一个秘密的n维对称矩阵M;
b、为申请对象分配一个n维向量
Figure GDA00002566903900021
作为该对象的公钥;
c、将n维向量
Figure GDA00002566903900022
与n维对称矩阵M进行矩阵乘,得到n维向量
Figure GDA00002566903900023
将n维向量
Figure GDA00002566903900024
作为该对象的私钥。
依上述方法产生的每一对公钥/私钥,都满足任一对象A的公钥
Figure GDA00002566903900025
与另一对象B的私钥
Figure GDA00002566903900026
转置的矩阵乘等于对象B的公钥与对象A的私钥转置的矩阵乘。
原理如下:
任意的一个n维对称矩阵M,必有MT=M,其中MT表示矩阵M的转置;
a → A = α 1 α 2 . . . α n 1 × n ,
Figure GDA00002566903900028
其中,
Figure GDA00002566903900029
为n维行向量,由此可以知道,
Figure GDA000025669039000210
为n维行向量;
a → B = α 1 α 2 . . . α n 1 × n ,
Figure GDA000025669039000212
同理,
Figure GDA000025669039000213
为n维行向量;
K 1 = a → A × β → T B = a → A × ( a → B × M ) T = a → A × M T × α → T B ;
由于
Figure GDA000025669039000215
为n维行向量,MT为n×n维矩阵,为n维列向量,所以,结果K1为一个实数;
K 2 = a → B × β → T A = a → B × ( a → A × M ) T ;
由于为n维行向量,
Figure GDA000025669039000219
为n维列向量,则结果K2为一个实数,必然有K2T=K2;
K 2 = K 2 T = ( a → B × ( α → A × M ) T ) T = α → A × M × a → B T ;
又因为MT=M,所以 K 2 = α → A × M × a → B T = α → A × M T × a → B T = K 1 ;
由此,对于从矩阵M中产生的任意的
Figure GDA000025669039000222
均有
Figure GDA000025669039000223
为了提高系统安全性,对上述方法做进一步完善:
n维向量
Figure GDA000025669039000224
中零元素的个数最好大于n/2;
分配两个不同的公钥中不同的元素的个数最好大于2个以上;
组成n维对称矩阵M的向量之间线性无关;n维对称矩阵M的秩大于n/2;更进一步的,n维对称矩阵M的秩等于n;
n维对称矩阵M中尽量不使用零或者只使用少量的零元素;每个元素的位数必须足够大,比如,每个元素为32位以上;
本发明的有益效果是,公钥/私钥对的产生快速,运算简单。采用本发明方法的芯片,可以降低开发难度、降低芯片规模、提高运算速度,降低芯片成本。
具体实施方式
本方案实现方式如下:
密钥分配中心首先产生一个n×n的对称矩阵M,并将此矩阵作为秘密保护,不得向外泄漏;
密钥分配中心为每一个申请对象分配一个向量 a → A = α 1 α 2 . . . α n 1 × n , 作为该对象的公钥或者ID;
密钥分配中心将
Figure GDA00002566903900032
与秘密矩阵M进行运算,产生对象的私钥 β → = β 1 β 2 . . . β n 1 × n , β → = β 1 β 2 . . . β n 1 × n = a → × M ;
密钥分配中心将公钥
Figure GDA00002566903900035
和私钥
Figure GDA00002566903900036
分配给申请对象,申请对象将公钥
Figure GDA00002566903900037
和私钥保存,其中公钥
Figure GDA00002566903900039
在认证过程中向其它对象传递,用于表明身份。私钥必须秘密保存,不得向外泄漏。运算过程中的加法可以使用异或运算代替。
分配后的公钥/私钥对可应用于设备间的身份认证以及密钥协商。
一、应用于设备间的身份认证的具体方法如下:
假设参与认证的双方是设备A(分配有密钥分配中心产生的公钥/私钥对
Figure GDA000025669039000310
)和设备B(分配有密钥分配中心产生的公钥/私钥对
Figure GDA000025669039000311
),那么有
Figure GDA000025669039000312
那么认证的条件也基于此:
(1)设备A发起方认证请求,首先产生一个随机数R,并和其公钥
Figure GDA000025669039000313
一起传送给认证方。认证参与方设备B获得认证请求,在接收到认证发起方的随机数R和和公钥
Figure GDA000025669039000314
后,将自己的公钥
Figure GDA000025669039000315
传送给设备A;
(2)设备A计算
Figure GDA000025669039000316
由于
Figure GDA000025669039000317
为1×n向量,
Figure GDA000025669039000318
为n×1向量,所以两者之积K1为一个常标量。然后认计算Y1=f(K1,R),并将结果传送给设备B;
(3)设备B计算
Figure GDA000025669039000319
K2为一个常标量。然后认证参与方计算Y2=f(K2,R),并将结果传送给设备A;
(4)认证双方将Y1与Y2进行比较,如果两者相等,则认为认证通过,否则认证失败。
在实际应用中,一般乘积相等的判定必须采用间接方式,比如进行HASH运算,用运算结果来判定,其中Y=f(K,R)一般事先约定,并采用密码学领域的单向算法,如HASH算法、加密等。
由于每对公钥/私钥均是配对的,因此系统中同样可以使用黑名单功能,即将某一公钥定义为黑名单的成员,就可以达到数字证书黑名单的功能。通过吊销公钥的方式可以同时吊销私钥,达到维护系统完整性的目的。推而广之,公钥不仅可以采用向量,还可以采用任意的对称矩阵,相应的,私钥也可以不采用向量而使用对称矩阵。为了降低关联性,提高安全性,要求在本系统的公钥中保持一定数量的元素值为0,本实施例的公保持一半以上的元素为0。
基于本发明产生的公钥/私钥,结合简单的乘法、加法运算,就能实现设备间的认证认证。
二、应用于设备间的密钥协商的具体方法如下:
密钥分配中心为每台设备各分配一公钥/私钥对
Figure GDA00002566903900041
a → A = α 1 α 2 . . . α n 1 × n , β → = β 1 β 2 . . . β n 1 × n . 对于任意的两个设备U和V,均有
(1)设备U首先产生一个随机数R1,并将R1和公钥
Figure GDA00002566903900045
传送给设备V;
(2)设备V接收到随机数R1和公钥
Figure GDA00002566903900046
后,将设备V的公钥
Figure GDA00002566903900047
传送给设备U;
(3)设备U计算
Figure GDA00002566903900048
然后计算K=f(KV,U,R1)
(4)设备V计算
Figure GDA00002566903900049
然后计算K=f(KU,V,R1)
以上两步中,f(K,R)为实现约定的一个函数,可以是hash函数、加密函数或者其它的不可逆函数以及他们的组合。因为KV,U=KU,V,所以带入函数f进行计算,能得到相同的结果K;
(5)设备U再次产生一个随机数RU,并将RU传送给设备V;随后计算CU,V=E(RU,K);
(6)设备V同时也产生一个随机数RV,并将RV传送给设备U;随后计算CV,U=E(RV,K);
(7)设备U使用自己计算出的K作为加密的密码,对RV进行加密CU=E(Rv,K),然后将结果CU传送给设备V;
(8)设备V使用自己计算出的K作为加密的密码,对RU进行加密CV=E(RU,K),然后将结果CV传送给设备U;
(9)设备U接收到设备V传送的CV后,将CV与CU,V进行比较,如果相同则认为对方已经产生了与自己相同的密钥;
(10)设备V接收到设备U传送的CU后,将CU与CV,U进行比较,如果相同则认为对方已经产生了与自己相同的密钥;
以上过程全部通过,则双方采用K作为共享密钥进行后续通信。或者使用K来加密传送后续通信的密钥,密钥协商完成。
上述运算都在有限域中进行。一般要求所有的数均为非负整数;并且公钥、私钥向量成员的个数,一般根据要求选择,私钥的成员整数值要求必须为大整数,整数的位数根据具体要求考虑。比如安全性、存储空间等因素。
本发明密钥产生方法简单,产生速度快;认证过程算法简单,只需要简单的有限域乘法和加法,实现简单;算法硬件资源小;运算速度比采用RSA、ECC等认证方式快多个数量级。

Claims (2)

1.密钥产生方法,应用于设备间的身份认证或设备间的密钥协商,其特征在于,包括以下步骤:
a、产生一个秘密的n维对称矩阵M;
b、为申请对象分配一个n维向量
Figure FDA00002566903800011
作为该对象的公钥;
c、将n维向量
Figure FDA00002566903800012
与所述n维对称矩阵M进行矩阵乘,得到n维向量
Figure FDA00002566903800013
将n维向量作为该对象的私钥;
为不同申请对象分配的公钥中不同的元素个数大于2个;
所述n维向量
Figure FDA00002566903800015
中零元素的个数大于或等于n/2;
所述n维对称矩阵M的秩大于n/2;
所述n维对称矩阵M中无零元素;每个元素的位数为32位以上。
2.如权利要求1所述密钥产生方法,其特征在于,n维对称矩阵M的秩等于n。
CN 200710202172 2007-10-19 2007-10-19 密钥产生方法 Active CN101150400B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710202172 CN101150400B (zh) 2007-10-19 2007-10-19 密钥产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710202172 CN101150400B (zh) 2007-10-19 2007-10-19 密钥产生方法

Publications (2)

Publication Number Publication Date
CN101150400A CN101150400A (zh) 2008-03-26
CN101150400B true CN101150400B (zh) 2013-04-03

Family

ID=39250756

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710202172 Active CN101150400B (zh) 2007-10-19 2007-10-19 密钥产生方法

Country Status (1)

Country Link
CN (1) CN101150400B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812650B (zh) * 2012-11-12 2017-05-31 华为技术有限公司 信息处理方法、用户设备和加密设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1698309A (zh) * 2003-04-21 2005-11-16 索尼株式会社 设备认证系统
EP1422612B1 (en) * 2002-11-21 2006-06-28 IP-First LLC Random number generator bit string filter
CN1905436A (zh) * 2005-07-28 2007-01-31 北京航空航天大学 保证数据交换安全的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1422612B1 (en) * 2002-11-21 2006-06-28 IP-First LLC Random number generator bit string filter
CN1698309A (zh) * 2003-04-21 2005-11-16 索尼株式会社 设备认证系统
CN1905436A (zh) * 2005-07-28 2007-01-31 北京航空航天大学 保证数据交换安全的方法

Also Published As

Publication number Publication date
CN101150400A (zh) 2008-03-26

Similar Documents

Publication Publication Date Title
EP3862956B1 (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN101374043B (zh) 密钥协商的方法、加/解密的方法及签名/验证的方法
Tseng et al. A chaotic maps-based key agreement protocol that preserves user anonymity
CN101296075B (zh) 一种基于椭圆曲线的身份认证系统
US11870891B2 (en) Certificateless public key encryption using pairings
CN107342859A (zh) 一种匿名认证方法及其应用
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN104821880A (zh) 一种无证书广义代理签密方法
CN114157427A (zh) 基于sm2数字签名的门限签名方法
CN101296072B (zh) 一种椭圆曲线上的共享密钥产生方法
JP2012521109A (ja) 身元認証及び共有鍵生成の方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN102970144A (zh) 基于身份的认证方法
CN106713349A (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
Ranjani et al. An Extended Identity Based Authenticated Asymmetric Group Key Agreement Protocol.
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
US20220038267A1 (en) Methods and devices for secured identity-based encryption systems with two trusted centers
CN102246456A (zh) 用于对抗对基于循环群的加密的侧通道攻击的系统和方法
CN105978895A (zh) 支持非单调访问结构和细粒度撤销的属性基加密方案
CN101150400B (zh) 密钥产生方法
CN109981254A (zh) 一种基于有限李型群分解问题的微型公钥加密方法
Kumar et al. An ID-based authenticated key exchange protocol
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography
CN107276759A (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
C14 Grant of patent or utility model
GR01 Patent grant