抗碰撞的统一用户标识公私钥对映射方法

文档序号:7689226阅读:167来源:国知局
专利名称:抗碰撞的统一用户标识公私钥对映射方法
技术领域
本发明涉及通信网络密码学领域中一种抗碰撞的统一用户标识 公私钥对映射方法,特别适用于通信网络中大规模用户通过标识进行 公私钥对映射,并通过公私钥对进行安全认证和通信保密的应用。
背景技术
以往的公私钥标识映射算法只是能够对给定的标识,映射出固定 的公私钥对。因为其中所使用的哈希函数和公私钥映射算法都存在一 定的碰撞性,所以公私钥标识映射算法也具有一定概率的碰撞机率。 在发生公私钥对碰撞的情况下,必须通过修改公私钥矩阵才能消除碰
撞0
在标识映射类算法中,公私钥矩阵不应该随意改变,因为其改变 会影响到以往已分配的用户公私钥对,并可能会引发更多的碰撞。

发明内容
本发明所要解决的技术问题在于避免上述背景技术中的不足之 处而提供一种采用可扩展用户标识和循环哈希抗碰撞算法防止用户 公私钥对发生碰撞的抗碰撞统一用户标识公私钥对映射方法。本发明 还通过哈希标识的行映射和列置换算法,实现以少量密钥种子生成大 量用户公私钥对的目的,在不损失计算效率的前提下,提高了安全性, 并具有使用方便等特点。
本发明的目的是这样实现的,它包括下列步骤 ①根据用户规模选择公私钥矩阵规模,选择条件为m行Xh列矩 阵满足W个用户的公私钥生成需求;按照矩阵规模生成相应数目私 钥的数域元素及公钥的椭圆曲线域元素,构建出矩阵;其中m,h均为 自然数,W为该矩阵支持的最大用户数目;每个用户设置有用户标 识;
4② 对用户标识进行扩展对于用户输入的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行Xh列矩 阵满足W个用户的公私钥生成需求;按照矩阵规模生成相应数目私 钥的数域元素及公钥的椭圆曲线域元素,构建出矩阵;其中m,h均为 自然数,W为该矩阵支持的最大用户数目;每个用户设置有用户标 识。
实施例本发明用户公私钥矩阵生成方法根据输入参数m行Xh 列,在数域&上面随机产生mXh个元素,构建出私钥矩阵;之后按 照椭圆曲线乘法将私钥矩阵中的数域元素映射到椭圆曲线域ECp ,构 建出公钥矩阵。其中P是一个大素数,是数域^和椭圆曲线域^:,勺 大小,满足0<^<2192。用SSK和PSK分别表示私钥矩阵和公钥矩阵:
縱=
ril r2 r21 r22

尸饥=
(x21,y21) (x22,j;22)…(x2,,,;;2/,)
其中, 与X「(w》之间满足关系^^A-"',^) d、、(" —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循环进 行对称加密,产生一个行坐标有序数列(i。,、,…A.,) , (!。,"…,^)作为公 私钥矩阵选择的行坐标;使用KEY2,通过置换指示码生成和随机置 换生成,产生一个列坐标有序数列U丄...,厶J, U,;..,厶.,)作为公私 钥矩阵选择的列坐标,该过程如图3所示。
⑥将第⑤步中产生的行坐标有序数列和列坐标有序数列进行组 合,得到一个有序坐标序列,使用该有序坐标序列选中公私钥矩阵中 的对应位置,将对应位置上的私钥的数域元素及公钥的椭圆曲线域元 素进行域上面的线性叠加,得到用户标识对应生成的公私钥对。
实施例本发明将第⑤步中产生的行坐标有序数列(/。,/^.,"和列 坐标有序数列U,乂,...,U进行组合,得到 一 个有序坐标序列 (("),(")"."(H》),使用有序坐标序列(("),('")"."(Uw))选中公 私钥矩阵中的对应位置,并将对应位置上的私钥的数域元素及公钥的 椭圆曲线域元素进行域上面的线性叠加,得到用户标识对应的公私钥尸《=X,.0J0④Xa,;1 0…④x"^.(w)
=(x;o,yo,少;oj.o)十(xii,",乂.iji) ..' '3^(/i—i))
^ = (。ojo + d" +…+ 、-i),;("") mod P 其中,e为椭圆曲线域ECp上元素的加法。
⑦对于生成的用户标识公私钥对进行碰撞检测,在检测到发生碰 撞时,通过修改随机生成的长度为24的比特串,或通过修改随机生 成的长度为8的比特串,或通过修改随机生成的长度为56的比特串 进行碰撞排除,直到最终生成的公私钥对通过碰撞检测。
实施例本发明将生成的用户标识公私钥对在标识公私钥对哈希 值数据库中进行碰撞检测,在检测到发生碰撞的情况下,通过修改随 机生成的长度为24的比特串,或通过修改随机生成的长度为8的比 特串,或通过修改随机生成的长度为56的比特串进行碰撞排除,直 到最终生成的公私钥对通过碰撞检测,将其输出作为用户标识的公私 钥对。
完成抗碰撞的统一用户标识公私钥对映射。
权利要求
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的比特串进行碰撞排除,直到最终生成的公私钥对通过碰撞检测;完成抗碰撞的统一用户标识公私钥对映射。
全文摘要
本发明公开了一种抗碰撞的统一用户标识公私钥对映射方法,它涉及通信网络密码学领域中通过用户标识无碰撞的映射出公私钥对的技术。它采用长度为56比特的可扩展统一用户标识、通过循环哈希抗碰撞算法防止用户公私钥对发生碰撞,并通过哈希标识值的行映射和列置换算法进行标识映射,实现以少量密钥种子生成大量用户公私钥对的目的。本发明在不损失计算效率的前提下,提高了安全性,并具有使用方便等特点,特别适用于通信网络中大规模用户通过标识进行公私钥对映射,并通过公私钥对进行安全认证和通信保密的应用。
文档编号H04L29/06GK101447980SQ20081008021
公开日2009年6月3日 申请日期2008年12月25日 优先权日2008年12月25日
发明者于红增, 何晨泽, 卢华斌, 巍 吴, 妥艳君, 张林杰, 李大艳, 浩 王, 王俊芳, 王彦敏, 军 窦, 罗春雷, 赵海强, 卓 郝 申请人:中国电子科技集团公司第五十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1