CN101150399A - 共享密钥生成方法 - Google Patents

共享密钥生成方法 Download PDF

Info

Publication number
CN101150399A
CN101150399A CNA2007102020550A CN200710202055A CN101150399A CN 101150399 A CN101150399 A CN 101150399A CN A2007102020550 A CNA2007102020550 A CN A2007102020550A CN 200710202055 A CN200710202055 A CN 200710202055A CN 101150399 A CN101150399 A CN 101150399A
Authority
CN
China
Prior art keywords
result
random number
vector
key
secret
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
Application number
CNA2007102020550A
Other languages
English (en)
Other versions
CN101150399B (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 CN2007102020550A priority Critical patent/CN101150399B/zh
Publication of CN101150399A publication Critical patent/CN101150399A/zh
Application granted granted Critical
Publication of CN101150399B publication Critical patent/CN101150399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及信息安全技术。本发明提供一种运算简单的共享密钥生成方法。方法包括以下步骤:a.任意的两个设备U和设备V满足:设备U的秘密向量U与设备V的公开向量V,设备V的秘密向量V与设备U的公开向量U在经过设定运算后,其运算结果相同;b.设备U产生随机数R,传送R与U至设备V;c.设备V传送V至设备U;d.设备U将V与U进行设定运算,得到结果KV,U;设备V将U与V进行设定运算,得到结果KU,V;e.设备U将KV,U与R进行第一预设处理后得到结果Ku;设备V将KU,V与R进行第一预设处理后得到结果Kv;f.将结果Ku或结果Kv作为共享密钥K使用。在通信过程中通过随机数R的变化,能实时更新共享密钥,无需第三方参与。

Description

共享密钥生成方法
技术领域
本发明涉及信息安全技术,特别涉及对称密钥体制中的密钥生成技术。
背景技术
基于任何网络的通信可能都是不安全的,这些不安全因素可能包括:
(1)窃听;
(2)改变正在传送的消息;
(3)保留正在传送的消息以便重新使用;
(4)伪造用户进行通信。
因此,在安全性有一定要求的场合,通信过程一般需要进行加密处理。加密的方法可以分为两大体系:对称密钥体制和公钥密码体制(非对称加密)。公钥密码体制在通信过程中由于不需要安全信道进行密钥交换,但公钥密码体制的运算速度太慢,比一般的对称密钥体制要慢多个数量级以上。由于在实际通信过程的数据量一般比较大,所以通信方均采用对称密钥机制,公钥密码体制只在处理数据量非常小的情况下才采用。
对称密钥体制在加密和解密时采用的是同一个密钥,因此在通信之前两者必须先协商一个密钥,然后才能进行后续通信。形成共享密钥的方法一般可以分为两大类:密钥分配和密钥协商。
密钥分配利用此机制一方选择秘密密钥,然后把它发送给一方或者许多方。密钥分配方案中,目前使用最广泛的是Blom方案和Diffle-Hellman密钥预分配方案。每一对用户能计算出一个固定的密钥,如果相同的密钥使用很长时间,就有泄密的危险。密钥协商方案正是针对密钥的更新问题所提出的,通常采用在线更新的方法,使得每对用户每次通信就产生一个新的会话密钥。密钥共识技术目前经常使用的有:Kerberos体制、Diffie-Hellman密钥交换(DH密钥交换)。Kerberos体制的缺点是,整个密钥分配过程需要网络的支持,须有第三方参与,并且网络中的所有用户均需要一个同步时钟,这个在某些场合是比较困难的。Diffie-Hellman密钥交换方法可支持离线工作,但需要进行多次指数元素运算,运算非常复杂。
发明内容
本发明所要解决的技术问题是,提供一种运算简单且不需要第三方参与,并能够在通信过程中实现实时变换共享密钥的共享密钥生成方法。
本发明为解决上述技术问题所采用的技术方案是,共享密钥生成方法,包括以下步骤:
a、每台设备各分配两个向量:公开向量、秘密向量;每台设备的秘密向量与其它任一设备的公开向量在经过设定运算后,其运算结果相同;对于任意的两个设备U和设备V,设备U分配有公开向量
Figure A20071020205500051
与秘密向量
Figure A20071020205500052
设备V分配有公开向量
Figure A20071020205500053
与秘密向量
b、设备U产生随机数R,并将随机数R与其公开向量
Figure A20071020205500055
传送给设备V;
c、设备V接收到随机数R与公开向量
Figure A20071020205500056
后,传送公开向量
Figure A20071020205500057
给设备U;
d、设备U将公开向量
Figure A20071020205500058
与秘密向量进行步骤a所述设定运算,得到运算结果KV,U;设备V将公开向量
Figure A200710202055000510
与秘密向量
Figure A200710202055000511
进行步骤a所述设定运算,得到运算结果KU,V
e、设备U将运算结果KV,U与随机数R进行第一预设处理后得到结果Ku;设备V将运算结果KU,V与随机数R进行第一预设处理后得到结果Kv;
f、将结果Ku与结果Kv作为共享密钥K使用。
由于每台设备的秘密向量与其它任一设备的公开向量在经过设定运算后,其运算结果相同。那么步骤d中的运算结果KV,U等于运算结果KU,V(但是不同设备对之间的运算结果不相同),步骤e中基于相同的处理方式,结果Ku等于结果Kv,K=Ku=Kv。根据上述方法设备U、V不需要进行密钥的交换,生成了相同的秘密密钥,即共享密钥K。设备双方可使用共享密钥K进行后续通信,或者使用共享密钥K传送后续通信密钥。在通信过程中通过随机数R的变化,能实时更新共享密钥,无需第三方参与。
具体的,所述设定运算具体为:对于设备U,设备V的公开向量
Figure A20071020205500061
与设备U的秘密向量
Figure A20071020205500062
进行内积;对于设备V,设备U的公开向量
Figure A20071020205500063
与设备V的秘密向量
Figure A20071020205500064
进行内积。不需要指数运算,仅使用简单的乘法、加法(或异或)运算,降低密钥生成运算的复杂度。
进一步的,所述设定运算具体为,在有限域内进行内积运算。
步骤e所述第一预设处理具体为,使用不可逆函数进行处理。不可逆函数为HASH函数、加密函数及其组合。
进一步的,为了确认步骤e中双方是否生成了相同的秘密密钥,在步骤e完成后,进入验证步骤,验证结果Ku与结果Kv是否相等,如是进入步骤f;如否,回到步骤b。
所述验证步骤具体为:
k1、设备U产生随机数Ru,并将随机数Ru传送给设备V;设备V产生随机数Rv,并将随机数Rv传送给设备U;
k2、设备U将结果Ku与随机数Ru进行第二预设处理后得到结果Cu;设备V将结果Kv与随机数Rv进行第二预设处理后得到结果Cv;
k3、设备U接收到随机数Rv,将结果Ku与随机数Rv进行第二次预设处理后结果CU,V,并将结果CU,V传送到设备V;设备V接收到随机数Ru,将结果Kv与随机数Ru进行第二预设处理后得到结果CV,U,并将结果CV,U传送到设备U;
k4、设备U接收到结果CV,U后与结果Cu比较,如相等则认为结果Ku与结果Kv相等;设备V接收到结果CU,V后与结果Cv比较,如相等则认为结果Ku与结果Kv相等;
k5、如设备U与设备V验证出结果Ku与结果Kv相等,则进入步骤f;如不相等,则回到步骤b。
所述第二预设处理具体为,使用不可逆函数进行处理。不可逆函数为HASH函数、加密函数及其组合。
本发明的有益效果是,在整个共享密钥产生过程中,不需要事先进行认证、不需要复杂的运算,只需要进行简单的乘法、加法或者异或运算就能完成,并能实时更新,适用于需要使用相同密钥进行通信的任意场合。采用此方法的芯片,可以降低开发难度、降低芯片规模、提高运算速度,降低芯片成本。
附图说明
图1为实施例流程图。
具体实施方式
本实施例提出了一种基于有限域简单乘法运算、加法或者异或运算而产生共享密钥的方法:
可信管理机构为每台设备各分配不同向量对:一个公开向量、一个秘密向量; α → = α 1 α 2 . . . α n 1 × n , β → = β 1 β 2 . . . β n 1 × n , 其中αi∈Zp,为公开参数,β∈Zp,为秘密参数;
要求对于任意的两个设备:设备U和设备V,双方各有自己的向量
Figure A20071020205500073
Figure A20071020205500074
Figure A20071020205500075
Figure A20071020205500076
它们的关系满足: α → V × β → U T mod p = α → U × β → V T mod p , 即每台设备的秘密向量与其它任一设备的公开向量在经过上述设定内积运算后,其运算结果相同;
如分配公开向量 α → U = 34 124 3 87 , 秘密向量 β U → = 130 62 182 146 给设备U;分配公开向量 α → V = 234 236 211 166 , 秘密向量 β V → = 93 205 219 69 给设备V;共享密钥的形成过程如图1所示:
(1)设备U首先产生一个随机数R,并将Ru和公开向量
Figure A20071020205500085
传送给设备V;
(2)设备V接收到R和公开向量后,将其公开向量
Figure A20071020205500087
传送给设备U;
(3)设备U将公开向量
Figure A20071020205500088
与秘密向量
Figure A20071020205500089
进行设定运算: K V , U = α → V × β → U T mod p = 234 236 211 166 × 130 62 182 146 T mod p = 170 ;
设备V将公开向量
Figure A200710202055000812
与秘密向量
Figure A200710202055000813
进行设定运算: K U , V = α → U × β → V T mod p = 34 124 3 87 × 93 205 219 69 T mod p = 170 ;
(4)设备U将运算结果KV,U与随机数R进行第一预设处理后得到结果Ku,Ku=f(170,R);设备V将运算结果KU,V与随机数R进行第一预设处理后得到结果Kv,Kv=f(170,R);函数f为HASH函数;
由上可以看出,后续一定能产生相同的第一预设处理结果,即Kv与Ku相等,将结果Ku与结果Kv作为共享密钥K使用,共享密钥生成,双方使用K作为共享密钥进行后续通信或使用共享密钥K传送后续通信密钥。由于随机数R可变,所以共享密钥K可以实时更新。
为了进一步验证生成密钥是否相等,可进一步完善该方法:通信发起方或者目的方再次产生一个随机数,并将该随机数发送给对方,然后双方使用各自生成的第一预设处理结果作为密钥对该随机数进行加密,并对加密结果进行比较,如果相同则认为已经形成了共享密钥,具体为:
(5)设备U产生随机数Ru,并将随机数Ru传送给设备V;设备V产生随机数Rv,并将随机数Rv传送给设备U;
(6)设备U将结果Ku与随机数Ru进行第二预设处理后得到结果Cu,Cu=E(Ru,Ku);设备V将结果Kv与随机数Rv进行第二预设处理后得到结果Cv,Cv=E(Rv,Kv);
(7)设备U接收到随机数Rv,将结果Ku与随机数Rv进行第二次预设处理后结果CV,U,CV,U=E(Rv,Ku),并将结果CV,U传送到设备V;设备V接收到随机数Ru,将结果Kv与随机数Ru进行第二预设处理后得到结果CU,V,CU,V=E(Ru,Kv),并将结果CU,V传送到设备U;函数E为HASH函数;
(8)设备U将结果Cu后与结果CU,V比较,如相等则认为结果Ku与结果Kv相等;设备V将结果Cv后与结果CV,U比较,如相等则认为结果Ku与结果Kv相等;
(9)如结果Ku与结果Kv相等,则认为双方生成了相同的密钥K(K=Ku=Kv),双方采用密钥K作为共同密钥进行后续通信或者使用密钥K来加密传送后续通信的密钥;如结果不相等则回到步骤(1),直至双方产生相同的密钥。
采用本发明方法可以在不需要第三方参与的情况下,在通信双方快速建立共享密钥,并能够在通信过程中实现实时变换共享密钥。此方法即可以应用于在线更新密钥,也可实现离线密钥更新,即适用于IC卡、USB Key、芯片等基于硬件实现的场合,也适用于基于软件实现的场合。

Claims (7)

1.共享密钥生成方法,其特征在于,包括以下步骤:
a、对任意的两个设备U和设备V,向设备U分配公开向量
Figure A2007102020550002C1
与秘密向量
Figure A2007102020550002C2
向设备V分配公开向量
Figure A2007102020550002C3
与秘密向量
Figure A2007102020550002C4
设备U的秘密向量与设备V的公开向量
Figure A2007102020550002C6
设备V的秘密向量与设备U的公开向量
Figure A2007102020550002C8
在经过设定运算后,其运算结果相同;
b、设备U产生随机数R,并将随机数R与其公开向量传送给设备V;
c、设备V接收到随机数R与公开向量
Figure A2007102020550002C10
后,传送公开向量
Figure A2007102020550002C11
给设备U;
d、设备U将公开向量
Figure A2007102020550002C12
与秘密向量进行步骤a所述设定运算,得到运算结果KV,U;设备V将公开向量
Figure A2007102020550002C14
与秘密向量
Figure A2007102020550002C15
进行步骤a所述设定运算,得到运算结果KU,V
e、设备U将运算结果KV,U与随机数R进行第一预设处理后得到结果Ku;设备V将运算结果KU,V与随机数R进行第一预设处理后得到结果Kv;
f、将结果Ku或结果Kv作为共享密钥K。
2.如权利要求1所述共享密钥生成方法,其特征在于,步骤a所述设定运算为内积运算。
3.如权利要求1所述共享密钥生成方法,其特征在于,步骤a所述设定运算为:在有限域内进行内积运算。
4.如权利要求1、2或3所述共享密钥生成方法,其特征在于,步骤e所述第一预设处理具体为,使用不可逆函数进行处理。
5.如权利要求1、2或3所述共享密钥生成方法,其特征在于,在步骤e完成后,进入验证步骤,验证结果Ku与结果Kv是否相等,如是进入步骤f;如否,回到步骤b。
6.如权利要求5所述共享密钥生成方法,其特征在于,所述验证步骤具体为:
k1、设备U产生随机数Ru,并将随机数Ru传送给设备V;设备V产生随机数Rv,并将随机数Rv传送给设备U;
k2、设备U将结果Ku与随机数Ru进行第二预设处理后得到结果CU,V;设备V将结果Kv与随机数Rv进行第二预设处理后得到结果CV,U
k3、设备U接收到随机数Rv,将结果Ku与随机数Rv进行第二次预设处理后结果Cu,并将结果Cu传送到设备V;设备V接收到随机数Ru,将结果Kv与随机数Ru进行第二预设处理后得到结果Cv,并将结果Cv传送到设备U;
k4、设备U接收到结果Cv后与结果CU,V比较,如相等则认为结果Ku与结果Kv相等;设备V接收到结果Cu后与结果CV,U比较,如相等进入步骤f;如不相等,则回到步骤b。
7.如权利要求6所述共享密钥生成方法,其特征在于,所述第二预设处理具体为,使用不可逆函数进行处理。
CN2007102020550A 2007-10-12 2007-10-12 共享密钥生成方法 Active CN101150399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007102020550A CN101150399B (zh) 2007-10-12 2007-10-12 共享密钥生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007102020550A CN101150399B (zh) 2007-10-12 2007-10-12 共享密钥生成方法

Publications (2)

Publication Number Publication Date
CN101150399A true CN101150399A (zh) 2008-03-26
CN101150399B CN101150399B (zh) 2011-01-19

Family

ID=39250755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007102020550A Active CN101150399B (zh) 2007-10-12 2007-10-12 共享密钥生成方法

Country Status (1)

Country Link
CN (1) CN101150399B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045169A (zh) * 2010-12-10 2011-05-04 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN101499908B (zh) * 2009-03-20 2011-06-22 四川长虹电器股份有限公司 一种身份认证及共享密钥产生方法
CN101378320B (zh) * 2008-09-27 2011-09-28 北京数字太和科技有限责任公司 一种认证方法和认证系统
CN108173643A (zh) * 2016-11-18 2018-06-15 赵运磊 一种高效的密钥共识传输方法
CN109510818A (zh) * 2018-10-29 2019-03-22 梁伟 区块链的数据传输系统、方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105025007A (zh) * 2015-06-09 2015-11-04 王一磊 基于cpk的手机应用间及与服务器间的安全通信方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1698309A (zh) * 2003-04-21 2005-11-16 索尼株式会社 设备认证系统
CN1260664C (zh) * 2003-05-30 2006-06-21 武汉理工大学 一种用户计算机之间交换密钥的方法
CN100382653C (zh) * 2005-05-19 2008-04-16 中国科学院计算技术研究所 一种无线分组网络中语音通信的认证、授权、记账方法
CN1905436B (zh) * 2005-07-28 2010-05-05 北京航空航天大学 保证数据交换安全的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378320B (zh) * 2008-09-27 2011-09-28 北京数字太和科技有限责任公司 一种认证方法和认证系统
CN101499908B (zh) * 2009-03-20 2011-06-22 四川长虹电器股份有限公司 一种身份认证及共享密钥产生方法
CN102045169A (zh) * 2010-12-10 2011-05-04 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN102045169B (zh) * 2010-12-10 2015-11-25 厦门市美亚柏科信息股份有限公司 一种新口令认证方法和装置
CN108173643A (zh) * 2016-11-18 2018-06-15 赵运磊 一种高效的密钥共识传输方法
CN109510818A (zh) * 2018-10-29 2019-03-22 梁伟 区块链的数据传输系统、方法、装置、设备及存储介质
CN109510818B (zh) * 2018-10-29 2021-08-17 梁伟 区块链的数据传输系统、方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101150399B (zh) 2011-01-19

Similar Documents

Publication Publication Date Title
CN108616539B (zh) 一种区块链交易记录访问的方法及系统
EP3534565B1 (en) Data transmission method, apparatus and system
US9794249B1 (en) Using a digital certificate with multiple cryptosystems
EP3349393B1 (en) Mutual authentication of confidential communication
EP3251284B1 (en) Methods for secure credential provisioning
EP0292790B1 (en) Controlling the use of cryptographic keys via generating station established control values
CN111130803B (zh) 数字签名的方法、系统及装置
CN111133720B (zh) 在设备之间安全地通信的方法和设备
EP2410691B1 (en) Method for authenticating identity and generating share key
WO2012172080A1 (en) Generation of cryptographic keys
GB2585170A (en) Oblivious pseudorandom function in a key management system
CN109861956B (zh) 基于状态通道的数据验证系统、方法、装置及设备
CN101150399A (zh) 共享密钥生成方法
CN114070614A (zh) 身份认证方法、装置、设备、存储介质和计算机程序产品
CN107707562A (zh) 一种非对称动态令牌加、解密算法的方法、装置
CN102999710A (zh) 一种安全共享数字内容的方法、设备及系统
CN106953917B (zh) 数据同步方法及系统
CN112737783B (zh) 一种基于sm2椭圆曲线的解密方法及设备
EP4125236A1 (en) Secret code verification protocol
CN115865460A (zh) 数据传输方法、装置、电子设备及存储介质
US20230188330A1 (en) System and method for identity-based key agreement for secure communication
CN111769940B (zh) 一种密钥在线分发方法、系统及介质
CN114679262A (zh) 一种融合非对称体制的量子密钥分发系统及方法
CN114900292B (zh) 一种预计算系统、预计算数据处理方法及装置
RU2819174C1 (ru) Способ определения источника пакетов данных в телекоммуникационных сетях

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