我可以在AES-GCM中发送未加密的随机数吗?

时间:2018-10-07 22:18:07

标签: cryptography aes-gcm python-cryptography

我正在通过简单的聊天实现AES-GCM。既然随机数公开是没有问题的,并且我需要在每封邮件中进行更改,那么我可以不随邮件本身一起加密未加密的随机数吗?

一个例子:

有这样的功能:

AESGCM(nonce, key, data_to_encrypt, unencrypted_data)

我使用这种方式:

message = AESGCM(nonce, key, data, nonce)

然后,加密的消息将如下所示:

unencrypted_nonce | encrypted_data | authentication_tag

1 个答案:

答案 0 :(得分:1)

AES-GCM文档提到了3次随机数;

  

在指定上下文中仅使用一次的值。

     

IV本质上是一个随机数

AESGCM(nonce, key, data, unencrypted_data)

类似于计数器模式,对于块密码,提供的现时值为IV。它曾经用来防止密码学中的某些攻击。

  • 如果您发送经过加密的nonce,那么您希望如何解密该消息。它必须未经加密发送。