【问题标题】:AES - user key lengthAES - 用户密钥长度
【发布时间】:2015-01-13 09:30:05
【问题描述】:

上下文

我正在学习 ssl 通信的基础知识,尤其是 AES 加密。 我阅读了 OpenSSL 代码并看到了一个指向 userkey 的指针。

int private_AES_set_encrypt_key( const unsigned char *userKey , const int bits , AES_KEY *key )

在文件“aes_core.c”中

问题

  1. userkey 来自哪里?它是如何产生的?

  2. 我想知道不同版本 AES 的 userkey 的实际大小。

    256 位版本是 256 / 8 = 32,192 是 24,128 是 16?我有点迷茫。

  3. 如果userkey 长度是可变的,那么我应该如何为符合长度要求的那些创建安全输入? (哈希?哪个?)

【问题讨论】:

  • 是的对不起我更新我的问题

标签: encryption openssl aes


【解决方案1】:
  1. userkey = 安全的字节序列,128 位 = 16 字节 256 = 32 字节 192 = 24 字节长,如果更容易理解,则为密码。 很好地讨论了密钥大小之间的差异here

  2. 算法的密钥长度是常数,并在“位”参数中指定(以位为单位!)

OpenSSL 有两个 AES API:first 你正在处理,second EVP API。将 EVP 用于真正的非测试应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 2010-12-18
    • 2021-05-11
    • 1970-01-01
    相关资源
    最近更新 更多