发明名称 p元域SM2椭圆曲线公钥加密、解密与加解密混合系统
摘要 本发明涉及p元域SM2椭圆曲线公钥加密、解密与加解密混合系统。该系统包括:执行判断、比特串拼接、密码杂凑、与其他模块进行数据交换以控制其他模块工作时序的加密方控制中心、生成随机数的随机数生成模块、执行倍点运算功能的倍点运算模块、执行密钥派生功能的密钥派生模块,且各模块均用硬件实现。本发明能用硬件实现SM2椭圆曲线公钥密码算法中的公钥加密算法。
申请公布号 CN102761412A 申请公布日期 2012.10.31
申请号 CN201110107570.7 申请日期 2011.04.27
申请人 航天信息股份有限公司 发明人 徐树民;屈善新;刘振;王绍麟;田心;刘建巍
分类号 H04L9/30(2006.01)I;H04L9/08(2006.01)I 主分类号 H04L9/30(2006.01)I
代理机构 北京科龙寰宇知识产权代理有限责任公司 11139 代理人 孙皓晨
主权项 一种p元域SM2椭圆曲线公钥加密系统,所述椭圆曲线具有基G、余因子h、阶、n;公钥为PB;其特征在于,该系统包括:加密方控制中心、随机数生成模块、倍点运算模块、密钥派生模块;其中,所述加密方控制中心用于,接收长度为klen比特的待加密消息M;将随机数k和点G作为一组倍点运算数据发送到所述倍点运算模块,并接收其返回的点C1的坐标(x1,y1);将点C1转换为比特串C1;将余因子h和点PB作为一组倍点运算数据发送到所述倍点运算模块,并接收其返回的点S的坐标;判断S是否为无穷远点,在判断结果为是的情况下输出本次加密因失败而结束的消息;将随机数k和点PB作为一组倍点运算数据发送到所述倍点运算模块,并接收其返回的点的坐标(x2,y2);将x2和y2拼接为比特串x2‑y2;将标量klen与比特串x2‑y2作为一组密钥派生数据发送到所述密钥派生模块,并接收其返回的比特串t;判断t是否为全0比特串,在判断结果为是的情况下,通知所述随机数生成模块重新生成随机数k,在判断结果为否的情况下,对M与t进行按位异或运算,得到比特串C2;将x2、M和y2拼接而成的比特串x2‑M‑y2进行密码杂凑运算,生成杂凑值C3;将比特串C1、C2和C3拼接为新的比特串C1‑C2‑C3,并将其作为密文C输出;所述随机数生成模块用于,生成1与(n‑1)之间的随机数k,并将其发送到所述加密方控制中心;所述倍点运算模块用于,对倍点运算数据中的点进行其中的标量倍点运算,将运算结果返回所述加密方控制中心;所述密钥派生模块用于,对密钥派生数据中的比特串进行密钥派生运算,将得到的长度为密钥派生数据中的标量的比特串返回所述加密方控制中心。
地址 100195 北京市海淀区杏石口路甲18号