【技术实现步骤摘要】
本专利技术为针对有限域GF(2m)上圆锥曲线的公钥密码体制而建立在硬件芯片上的加密、解密方法,属于信息安全领域。
技术介绍
密码技术已经成为信息安全的核心技术。人们利用计算机网络通信时,所面临的信息保密性、完整性、可用性和防欺骗性等问题,都可以通过密码技术来解决。当今的密码技术可以大致分为两种体制私钥密码体制(又称对称密码体制)和公钥密码体制(又称非对称密码体制)。由于公钥密码体制在密钥协商、数字签名、消息认证等方面的重要优势,因此,已逐渐成为当今密码技术的核心。圆锥曲线密码体制是一种新型的公钥密码体制,在圆锥曲线上的各项计算比椭圆曲线上更简单,并且圆锥曲线上的离散对数问题在圆锥曲线的阶和椭圆曲线的阶相同的情况下,是一个不比椭圆曲线容易的问题。所以,圆锥曲线密码学已成为密码学中的一个重要的研究领域,迄今为止对圆锥曲线密码学的研究成果都是以有限域GF(p)上的圆锥曲线为基础的算法,没有任何装置出现。由于在有限域GF(2m)上的各项运算更适宜软、硬件实现,因此,若把有限域GF(p)上的圆锥曲线公钥密码算法推广到有限域GF(2m)上,并利用硬件对运算进行处理和实现,将显著提高圆锥曲线公钥密码算法的运算速度。利用有限域GF(2m)上的圆锥曲线公钥思想在硬件芯片上实现圆锥曲线公钥密码算法大大拓展了该算法在实际中的应用。
技术实现思路
本专利技术的主要目的在于提出在硬件平台上提高圆锥曲线公钥加密、解密计算速度的方法。本专利技术具体的创新点在于提出了基于有限域GF(2m)的圆锥曲线,并通过ElGamal公钥加密方案实现基于圆锥曲线上的加密、解密算法,及此算法在硬件芯片上的 ...
【技术保护点】
一种基于有限域GF(2↑[m])的圆锥曲线公钥加密方法,其特征在于,它包括以下步骤:1)将有限域GF(2↑[m])上的圆锥曲线C(GF(2↑[m]))固化在FlashRom中,其中圆锥曲线C(GF(2↑[m]))的定义为C(GF (2↑[m]))∶y↑[2]+xy≡ax↑[2]+bxmodf(x),a,b∈GF(2↑[m])为圆锥曲线上的参数,且其中f(x)是构造有限域GF(2↑[m])的既约多项式,次数m=deg(f)为域长度,引入参数t,其几何解释为原点(0 ,0)和点P=p(t)∈C(GF(2↑[m]))所确定直线的斜率,那么,有限域GF(2↑[m])上圆锥曲线的全部点表示为:C(GF(2↑[m]))∶P={p(t)=(x,y)=(b(t↑[2]+t+a)↑[-1],bt(t↑[2]+ t+a)↑[-1])|t∈GF(2↑[m]),t↑[2]+t≠a}∪{p(∞)=(0,0)}其中,(t2+t+a)-1为(t2+t+a)在有限域GF(2↑[m])上的乘法逆元,它可利用扩展欧几里得算法求解;将圆锥曲线C(GF(2↑[ m])) ...
【技术特征摘要】
1.一种基于有限域GF(2m)的圆锥曲线公钥加密方法,其特征在于,它包括以下步骤1)将有限域GF(2m)上的圆锥曲线C(GF(2m))固化在Flash Rom中,其中圆锥曲线C(GF(2m))的定义为C(GF(2m))y2+xy≡ax2+bx modf(x),a,b∈GF(2m)为圆锥曲线上的参数,且其中f(x)是构造有限域GF(2m)的既约多项式,次数m=deg(f)为域长度,引入参数t,其几何解释为原点(0,0)和点P=p(t)∈C(GF(2m))所确定直线的斜率,那么,有限域GF(2m)上圆锥曲线的全部点表示为C(GF(2m))P={p(t)=(x,y)=(b(t2+t+a)-1,bt(t2+t+a)-1)|t∈GF(2m),t2+t≠a}∪{p(∞)=(0,0)}其中,(t2+t+a)-1为(t2+t+a)在有限域GF(2m)上的乘法逆元,它可利用扩展欧几里得算法求解;将圆锥曲线C(GF(2m))上的加法运算规则、加法逆运算规则、编码算法规则、解码算法规则固化在圆锥曲线基本运算单元CCCB中,其中圆锥曲线C(GF(2m))上加法运算的定义为①对于P=p(t)∈C(GF(2m)),满足p(t)p(∞)=p(∞)p(t)=p(t);②设P1=p(t1),P2=p(t2),P3=p(t3)∈C(GF(2m))且t1,t2≠∞,定义P1P2=P3,即p(t1)p(t2)=p(t3),其中 圆锥曲线C(GF(2m))上的加法逆运算的定义为C(GF(2m))上点P=p(t)的逆元记作-P,-P也是C(GF(2m))上一点,且-P=p(t+1),-p(∞)=p(∞);编码算法的定义为m→p(m)或m→(xm,ym)=(b(m2+m+a)-1,bm(m2+m+a)-1);解码算法的定义为p(m)→m或ym xm-1→m;圆锥曲线C(GF(2m))上的点和加法运算构成有限交换群,且该群的阶#C(GF(2m)),即圆锥曲线C(GF(2m))的点数为 将标量乘运算规则固化在标量乘运算单元CCCM中,其中圆锥曲线C(GF(2m))上标量乘运算的定义为k是一个整数且P=p(t)∈C(GF(2m)),记 2)随机数发生器RG随机选择圆锥曲线C(GF(2m)上的一个基点P=p(g),并随机产生一个整数d,其中点P的阶为ord(P),d∈,将d作为私钥,控制器Controller启动圆锥曲线公钥加密/解密芯片CCED,圆锥曲线公钥加密/解密芯片CCED的标量乘运算单元CCCM自动进行私钥d与基点P的标量乘运算Q=p(q)=dP==dp(g),得到公钥Q,以上参数暂存在参数寄存器PReg中,并保存到Flash ROM中;3)圆锥曲线公钥加密/解密芯片CCED的主控制器MC将加密解密流程控制器ENDEU的工作模式选为加密,加密解密流程控制器ENDEU控制圆锥曲线基本运算单元CCCB将存储器Memory中的明文m编码为M=p(m),并从FlashROM中获取公钥Q,然后随机数发生器RG随机生成整数k∈,加密解密流程控制器ENDEU控制标量乘运算单元CCCM将k分别与圆锥曲线基点P和公钥Q进行标量乘运算,得到kP和kQ,其中kP记为c1;然后,加密解密流程控制...
【专利技术属性】
技术研发人员:蔡永泉,赵磊,靳岩岩,肖创柏,
申请(专利权)人:北京工业大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。