CN101447980B - 抗碰撞的统一用户标识公私钥对映射方法 - Google Patents
抗碰撞的统一用户标识公私钥对映射方法 Download PDFInfo
- Publication number
- CN101447980B CN101447980B CN2008100802134A CN200810080213A CN101447980B CN 101447980 B CN101447980 B CN 101447980B CN 2008100802134 A CN2008100802134 A CN 2008100802134A CN 200810080213 A CN200810080213 A CN 200810080213A CN 101447980 B CN101447980 B CN 101447980B
- Authority
- CN
- China
- Prior art keywords
- private key
- public
- length
- bit string
- generates
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种抗碰撞的统一用户标识公私钥对映射方法,它涉及通信网络密码学领域中通过用户标识无碰撞的映射出公私钥对的技术。它采用长度为56比特的可扩展统一用户标识、通过循环哈希抗碰撞算法防止用户公私钥对发生碰撞,并通过哈希标识值的行映射和列置换算法进行标识映射,实现以少量密钥种子生成大量用户公私钥对的目的。本发明在不损失计算效率的前提下,提高了安全性,并具有使用方便等特点,特别适用于通信网络中大规模用户通过标识进行公私钥对映射,并通过公私钥对进行安全认证和通信保密的应用。
Description
技术领域
本发明涉及通信网络密码学领域中一种抗碰撞的统一用户标识公私钥对映射方法,特别适用于通信网络中大规模用户通过标识进行公私钥对映射,并通过公私钥对进行安全认证和通信保密的应用。
背景技术
以往的公私钥标识映射算法只是能够对给定的标识,映射出固定的公私钥对。因为其中所使用的哈希函数和公私钥映射算法都存在一定的碰撞性,所以公私钥标识映射算法也具有一定概率的碰撞机率。在发生公私钥对碰撞的情况下,必须通过修改公私钥矩阵才能消除碰撞。
在标识映射类算法中,公私钥矩阵不应该随意改变,因为其改变会影响到以往已分配的用户公私钥对,并可能会引发更多的碰撞。
发明内容
本发明所要解决的技术问题在于避免上述背景技术中的不足之处而提供一种采用可扩展用户标识和循环哈希抗碰撞算法防止用户公私钥对发生碰撞的抗碰撞统一用户标识公私钥对映射方法。本发明还通过哈希标识的行映射和列置换算法,实现以少量密钥种子生成大量用户公私钥对的目的,在不损失计算效率的前提下,提高了安全性,并具有使用方便等特点。
本发明的目的是这样实现的,它包括下列步骤:
①根据用户规模选择公私钥矩阵规模,选择条件为m行×h列矩阵满足mh个用户的公私钥生成需求;按照矩阵规模生成相应数目私钥的数域元素及公钥的椭圆曲线域元素,构建出矩阵;其中m,h均为自然数,mh为该矩阵支持的最大用户数目;每个用户设置有用户标识;
②对用户标识进行扩展:对于用户输入的IP地址,将其映射到长度为32的比特串,随机生成长度为24的比特串,将长度为32的比特串扩展到统一的56比特长度;对于用户输入的MAC地址,将其映射到长度为48的比特串,随机生成长度为8的比特串,将长度为48的比特串扩展到统一的56比特长度;对于用户输入的除IP地址和MAC地址以外的标识,采取系统随机生成方式直接得到56比特长度的标识,完成统一用户标识;
③依据国际信息处理标准委员会FIPS-PUB-180-2中规定的SHA-256哈希算法,对用户标识进行哈希运算,得到标识哈希值;
④对于第③步中得到的标识哈希值进行碰撞检测,在检测到发生碰撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,排除标识哈希值碰撞;
⑤对于已排除碰撞的标识哈希值,使用行映射密钥KEY1循环进行对称加密,产生一个行坐标有序数列,行坐标有序数列作为公私钥矩阵选择的行坐标;使用列置换密钥KEY2,通过置换指示码生成和随机置换生成,产生一个列坐标有序数列,列坐标有序数列作为公私钥矩阵选择的列坐标;
⑥将第⑤步中产生的行坐标有序数列和列坐标有序数列进行组合,得到一个有序坐标序列,使用该有序坐标序列选中公私钥矩阵中的对应位置,将对应位置上的私钥的数域元素及公钥的椭圆曲线域元素进行域上面的线性叠加,得到用户标识对应生成的公私钥对;
⑦对于生成的用户标识公私钥对进行碰撞检测,在检测到发生碰撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,直到最终生成的公私钥对通过碰撞检测;
完成抗碰撞的统一用户标识公私钥对映射。
本发明与背景技术相比,具有如下优点:
(1)本发明中提出的循环哈希抗碰撞方法,解决了原有的公私钥标识映射算法中存在的用户公私钥对碰撞的问题,所构建出来的标识认证方法适用于用户数量规模较大的网络。
(2)本发明中提出的用户标识扩展方法,扩展了用户标识生成的功能,既支持完全随机化的用户标识,也能从IP地址或者MAC地址进行随机扩展,达到了用户标识的统一。使该方法适用于IP网络的通信,并且对已有的地址族进行了复用。
(3)本发明在用户标识中引入了随机性因子,从而解决了原有的基于标识公私钥映射中存在的当用户私钥不安全情况下必须修改用户标识的问题。本发明在用户私钥不安全的情况下,通过修改随机性因子,结合循环哈希抗碰撞方法,达到用户私钥撤销和更新的目的。
附图说明
图1是本发明IP地址标识公私钥映射实施例的原理工作程序图。
图2是本发明MAC地址标识公私钥映射实施例的原理工作程序图。
图3是本发明中标识公私钥映射实施例的原理工作程序图。
具体实施方式
参照图1至图3。图1是本发明IP地址标识公私钥映射实施例的原理工作程序图,图2是本发明MAC地址标识公私钥映射实施例的原理工作程序图。本发明从地址到扩展用户标识的映射、随机因子机制实施、循环哈希碰撞检测、公私钥映射、标识公私钥碰撞检测、最终用户公私钥对生成的整个过程如图1、图2所示。本发明包括步骤:
①根据用户规模选择公私钥矩阵规模,选择条件为m行×h列矩阵满足mh个用户的公私钥生成需求;按照矩阵规模生成相应数目私钥的数域元素及公钥的椭圆曲线域元素,构建出矩阵;其中m,h均为自然数,mh为该矩阵支持的最大用户数目;每个用户设置有用户标识。
实施例本发明用户公私钥矩阵生成方法:根据输入参数m行×h列,在数域Fp上面随机产生m×h个元素,构建出私钥矩阵;之后按照椭圆曲线乘法将私钥矩阵中的数域元素映射到椭圆曲线域ECp,构建出公钥矩阵。其中p是一个大素数,是数域Fp和椭圆曲线域ECp的大小,满足0<p<2192。
用SSK和PSK分别表示私钥矩阵和公钥矩阵:
其中,rij与Xij=(xij,yij)之间满足关系rijG=Xij=(xij,yij)(1≤rij≤(n-1)),G为椭圆曲线域基点。
②对用户标识进行扩展:对于用户输入的IP地址,将其映射到长度为32的比特串,随机生成长度为24的比特串,将长度为32的比特串扩展到统一的56比特长度;对于用户输入的MAC地址,将其映射到长度为48的比特串,随机生成长度为8的比特串,将长度为48的比特串扩展到统一的56比特长度;对于用户输入的除IP地址和MAC地址以外的标识,采取系统随机生成方式直接得到56比特长度的标识,完成统一用户标识。
实施例本发明对于IP地址a.b.c.d,将a,b,c,d分别转换成相应的8位比特串,并连接在一起成为长度为32的比特串;对于MAC地址XX-XX-XX-XX-XX-XX,将每个XX转换为相应的8位比特串,并连接在一起成为长度为48的比特串;对于输入的除IP地址和MAC地址以外的标识,直接随机生成56比特的扩展标识。标识的随机扩展是通过使用随机数发生器来实现的。
③依据国际信息处理标准委员会FIPS-PUB-180-2中规定的SHA-256哈希算法,对用户标识进行哈希运算,得到标识哈希值。
实施例本发明实现了标准的SHA-256算法,包括消息填充模块、填充消息解析模块、哈希值初始化模块和哈希计算模块。
④对于第③步中得到的标识哈希值进行碰撞检测,在检测到发生碰撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,排除标识哈希值碰撞。
实施例本发明对于第③步中得到的标识哈希值,在标识哈希值数据库中检测其是否与以往的标识哈希值发生碰撞。在检测到碰撞发生的情况下,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,排除标识哈希值碰撞。
⑤对于已排除碰撞的标识哈希值,使用行映射密钥KEY1循环进行对称加密,产生一个行坐标有序数列,行坐标有序数列作为公私钥矩阵选择的行坐标;使用列置换密钥KEY2,通过置换指示码生成和随机置换生成,产生一个列坐标有序数列,列坐标有序数列作为公私钥矩阵选择的列坐标。
实施例本发明对于已排除碰撞的标识哈希值,使用KEY1循环进行对称加密,产生一个行坐标有序数列(i0,i1,...,ih-1),(i0,i1,...,ih-1)作为公私钥矩阵选择的行坐标;使用KEY2,通过置换指示码生成和随机置换生成,产生一个列坐标有序数列(j0,j1,...,jh-1),(j0,j1,...,jh-1)作为公私钥矩阵选择的列坐标,该过程如图3所示。
⑥将第⑤步中产生的行坐标有序数列和列坐标有序数列进行组合,得到一个有序坐标序列,使用该有序坐标序列选中公私钥矩阵中的对应位置,将对应位置上的私钥的数域元素及公钥的椭圆曲线域元素进行域上面的线性叠加,得到用户标识对应生成的公私钥对。
实施例本发明将第⑤步中产生的行坐标有序数列(i0,i1,...,ih-1)和列坐标有序数列(j0,j1,...,jh-1)进行组合,得到一个有序坐标序列((i0j0),(i1j1),...,(ih-1jh-1)),使用有序坐标序列((i0j0),(i1j1),...,(ih-1jh-1))选中公私钥矩阵中的对应位置,并将对应位置上的私钥的数域元素及公钥的椭圆曲线域元素进行域上面的线性叠加,得到用户标识对应的公私钥对(PK,SK):
SK=(ri0,j0+ri1,j1+…+ri(h-1),j(h-1))mod p
⑦对于生成的用户标识公私钥对进行碰撞检测,在检测到发生碰撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,直到最终生成的公私钥对通过碰撞检测。
实施例本发明将生成的用户标识公私钥对在标识公私钥对哈希值数据库中进行碰撞检测,在检测到发生碰撞的情况下,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,直到最终生成的公私钥对通过碰撞检测,将其输出作为用户标识的公私钥对。
完成抗碰撞的统一用户标识公私钥对映射。
Claims (1)
1.一种抗碰撞的统一用户标识公私钥对映射方法,其特征在于包括步骤:
①根据用户规模选择公私钥矩阵规模,选择条件为m行×h列矩阵满足mh个用户的公私钥生成需求;按照矩阵规模生成相应数目私钥的数域元素及公钥的椭圆曲线域元素,构建出矩阵;其中m,h均为自然数,mh为该矩阵支持的最大用户数目;每个用户设置有用户标识;
②对用户标识进行扩展:对于用户输入的IP地址,将其映射到长度为32的比特串,随机生成长度为24的比特串,将长度为32的比特串扩展到统一的56比特长度;对于用户输入的MAC地址,将其映射到长度为48的比特串,随机生成长度为8的比特串,将长度为48的比特串扩展到统一的56比特长度;对于用户输入的除IP地址和MAC地址以外的标识,采取系统随机生成方式直接得到56比特长度的标识,完成统一用户标识;
③依据国际信息处理标准委员会FIPS-PUB-180-2中规定的SHA-256哈希算法,对用户标识进行哈希运算,得到标识哈希值;
④对于第③步中得到的标识哈希值进行碰撞检测,在检测到发生碰撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,排除标识哈希值碰撞;
⑤对于已排除碰撞的标识哈希值,使用行映射密钥KEY1循环进行对称加密,产生一个行坐标有序数列,行坐标有序数列作为公私钥矩阵选择的行坐标;使用列置换密钥KEY2,通过置换指示码生成和随机置换生成,产生一个列坐标有序数列,列坐标有序数列作为公私钥矩阵选择的列坐标;
⑥将第⑤步中产生的行坐标有序数列和列坐标有序数列进行组合,得到一个有序坐标序列,使用该有序坐标序列选中公私钥矩阵中的对应位置,将对应位置上的私钥的数域元素及公钥的椭圆曲线域元素进行域上面的线性叠加,得到用户标识对应生成的公私钥对;
⑦对于生成的用户标识公私钥对进行碰撞检测,在检测到发生碰撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生成的长度为8的比特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,直到最终生成的公私钥对通过碰撞检测;
完成抗碰撞的统一用户标识公私钥对映射。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100802134A CN101447980B (zh) | 2008-12-25 | 2008-12-25 | 抗碰撞的统一用户标识公私钥对映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100802134A CN101447980B (zh) | 2008-12-25 | 2008-12-25 | 抗碰撞的统一用户标识公私钥对映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101447980A CN101447980A (zh) | 2009-06-03 |
CN101447980B true CN101447980B (zh) | 2012-04-11 |
Family
ID=40743382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100802134A Active CN101447980B (zh) | 2008-12-25 | 2008-12-25 | 抗碰撞的统一用户标识公私钥对映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101447980B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404107B (zh) * | 2010-09-13 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 一种保障输入内容安全的方法、装置、发送端和接收端 |
CN102469557B (zh) | 2010-11-15 | 2014-08-13 | 华为技术有限公司 | 接入基站方法、基站和用户设备 |
CN103678308A (zh) * | 2012-09-03 | 2014-03-26 | 许丰 | 智能导航播放器 |
CN103678309A (zh) * | 2012-09-03 | 2014-03-26 | 许丰 | 智能标引导航系统 |
CN104113543B (zh) * | 2014-07-18 | 2017-03-15 | 中国科学院软件研究所 | 一种基于分组密码的消息鉴别方法 |
CN106934293B (zh) * | 2015-12-29 | 2020-04-24 | 航天信息股份有限公司 | 数字摘要的碰撞计算装置及碰撞计算方法 |
EP3420507A1 (en) | 2016-02-23 | 2019-01-02 | Nchain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
EP3420517B1 (en) | 2016-02-23 | 2022-07-06 | nChain Holdings Limited | A method and system for the secure transfer of entities on a blockchain |
MX2018010057A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Metodo de registro y de manejo automatico para contratos inteligentes de cumplimiento obligado por cadenas de bloques. |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
JP7249148B2 (ja) | 2016-02-23 | 2023-03-30 | エヌチェーン ライセンシング アーゲー | ブロックチェーンベースユニバーサルトークン化システム |
EP3862956B1 (en) | 2016-02-23 | 2024-01-03 | nChain Licensing AG | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
GB2562621A (en) | 2016-02-23 | 2018-11-21 | Nchain Holdings Ltd | System and method for controlling asset-related actions via a blockchain |
WO2017145048A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Cryptographic method and system for secure extraction of data from a blockchain |
CA3013185A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | A method and system for securing computer software using a distributed hash table and a blockchain |
AU2017222421B2 (en) | 2016-02-23 | 2022-09-01 | nChain Holdings Limited | Personal device security using elliptic curve cryptography for secret sharing |
JP7114469B2 (ja) | 2016-02-23 | 2022-08-08 | エヌチェーン ホールディングス リミテッド | セキュアな投票及び配布に利用されるブロックチェーンが実装された計数システム及び方法 |
EP4167165A1 (en) | 2016-02-23 | 2023-04-19 | nChain Licensing AG | Blockchain-based exchange with tokenisation |
EA201891829A1 (ru) | 2016-02-23 | 2019-02-28 | Нчейн Холдингс Лимитед | Способ и система для эффективного перевода криптовалюты, связанной с заработной платой, в блокчейне для создания способа и системы автоматизированной выплаты заработной платы на основе смарт-контрактов |
WO2017145016A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
CN111131169B (zh) * | 2019-11-30 | 2022-05-06 | 中国人民解放军战略支援部队信息工程大学 | 一种面向交换网络的动态id隐藏方法 |
-
2008
- 2008-12-25 CN CN2008100802134A patent/CN101447980B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101447980A (zh) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101447980B (zh) | 抗碰撞的统一用户标识公私钥对映射方法 | |
CN102164367B (zh) | 一种用于无线传感器网络的密钥管理方法 | |
TWI463857B (zh) | 權重認證及秘密擷取 | |
US20160006570A1 (en) | Generating a key derived from a cryptographic key using a physically unclonable function | |
EP3577642B1 (en) | Methods and devices for protecting data | |
Ebrahim et al. | Secure Force: A low-complexity cryptographic algorithm for Wireless Sensor Network (WSN) | |
CN102687457A (zh) | 用于加密和解密纯文本消息的具有认证的系统 | |
US20090113213A1 (en) | System and method for searching encrypted numerical data | |
Li et al. | Privacy-preserving RFID authentication based on cryptographical encoding | |
CN105577356A (zh) | 基于对用户隐私保护的智能电网中数据收集方法 | |
CN113206736A (zh) | 一种基于aes加密算法的加密方法 | |
Koo et al. | An online data-oriented authentication based on Merkle tree with improved reliability | |
CN102594566A (zh) | 一种面向无线传感器网络的混沌消息认证码实现方法 | |
Li et al. | Ciphertext-only fault analysis on the LED lightweight cryptosystem in the Internet of Things | |
Garg et al. | New techniques for efficient trapdoor functions and applications | |
Tsou et al. | SER: Secure and efficient retrieval for anonymous range query in wireless sensor networks | |
CN110012443A (zh) | 一种全同态的数据加密聚合方法及其系统 | |
Wang et al. | An ID-based online/offline signature scheme without random oracles for wireless sensor networks | |
CN102404108A (zh) | 一种针对aes-128算法的新型故障攻击方法 | |
Nath et al. | Hardware-based novel authentication scheme for advanced metering infrastructure | |
CN107609425B (zh) | 面向双层传感网的安全Top-k查询方法及装置 | |
CN103078736A (zh) | 一种多维度密钥生成方法 | |
CN113407966A (zh) | 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统 | |
CN107733634A (zh) | 一种基于置换耦合的轻量化混沌认证加密方法 | |
CN107231628A (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 |