您所在的位置: 首页>>读书频道>>安全>>加密解密>>

8.3.1 表示

http://book.51cto.com  2007-08-13 10:30  Tom St Denis; Simon Johnson著 沈晓斌译  机械工业出版社华章公司  我要评论(0)
8.3 算法
8.3.1 表示

在研究高效的公钥密码所需要的算法之前,我们必须讨论用来表示这些整数的结构。针对我们的目的,我们将借助于TomsFastMath包,它使用了一种类似于下面的结构:


其中fp_digit是一个表示单独数字的类型,一般等价于unsigned long,但可以根据平台来改变。和它一起的是我们还没有看到的fp_word类型。它是fp_digit的两倍大小并且能够存储两个最大的fp_digit值的乘积。FP_SIZE宏是默认的最大整数大小。它基于数字的大小以及所需的位数。
例如,fp_digit是一个32位的类型,并且你希望表示384位的整数,那么FP_SIZE必须至少为12。
used标志表示数组dp中有多少个数字是非零的。这使得我们可以更高效地操作更短的整数。
例如,虽然你的整数可以多达12个数字,但并不意味着它们都将会是那么大。对仅有6个数字的数执行12数字的操作将浪费时间和资源。
sign标志表示整数的符号。如果它为0,表示非负数;如果它是非零值,就表示负数。这意味着我们的整数总是无符号的而且只有这个标志控制这种状态。
fp_int类型的数字以little-endian的形式来使用。例如,fp_digit是32位的,数组dp包含{1, 2,3, 4, 0, 0, 0, ..., 0},那么这就表示整数1+2×232 + 3×264 + 4×296。
【责任编辑:杨硕 TEL:(010)68476636-8001】

回书目   上一节   下一节
上一篇: 8.2 什么是BigNum 下一篇: 8.3.2 乘法
如何有效提升企业安全审计应用水平
如何有效防御SQL注入攻击
Web安全云时代
NAC安全访问控制
微软Forefront企业安全解决方案
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有