你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 计算机安全与维护
IDEA对称密码算法剖析(九)
 

//   实现模2^16+1乘运算,参数为 一个16位分组, 一个子密钥

uint16 mul(uint16 a, uint16 b)

{

   word32 p;

 

   if (a)

   {

      if (b)

      {

     p=(word32)a*b;

     b=(uint16)(low16(p));   // 取低16位作为b的值

     a=(uint16)(p>>16);    //取得高16位作为a的值

     return b-a+(b<a);  

      }

      else

      {              

         return 1-a; 

      }

   }

   else

      return 1-b;  

}

 

#define MUL(x,y) (x=mul(low16(x),y))  // 2^16+1乘后值赋给X(子分组)

 

 

#define CONST

 

static void cipher_idea(word16 in[4],word16 out[4],register CONST IDEAkey Z)

{

   register uint16 x1,x2,x3,x4,t1,t2;

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089