有限域逆元算法的实现

第30卷 第17期Vol.30 № 17

・开发研究与设计技术・

计 算 机 工 程Computer Engineering

文章编号:1000—3428(2004)17 —0184 —02

2004年9月September 2004

中图分类号:TN918

文献标识码:A

有限域逆元算法的实现

刘文江,董 威,戎蒙恬

(上海交通大学信息安全学院,上海200030)

摘 要:在扩展欧几里得算法的基础上提出了有限域乘法逆元的计算方法。给出了该算法的硬件结构图。该算法的优点是其时间复杂度和空间复杂度较优,便于VLSI 的实现。关键词:有 限域;乘法逆元;椭圆曲线;欧几里得

Implementation for Computing Division in Galois Fields

LIU Wenjiang, DONG Wei, RONG Mengtian

(College of Information Security, Shanghai Jiaotong University, Shanghai 200030)

【Abstract 】An implementation for computing multiplicative inverses in Galois fields GF(2m ) is presented. The algorithm is based on a modification of Euclid's algorithm. The architecture of circle for VLSI is also presented.【Key words】Finite field; Multiplicative inverse; ECC; Euclid

随着非对称密码学的发展,椭圆曲线(ECC )密码学因数器的变化。

表1 寄存器和计数器数据为其独特的优势,渐渐取代RSA 在非对称密码学中的地位,

现在ECC 广泛使用在无线通信和Smart 卡中,完成加密、签Signals Registers Counter 名等功能。ECC 的优势在于它可以使用比RSA 少得多的比特r m s m Delta=0R S U V Delta 数目的密钥达到同样的保密效果。尽管这样,ECC 中的密钥0X X x.R S x.U V Delta+1长度还是比较大的,实际应用中的密钥长度有192、256等100s.S R x.V U Delta+1不同等级,应用中涉及到大数的存储和运算,因此对空间和101R x.S U/xV Delta-1

时间的要求特别高,本文充分考虑了二者的复杂度,提出了110x.(S-R)R x.(V-U)U Delta+1扩展欧几里得算法,具有很好的效果。1R x.(S-R)U/xV-U Delta-1111 欧几里得算法

简化上表, 同时引进两个变量T 和W, 这两个变量的值是:

有限域GF (2m )是包含了2m 个元素的代数系统,该系统

T

=S W=V rm =0 s或者m =0

的每个元素都能够表示成小于m 次的多项式,该多项式的每

T =S -R W=V -U rm =s m =1个系数要么是1,要么是0。在有限域上定义了加法、减法、

简化后寄存器和计数器数据见表2。乘法、求逆运算。下面提到的B(x)是需要求逆的多项式,它是定义在GF (2m )中的元素。F(x)是一个定义在GF (2m )不

可约多项式。求逆的算法有很多种,本文在利用扩展欧几里德的计算两个多项式的最大公约数的基础上,提出了一个基于有限域的乘法逆元的算法。

Inversion :

F:=F(x); Delta:=0; S:=F(x); R:=B(x); V:=0; U:=1;For i:=1 to 2m doIf rm =0

then R:=x.R; U=(x.U) MOD F; Delta+=1;Else

If sm =1 then S:=S-R;V:=(V-U) MOD F ; End;S:=x.S;

If delta=0 then

(R←→S); (UV); U:=(x.U) MOD F; delta:=1 Else

U: = (U/x) MOD F; Delta-=1; End;End;

-1

End; (B(x)=U=V)

表2 简化后寄存器和计数器数据

r m =0

Delta=0

R S U V

B(X)F(x)10

x.R T x.U W

x.T R x.W U

Init

rm =1

Delta0

R x.T U/xW

0Delta+1Delta+1Delta-1Delta

寄存器R 和S 有数据来往,U 和V 寄存器有数据来往。R 、S 和U 、V 之间没有数据交换,引入下面4个控制信号:

MultR :=(r m =0)

MultU :=(r m =0)or (delta =0)Swtich :=(r m =1)&(delta =0)Reduce :=(r m =1)&(s m =1)

多项式R 和S 放在(m +1)比特的寄存器〔r m …r 0〕和〔s m …s 0〕中。U 和V 分别放在m 比特寄存器〔u m …u 0〕和

2 硬件实现

首先观察一下R 、S 、U 、V 寄存器的数据流,表1根据r m

和s m 以及delta 的值确定了R 、S 、U 、V 寄存器的数据流和计

—184—

〔v m …v 0〕中。另外还有一个log 2(m +1)比特的加减计数器存储delta 的值。

在计算U 时涉及到对U x x乘以和除以,然后将结果对F(x)求模,假设

F(x)=x m +fm-1x m-1+fm-2x m-2+…+f1x+f0x.U x.[u==m-2…u 0,0]+u m-1x m m-1卽0] [u [u=m-2卽0,0]+u m-1 [fm-1…f 0]

-1

U/x [u=m-1卽0]/x [0,u=m-1…u 1]+u 0.x [0,u=m-1卽1]+u 0 [1,fm-2…f 1]

根据上面的结果,对U -V 引入第5个控制信号:

Carry =(~Rm &Um-1) OR (Rm &~Sm &Zero&Vm-1) OR (Rm &

S m &Zero&(Vm-1^ Um-1))OR(~MultU&U0) 其中,Zero := ( Delta =0)。

该算法的总体硬件结构图如图1所示。D-Cell 电路图如图2所示,M-Cell 电路图如图3所示。

图D -Cell 电路 2

-Cell 电路图3 M

参考文献

1 Wang C C, Truong T K, Shao H M, et al. VLSI Architectures for Com-puting Multiplications and Inverses in GF(2m). IEEE Trans.Comput., 1985, C-34(8): 709-717

2 Araki K, Fujita I, Morisue M. Fast Inverters over Finite Field Based on Euclid's Algorithm. Trans. IEICE,1998,E-72(11):1230-1234

图1 总体硬件结构图

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

(上接第113页)

X ,Y 各异,因此攻击者重放已经截获的信息是无法通过服务器认证的。

(3)认证过程是安全的。假设入侵者可以截获合法认证过程中的任何通信数据进行分析,他从截获的ID' 中是无法获取uid 的,当然他直接发送截获的ID' 也能通过服务器的初步认证,但由于口令pwd 根本不通过网络传输,因而他不可能从截获的数据中解析出pwd ,准确算出校验符A 的值,从而无法通过下一步的认证,故方案的整个认证过程是安全的。由于用户标识uid 加密传输,口令pwd 和密钥K 不通过网络传输以及随机数R i 的不重复性,因而字典攻击、口令字猜测等常用的攻击手段对此是无能为力的。

(4)假冒攻击。方案的认证过程可以抵抗来自客户端的假冒攻击,这是因为攻击者不知道用户标识uid 、口令pwd ,从而不能算出校验符A 的值,不能进一步构造出验证数据X 、Y 而无法通过服务器的认证。

同样的,该认证过程也能有效地防御来自服务器端的假冒攻击,不会使合法用户的合理要求得不到满足。当用户向服务器提出认证请求时,要求服务器发送的挑战报文中包含用户标识uid 和密钥K 的Hash 值,用户可以对此Hash 值来进行校验,防止来自服务器的欺骗。

在效率方面,本方案将生成随机数R i 的工作移到客户端执行,大大减少了服务器的额外开销,提高了服务器的运行效率。

4 结束语

本文分析了当前较为常见的几种一次性口令身份认证方案。以挑战/应答方案为基础,基于安全单向散列函数设计了一种能有效适用于网络环境的一次性身份认证方案。该方案能够对通信双方实行相互认证,减少了服务器的开销,克服了传统的挑战/应答方案的弱点,有效地保护了用户身份信息,能防止重放攻击等常用攻击手段的攻击,通过传送两个验证数据X 、Y 增强了认证过程的安全性。但本方案还存在着计算量较大的缺陷:在一次身份认证过程中服务器需执行2次Hash 运算,客户端需执行4次Hash 运算。所以本方案将来还需进一步完善和提高。

参考文献

1 Lamport L. Password Authentication with Insecure Communication[J]. Communications of the ACM,1981,24(11):770-772

应用密码学-协议、算法与C 源程序[M]. 北京:机2 (美)Schneier B.

械工业出版社,2000

张建伟李鑫张梅峰基于算法的身份鉴别技术的研究与 3 , , . MD5实现[J]. 2003计算机工程,,29(4):118-119

—185—

第30卷 第17期Vol.30 № 17

・开发研究与设计技术・

计 算 机 工 程Computer Engineering

文章编号:1000—3428(2004)17 —0184 —02

2004年9月September 2004

中图分类号:TN918

文献标识码:A

有限域逆元算法的实现

刘文江,董 威,戎蒙恬

(上海交通大学信息安全学院,上海200030)

摘 要:在扩展欧几里得算法的基础上提出了有限域乘法逆元的计算方法。给出了该算法的硬件结构图。该算法的优点是其时间复杂度和空间复杂度较优,便于VLSI 的实现。关键词:有 限域;乘法逆元;椭圆曲线;欧几里得

Implementation for Computing Division in Galois Fields

LIU Wenjiang, DONG Wei, RONG Mengtian

(College of Information Security, Shanghai Jiaotong University, Shanghai 200030)

【Abstract 】An implementation for computing multiplicative inverses in Galois fields GF(2m ) is presented. The algorithm is based on a modification of Euclid's algorithm. The architecture of circle for VLSI is also presented.【Key words】Finite field; Multiplicative inverse; ECC; Euclid

随着非对称密码学的发展,椭圆曲线(ECC )密码学因数器的变化。

表1 寄存器和计数器数据为其独特的优势,渐渐取代RSA 在非对称密码学中的地位,

现在ECC 广泛使用在无线通信和Smart 卡中,完成加密、签Signals Registers Counter 名等功能。ECC 的优势在于它可以使用比RSA 少得多的比特r m s m Delta=0R S U V Delta 数目的密钥达到同样的保密效果。尽管这样,ECC 中的密钥0X X x.R S x.U V Delta+1长度还是比较大的,实际应用中的密钥长度有192、256等100s.S R x.V U Delta+1不同等级,应用中涉及到大数的存储和运算,因此对空间和101R x.S U/xV Delta-1

时间的要求特别高,本文充分考虑了二者的复杂度,提出了110x.(S-R)R x.(V-U)U Delta+1扩展欧几里得算法,具有很好的效果。1R x.(S-R)U/xV-U Delta-1111 欧几里得算法

简化上表, 同时引进两个变量T 和W, 这两个变量的值是:

有限域GF (2m )是包含了2m 个元素的代数系统,该系统

T

=S W=V rm =0 s或者m =0

的每个元素都能够表示成小于m 次的多项式,该多项式的每

T =S -R W=V -U rm =s m =1个系数要么是1,要么是0。在有限域上定义了加法、减法、

简化后寄存器和计数器数据见表2。乘法、求逆运算。下面提到的B(x)是需要求逆的多项式,它是定义在GF (2m )中的元素。F(x)是一个定义在GF (2m )不

可约多项式。求逆的算法有很多种,本文在利用扩展欧几里德的计算两个多项式的最大公约数的基础上,提出了一个基于有限域的乘法逆元的算法。

Inversion :

F:=F(x); Delta:=0; S:=F(x); R:=B(x); V:=0; U:=1;For i:=1 to 2m doIf rm =0

then R:=x.R; U=(x.U) MOD F; Delta+=1;Else

If sm =1 then S:=S-R;V:=(V-U) MOD F ; End;S:=x.S;

If delta=0 then

(R←→S); (UV); U:=(x.U) MOD F; delta:=1 Else

U: = (U/x) MOD F; Delta-=1; End;End;

-1

End; (B(x)=U=V)

表2 简化后寄存器和计数器数据

r m =0

Delta=0

R S U V

B(X)F(x)10

x.R T x.U W

x.T R x.W U

Init

rm =1

Delta0

R x.T U/xW

0Delta+1Delta+1Delta-1Delta

寄存器R 和S 有数据来往,U 和V 寄存器有数据来往。R 、S 和U 、V 之间没有数据交换,引入下面4个控制信号:

MultR :=(r m =0)

MultU :=(r m =0)or (delta =0)Swtich :=(r m =1)&(delta =0)Reduce :=(r m =1)&(s m =1)

多项式R 和S 放在(m +1)比特的寄存器〔r m …r 0〕和〔s m …s 0〕中。U 和V 分别放在m 比特寄存器〔u m …u 0〕和

2 硬件实现

首先观察一下R 、S 、U 、V 寄存器的数据流,表1根据r m

和s m 以及delta 的值确定了R 、S 、U 、V 寄存器的数据流和计

—184—

〔v m …v 0〕中。另外还有一个log 2(m +1)比特的加减计数器存储delta 的值。

在计算U 时涉及到对U x x乘以和除以,然后将结果对F(x)求模,假设

F(x)=x m +fm-1x m-1+fm-2x m-2+…+f1x+f0x.U x.[u==m-2…u 0,0]+u m-1x m m-1卽0] [u [u=m-2卽0,0]+u m-1 [fm-1…f 0]

-1

U/x [u=m-1卽0]/x [0,u=m-1…u 1]+u 0.x [0,u=m-1卽1]+u 0 [1,fm-2…f 1]

根据上面的结果,对U -V 引入第5个控制信号:

Carry =(~Rm &Um-1) OR (Rm &~Sm &Zero&Vm-1) OR (Rm &

S m &Zero&(Vm-1^ Um-1))OR(~MultU&U0) 其中,Zero := ( Delta =0)。

该算法的总体硬件结构图如图1所示。D-Cell 电路图如图2所示,M-Cell 电路图如图3所示。

图D -Cell 电路 2

-Cell 电路图3 M

参考文献

1 Wang C C, Truong T K, Shao H M, et al. VLSI Architectures for Com-puting Multiplications and Inverses in GF(2m). IEEE Trans.Comput., 1985, C-34(8): 709-717

2 Araki K, Fujita I, Morisue M. Fast Inverters over Finite Field Based on Euclid's Algorithm. Trans. IEICE,1998,E-72(11):1230-1234

图1 总体硬件结构图

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

(上接第113页)

X ,Y 各异,因此攻击者重放已经截获的信息是无法通过服务器认证的。

(3)认证过程是安全的。假设入侵者可以截获合法认证过程中的任何通信数据进行分析,他从截获的ID' 中是无法获取uid 的,当然他直接发送截获的ID' 也能通过服务器的初步认证,但由于口令pwd 根本不通过网络传输,因而他不可能从截获的数据中解析出pwd ,准确算出校验符A 的值,从而无法通过下一步的认证,故方案的整个认证过程是安全的。由于用户标识uid 加密传输,口令pwd 和密钥K 不通过网络传输以及随机数R i 的不重复性,因而字典攻击、口令字猜测等常用的攻击手段对此是无能为力的。

(4)假冒攻击。方案的认证过程可以抵抗来自客户端的假冒攻击,这是因为攻击者不知道用户标识uid 、口令pwd ,从而不能算出校验符A 的值,不能进一步构造出验证数据X 、Y 而无法通过服务器的认证。

同样的,该认证过程也能有效地防御来自服务器端的假冒攻击,不会使合法用户的合理要求得不到满足。当用户向服务器提出认证请求时,要求服务器发送的挑战报文中包含用户标识uid 和密钥K 的Hash 值,用户可以对此Hash 值来进行校验,防止来自服务器的欺骗。

在效率方面,本方案将生成随机数R i 的工作移到客户端执行,大大减少了服务器的额外开销,提高了服务器的运行效率。

4 结束语

本文分析了当前较为常见的几种一次性口令身份认证方案。以挑战/应答方案为基础,基于安全单向散列函数设计了一种能有效适用于网络环境的一次性身份认证方案。该方案能够对通信双方实行相互认证,减少了服务器的开销,克服了传统的挑战/应答方案的弱点,有效地保护了用户身份信息,能防止重放攻击等常用攻击手段的攻击,通过传送两个验证数据X 、Y 增强了认证过程的安全性。但本方案还存在着计算量较大的缺陷:在一次身份认证过程中服务器需执行2次Hash 运算,客户端需执行4次Hash 运算。所以本方案将来还需进一步完善和提高。

参考文献

1 Lamport L. Password Authentication with Insecure Communication[J]. Communications of the ACM,1981,24(11):770-772

应用密码学-协议、算法与C 源程序[M]. 北京:机2 (美)Schneier B.

械工业出版社,2000

张建伟李鑫张梅峰基于算法的身份鉴别技术的研究与 3 , , . MD5实现[J]. 2003计算机工程,,29(4):118-119

—185—


相关文章

  • 西安邮电大学算法资料
  • 选择: 1.算法的性质包括输入.输出.( A ).有限性. A. 确定性 B. 随机性 C. 复杂性 D. 渐近复杂性 2.备忘录法是那种算法的变形( B ). A.分治算法 B.动态规划算法 C.贪心算法 D.回溯法 3.具有最优子结构的 ...查看


  • 网络编码算法研究综述
  • 网络编码算法研究综述 1. 引言 目前通信网络在各行各业已经显示出越来越重要的作用.但是与此同时由于网络使用者数量的骤增和网络服务需求和网络传输质量的多样化使得如何对网络进行优化从而最大限度地利用网络的现有资源成为当前研究者们所关注的重要问 ...查看


  • 监控图像模糊 高清新技术解决
  • 监控图像模糊 高清新技术解决时间:2012-12-10 10:01:18 清晰.通透的画质能让人赏心悦目‚逼真的色泽还能提升监控人员的心绪‚但现实是‚图像模糊不清的情况却常有发生‚而最为恼人的事是面对模糊图像‚监控人员却丈二和尚摸不着头脑‚ ...查看


  • 1.1算法的含义
  • (第1课时) §1.1 算法的含义 教学目标:1.通过实例体会算法思想,了解算法的含义与主要特点: 2.能按步骤用自然语言写出简单问题的算法过程学: 3.培养学生逻辑思维能力与表达能力. 教学重点:将问题的解决过程用自然语言表示为算法过程. ...查看


  • 多重网格法在求解泊松方程中的应用进展
  • 36 内蒙古石油化工 2011年第24期 多重网格法在求解泊松方程中的应用进展 杨金凤, 邓居智, 陈 辉 (东华理工大学放射性地质与勘探技术国防重点学科实验室, 江西抚州 344000) 摘 要:多重网格(Multigrid, 简称M G ...查看


  • 自适应滤波器论文
  • 自适应滤波器论文 1 绪 论 人类传递信息的主要媒介是语言和图像.据统计,在人类接受的信息中,听觉信息占20%,视觉信息占60%,其中如味觉.触觉.嗅觉总的加起来不过占20%,所以图像信息是十分重要的信息.然而,在图像的获取和图像信号的传输 ...查看


  • 结构拓扑优化综述
  • 专题论坛ForumonSpecialTopic 结构拓扑优化综述 谢涛, 刘静, 刘军考 (哈尔滨工业大学机电工程学院,哈尔滨150001) 摘要:回顾了结构拓扑优化的发展过程,总结了离散变量结构和连续体结构拓扑优化的一些常用方法,并对结构 ...查看


  • 结构拓扑优化综述_谢涛
  • 专题论坛ForumonSpecialTopic 结构拓扑优化综述 谢涛, 刘静, 刘军考 (哈尔滨工业大学机电工程学院,哈尔滨150001) 摘要:回顾了结构拓扑优化的发展过程,总结了离散变量结构和连续体结构拓扑优化的一些常用方法,并对结构 ...查看


  • 密码安全精简
  • 1.(联邦调查局)NSA (国家安全局)RSA (数据安全公司)NBS (国家标准局) FIPS (联邦信息处理标准)ANSI (美国国家标准协会) 2.已知q=13 , g=7 :A 和B 分别选择随机数Xa=5 ,Xb=8试写DH 公钥 ...查看


热门内容