搜档网
当前位置:搜档网 › 基于FPGA的有限域乘法算法的分析和比较

基于FPGA的有限域乘法算法的分析和比较

基于FPGA的有限域乘法算法的分析和比较
基于FPGA的有限域乘法算法的分析和比较

基于FPGA的有限域乘法算法的分析和比较

鲍可进;郑博

【期刊名称】《计算机工程》

【年(卷),期】2008(034)023

【摘要】介绍椭圆曲线密码系统和超椭圆曲线密码系统中的乘法模块,在现有的3种乘法算法基础上,设计乘法的硬件框图,并用VHDL语言加以实现,同时对其实现速度和芯片面积进行比较.实验结果表明,在4个不同乘法器的实现方案中,8 bit串并混合乘法器的整体性能较优.

【总页数】3页(247-248,251)

【关键词】现场可编程门阵列;椭圆曲线密码系统;超椭圆曲线密码系统

【作者】鲍可进;郑博

【作者单位】江苏大学计算机学院,镇江,212013;江苏大学计算机学院,镇江,212013

【正文语种】中文

【中图分类】TP309.7

【相关文献】

1.面向全同态加密的有限域FFT算法FPGA设计 [J], 施佺; 韩赛飞; 黄新明; 孙玲; 谢星; 唐天泽

2.有限域乘法算法的分析和比较 [J], 刘峰山

3.基于滑动窗口技术的有限域GF(2n)乘法算法 [C], 李忠; 王毅; 彭代渊

4.基于滑动窗口技术的有限域GF(2n)乘法算法 [J], 李忠; 王毅; 彭代渊

5.基于TMS320C64X系列DSPs的有限域乘法逆元算法的设计与实现 [J], 吴亚

FPGA_ASIC-基于FPGA的ECC算法高速实现

基于FPGA 的ECC 算法高速实现? 武玉华,黄允,李艳俊,欧海文 (北京电子科技学院,北京 100070) 摘要:椭圆曲线密码体制(Elliptic Curve Cryptosystem ,ECC)是目前已知的所有公钥密码体制中能提供最高比特强度(strength-per-bit )的一种公钥加密体制。研究椭圆曲线密码算法的芯片设计有较大的研究价值和实用价值。本文在深入研究椭圆曲线加解密理论基础上,使用Verilog 硬件描述语言实现了一种ECC 加密算法,具有高速低功耗的特点。 关键词:ECC ;FPGA ;高速 中图分类号:TP309 文献标识码:A The FPGA design of ECC encryption algorithm WU Yu-hua, HUANG Yun, LI Yan-jun, OU Hai-wen (Beijing Electronic Science and Technology Institute ,Beijing 100070 China) Abstract :ECC is one of the known public crypto methods that provide the best strength-per-bit. Researching in the hardware design of ECC have much value. In this paper, we lucubrate the ECC’s theory, and implement a sort of ECC encryption algorithm, it has some advantages such as high-speed and low-exploit. Keywords :ECC; FPGA; high-speed 1 引言 1985年,Neal Koblitz 和V https://www.sodocs.net/doc/168230817.html,ler 提出了基于椭圆曲线群上离散代数问题的公钥密码体制——椭圆曲线密码体制(简记为ECC)。ECC 与RSA 相比具有密钥更短、安全性更高的特点,通常认为163位的ECC 密钥长度能够提供相当于1024位RSA 密钥长度的安全性,571位的ECC 密钥长度能够提供相当于15360位RSA 密钥长度的安全性。ECC 是目前所有公钥密码系统中单位密钥安全性最高的密码系统。因为ECC 的密钥较短,所以运算耗费的资源较少,目前ECC 广泛应用于无线连接设备中,譬如PDA, smart cards 等等。目前,欧洲、俄罗斯、韩国和中国等都己经或打算将ECC 作为国家密码标准。 椭圆曲线密码系统的基域包括素域GF (P)和二进制域GF(n 2),在硬件实现上GF(n 2)椭圆曲线密码系统占用系统资源更少,效率更高。因此最近几年有限域GF(n 2)上基本运算的硬件实现、有限域GF(n 2)上椭圆曲线密码系统的硬件实现都得到了业内重视。相对于软件实现的椭圆曲线加密/解密体制,硬件实现可以提供更高的安全性和更快的速度。本文在深入研究椭圆曲线加解密理论基础上,使用Verilog 硬件描述语言实现了一种ECC 加密算法,并通过QuartusII5.0工具进行了编译仿真,实验结果表明其功能正确,具有高速低功耗的特点。 2 椭圆曲线算法理论 2.1 椭圆曲线数学基础 2.1.1 椭圆曲线定义 椭圆曲线E 是一个光滑的Weierstrass 方程在P(K)中的全部解(x ,y)的集合。K 为域。K 上的摄影平面P(K)是一些等价类的集合{(XY :Z)}。 22322313246:E Y Z a XYZ a YZ X a X Z a XZ a Z ++=+++ 其中曲线上唯一的一个无穷远点是(0:1:0)。这个点对应于点∞。 经过上述方程作如下转化可得: 设x =X/Z,y =Y/Z ?基金项目:国家自然科学基金资助项目(70431002);北京电子科技学院信息安全与保密重点实验室基金项目(YZDJ0509)

S盒的构造及C语言实现

S盒的构造及C语言实现 在AES算法中,字节代换的设计是加密算法设计的主要部分之一.其设计不仅考虑到抗差分密码分析和线性密码分析,而且还考虑到抗代数计算的攻击,目的是保证整个密码系统的安全性.字节代换要求Nr轮的加密过程都要对状态矩阵中的字节求其在有限域GF(2。)上的乘法逆元和作GF(2)上的仿射变换,以使它的差分均匀性和线性偏差都达到最佳,这就要多次用到大运算量的非线性字节变换操作.由于在有限域GF(2。)上共有256个元素,而每个元素在特定的模运算下存在逆元,我们则可以预先通过一定的算法计算出每个元素的乘法逆元,再经相应的仿射变换后做成一个8位输入8位输出的s盒,供各轮字节代换和密钥操作的调用,从而可以缩短明文加密时间,提高整体加密效率. 2.1 有限域GF(2。)乘法逆元 算法中,状态的每一个字节的8位二进制数都可以以多项式的形式表示成有限域GF(2 )上的元 素,如,表示成多项式的形式: 要计算上的乘法,必须先确定一个上的8次不可约多项式m(x ),对于AES 密码,这个8次不可约多项式确定为: (十六进制表示为 “11B”).有限域GF(2 )上的乘法取逆可用:表示,a(x)是用多 项式表示的状态字节,为乘法取逆后的输出. 2.2 GF(2)仿射变换 仿射变换对状态字节在有限域GF(2。)上的乘法逆元进行字节变换操作,设输入字节为 ,经过仿射变换后的输出字节为,则有下面 的变换关系: 为二进制数01100011或十六进制的63.用矩阵表示的仿射变换为: 此矩阵运算,实际可以转换成字节的位运算:矩阵第一行由低位到高位二进制为:[1 0 0 0 1 1 1 1],换成16进制为:0xF1。类似的,剩下的几行可以顺次表示成:0xe3,0xc7,0x8f,0x1f,0x3e,0x7c,0xf8。这些十六进制数存放在数组b[]中。实现上述矩阵的乘法就可以转化成

AES算法的数学理论基础分析

AES算法的数学理论基础分析 一、AES算法 随着计算机技术和通信技术的深入发展,解密技术的快速演进已经严重影响了DES 密码系统的安全性, 用户对信息的安全存储、安全处理和安全传输的需求越来越高。Rijndael 算法以它在广泛的计算环境中硬件和软件实现都能表现出的良好性能、建立密钥时间短, 灵敏性高以及能够抵抗强力攻击和时间选择攻击被NIST 不加修改的作为AES 的唯一算法。AES 是一种迭代分组加密算法。 二、AES的数学基础 1.有限域GF(28):特征为2的具有28元素的有限域 有限域中的元素表示方法: ①二进制表示法(字节表示):字节B=b7b6b5b4b3b2b1b0=01010111 ②十六进制表示法:“57” ③多项式表示法:b7x7b6x6b5x5b4x4b3x3b2x2b1x1b0x0 “57”表示为x6+x4+x2+x+1 2.字节运算:有限域GF(28)上的运算 在多项式表示中,GF(28)上两个元素的和仍然是一个次数不超过7的多项式,其系数等于两个元素对应系数的模2加(比特异或)。由于每个元素的加法逆元等于自己,所以减法和加法相同。 要计算GF(28)上的乘法,必须先确定一个GF(2) 上的8次不可约多项式;GF(28)上两个元素的乘积就是这两个多项式的模乘(以这个8次不可约多项式为模)。 在Rijndael密码中,这个8次不可约多项式确定为m(x)= x8+x4+x3+x+1十六进制表示为‘11B’。3.AES的字表示与运算 AES处理的单位是字节和字,字是4个字节构成的向量。一个字表示为系数在GF(28)上的次数小于4的多项式。 字加法:两多项式系数按位模2 加; 字乘法:设ac是两个字,a(x)和c(x)是其字多项式,乘积为a(x)c(x)mod(x4+1) 三、AES算法实现 1.加密算法过程实现 以分组长度为128bit, 密钥长度为128bit 介绍AES 算法实现。因Nb=4,Nk=4, 所以与之相应

相关主题