在应用程序级别上加入奇怪的结果

3个帖子/ 0新
最后一篇
oren.
离线
最后一次露面:1年11个月前
专家
加入:2014-06-28 22:03
在应用程序级别上加入奇怪的结果

我正在尝试直接在应用层中进行AES-128加密http://support.dialog-semicondiondiondum/faq/does-da14580- support-aes-128 ...

致电GAPM:

UINT8_T键[16] = {0,1,2,3,4,5,6,7,9,9,10,11,12,13,14,15};
uint8_t plaintext [16] = {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xA,0xBB,0xCC,0xDD,0xee,0xFF};
struct gapm_use_enc_block_cmd * cmd = ke_msg_alloc(gapm_use_enc_block_cmd,
task_gapm,task_app,
gapm_use_enc_block_cmd);
cmd->操作= gapm_use_enc_block;
memcpy(cmd->操作数_1,键,16);
Memcpy(CMD-> Operand_2,明文,16);

处理APP_TASK_HANDLERS的结果:

{gapm_use_enc_block_ind,(ke_msg_func_t)gapm_use_enc_block_ind_handler},

在app_task.c:

int gapm_use_enc_block_ind_handler(ke_msg_id_t msgid,
struct gapm_use_enc_block_ind * param,
ke_task_id_t dest_id,
ke_task_id_t src_id)
{
memcpy(my_array,param,sizeof(struct gapm_use_enc_block_ind));
return(ke_msg_consumed);
}

我没有收到密码文本69c4e0d86a7b0430d8cdb78070b4c55a(参见http://seit.unsw.adfa.edu.au/staff / sites/lpb/src/aescalc.)。
相反,我得到了一个以d0bfe1c7开头的缓冲区......

难道我做错了什么?
它是一个简单的AES-ECB加密,还是有一些IV涉及?

谢谢

- 解决了 -
一切都颠倒了!
在扭转关键和明文之后:

UINT8_T键[16] = {15,14,11,12,11,10,9,8,7,6,5,4,3,2,1,0};
uint8_t plaintext [16] = {0xff,0xee,0xDD,0xCC,0xBB,0xAA,0x99,0x88,0x77,0x66,0x55,0x44,0x33,0x22,0x11,0x00};
struct gapm_use_enc_block_cmd * cmd = ke_msg_alloc(gapm_use_enc_block_cmd,task_gapm,task_app,gapm_use_enc_block_cmd);
cmd->操作= gapm_use_enc_block;
memcpy(cmd->操作数_1,键,16);
Memcpy(CMD-> Operand_2,明文,16);

我收到了结果5AC5B47080B7CDD830047B6AD8E0C469,即69C4E0D86A7B0430D8CDB78070B4C55A的反向。

所以,为了使用加密“正常”,我应该反转键,反转每个明文块并反转结果......

SUMMER20100514.
离线
最后一次露面:4年9月前
格鲁鲁
加入:2014-12-30 05:01
嗨,@ oren,你能忘吗

嗨,@ oren,你能提出你更详细的代码吗?我尝试代码,但我得到了错误的结果,而不是反向。

SUMMER20100514.
离线
最后一次露面:4年9月前
格鲁鲁
加入:2014-12-30 05:01
对不起,我没有读过你的

对不起,我之前没有仔细阅读过您的帖子,现在我在上面描述的正确答案。感谢分享。