免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2307 | 回复: 13
打印 上一主题 下一主题

例子-不解之处 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-15 13:15 |只看该作者 |倒序浏览
#include "vl.h"
#include "aes.h"

#define NDEBUG
#include <assert.h>

typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t u8;

#define MAXKC   (256/32)
#define MAXKB   (256/
#define MAXNR   14

/* This controls loop-unrolling in aes_core.c */
#undef FULL_UNROLL
# define GETU32(pt) (((u32)(pt)[0] << 24) ^ ((u32)(pt)[1] << 16) ^ ((u32)(pt)[2] <<   ^ ((u32)(pt)[3]))
# define PUTU32(ct, st) { (ct)[0] = (u((st) >> 24); (ct)[1] = (u((st) >> 16); (ct)[2] = (u((st) >>  ; (ct)[3] = (u(st); }

/*
这里的#undef FULL_UNROLL 谁知道干什么用的

论坛徽章:
0
2 [报告]
发表于 2007-06-15 13:21 |只看该作者
/* This controls loop-unrolling in aes_core.c */

论坛徽章:
0
3 [报告]
发表于 2007-06-15 13:22 |只看该作者

回复 2楼 langue 的帖子

版主你MSN多少我想联系你下.让你看下我手上的例子
代码太多不能全部粘贴上来..

论坛徽章:
0
4 [报告]
发表于 2007-06-15 13:23 |只看该作者
还有doctorjxd 的联系方式,感谢各位朋友对我的帮助.不慎感激..

论坛徽章:
0
5 [报告]
发表于 2007-06-15 13:24 |只看该作者
mm不是这样泡滴

论坛徽章:
0
6 [报告]
发表于 2007-06-15 13:31 |只看该作者
谁是MM? 这是在学习交流啊

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2007-06-15 13:46 |只看该作者
原帖由 coollqm 于 2007-6-15 13:15 发表
#include "vl.h"
#include "aes.h"

#define NDEBUG
#include <assert.h>

typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t u8;

#define MAXKC   (256/32)
...

楼主难道不知道 #undef FOO 的意义?那么查书总会吧?

论坛徽章:
0
8 [报告]
发表于 2007-06-15 14:04 |只看该作者
不是不明白命令(undef)的意思 是不明白他程序开始为什么对  FULL_UNROLL  undef   而且后面还有条件编译. 对定义和没定义都进行了处理  
#ifdef FULL_UNROLL
        /* round 1: */
           t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>   & 0xff] ^ Te3[s3 & 0xff] ^ rk[ 4];
              t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>   & 0xff] ^ Te3[s0 & 0xff] ^ rk[ 5];
               .............................................................................................................
if (key->rounds > 10)
             /* round 10: */
            s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>   & 0xff] ^ Te3[t3 & 0xff] ^ rk[40];
            .......................................................................................
if (key->rounds > 12) {
            /* round 12: */
            s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>   & 0xff] ^ Te3[t3 & 0xff] ^ rk[48];
          .......................................................
rk += key->rounds << 2;
#else  /* !FULL_UNROLL */
    /*
     * Nr - 1 full rounds:
     */
    r = key->rounds >> 1;
    for (; {
        t0 =
            Te0[(s0 >> 24)       ] ^
            Te1[(s1 >> 16) & 0xff] ^
            Te2[(s2 >>   & 0xff] ^
            Te3[(s3      ) & 0xff] ^
            rk[4];
        .....................................
#endif /* ?FULL_UNROLL */

论坛徽章:
0
9 [报告]
发表于 2007-06-15 14:05 |只看该作者
还有发例子,怎么不出现乱码,我来这里不久不大明白怎么发例子的原理

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
10 [报告]
发表于 2007-06-15 14:16 |只看该作者
原帖由 coollqm 于 2007-6-15 14:05 发表
还有发例子,怎么不出现乱码,我来这里不久不大明白怎么发例子的原理

参见 http://bbs.chinaunix.net/faq.php?page=misc#1 中对 code 的描述。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP