基于组合密钥体系的密钥生成和发放方法技术

技术编号:9520644 阅读:154 留言:0更新日期:2014-01-01 17:56
基于组合密钥体系的密钥生成和发放方法,其包括:用户终端实体生成随机数rkeyid,计算公钥rPKid;密钥管理子系统生成随机数rkeyKMC,计算公钥rPKKMC,并记γid=rPKid+rPKKMC;利用用户标识UID计算标识私钥keyid和标识公钥Ri;利用标识私钥keyid对γid进行签名,并发布γid和公钥矩阵;计算用户私钥生成因子s,利用公钥rPKid加密用户私钥生成因子s得到密文数据,并将所述密文数据发送给用户终端实体;用户终端实体利用随机数rkeyid对密文数据进行解密,得到用户私钥生成因子s,并计算用户私钥skid。本发明专利技术能够防止密钥管理子系统恶意仿冒用户私钥进行非法操作,防止被复制和被篡改,抗共谋,保护用户隐私。

【技术实现步骤摘要】

【技术保护点】
基于组合密钥体系的密钥生成和发放方法,其特征在于,包括以下步骤:步骤1、用户终端实体生成随机数rkeyid,利用椭圆曲线密码算法计算其相应的公钥rPKid,其中rPKid=rkeyid·G,G为椭圆曲线的基点,将公钥rPKid和用户标识UID对外发送;步骤2、密钥管理子系统接收公钥rPKid和用户标识UID,生成随机数rkeyKMC,利用椭圆曲线密码算法计算其相应的公钥rPKKMC,其中rPKKMC=rkeyKMC·G,并记γid=rPKid+rPKKMC;利用用户标识UID计算标识私钥keyid和标识公钥Rid,具体为:生成私钥矩阵和公钥矩阵,私钥矩阵和公钥矩阵的大小均为m×h,m和h均为正整数;利用用户标识UID使用散列算法计算用户标识UID的散列值,将所述散列值分为m段,作为私钥矩阵和公钥矩阵的列映射值map[i],i=0,1,2......m?1;计算keyid=(Σi=0m-1ri,map[i])modn,Rid=(Σi=0m-1Xi,map[i])modn;其中,ri,map[i]为私钥矩阵中的一个元素;Xi,map[i]为公钥矩阵中的一个元素;n为椭圆曲线的阶;步骤3、密钥管理子系统利用标识私钥keyid对γid进行签名,并发布γid和公钥矩阵,以使验证方利用用户标识UID、公钥矩阵 和γid得到用户公钥pk,其中,pk=γid+Rid;步骤4、密钥管理子系统计算用户私钥生成因子s,其中,s=rkeyKMC+keyid,利用公钥rPKid加密用户私钥生成因子s得到密文数据,并将所述密文数据发送给用户终端实体;步骤5、用户终端实体利用随机数rkeyid对密文数据进行解密,得到用户私钥生成因子s,并计算用户私钥skid;其中,skid=s+rkeyid。...

【技术特征摘要】

【专利技术属性】
技术研发人员:叶录高田文春
申请(专利权)人:广东南方信息安全产业基地有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1