硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2342|回复: 1
收起左侧

[算法] MbedTLS生成256bit的AES密钥方法

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106692
QQ
发表于 2019-8-14 01:24:35 | 显示全部楼层 |阅读模式
在代码中包含:
  1. #include "mbedtls/entropy.h"
  2. #include "mbedtls/ctr_drbg.h"
复制代码



然后将以下变量定义添加到代码中:
  1. mbedtls_ctr_drbg_context ctr_drbg;
  2. mbedtls_entropy_context entropy;
  3. unsigned char key[32];

  4. char *pers = "aes generate key";
  5. int ret;
复制代码


生成密钥:
  1. mbedtls_entropy_init( &entropy );

  2. mbedtls_ctr_drbg_init( &ctr_drbg );

  3. if( ( ret = mbedtls_ctr_drbg_seed( &ctr_drbg, mbedtls_entropy_func, &entropy,
  4.     (unsigned char *) pers, strlen( pers ) ) ) != 0 )
  5. {
  6.     printf( " failed\n ! mbedtls_ctr_drbg_init returned -0x%04x\n", -ret );
  7.     goto exit;
  8. }

  9. if( ( ret = mbedtls_ctr_drbg_random( &ctr_drbg, key, 32 ) ) != 0 )
  10. {
  11.     printf( " failed\n ! mbedtls_ctr_drbg_random returned -0x%04x\n", -ret );
  12.     goto exit;
  13. }
复制代码



回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2020-1-16 22:03:09 | 显示全部楼层
密匙应该是自己定义的啊? 为什么要它去生成一个自己都不了解的密匙呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-30 07:57 , Processed in 0.151179 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表