【发布时间】:2017-09-29 00:07:44
【问题描述】:
我正在使用 cipher.Block 类型的 AES 密钥,该密钥是使用 crypto/aes 包生成的,具有以下功能:
aesBlock, err := aes.NewCipher(randKey)
我使用它来加密一组特定的数据,但之后我想用公钥加密aesBlock 本身,以便我可以存储并稍后使用非对称私钥解密。但是,我很难找到加密aesBlock 的最佳方法。显然,这需要是可逆的,以便我可以使用它来解密前面提到的数据。
来自crypto/aes 的func EncryptOAEP 似乎很合适,因为它需要*PublicKey,但是msg 参数的类型为[]byte,而我的AES 密钥的类型为cipher.Block。不确定直接转换是否可行,甚至是一个好主意。
有什么想法吗?
【问题讨论】:
-
您为什么要尝试加密
aesBlock本身?只需加密并存储randKey并根据需要创建一个新的aesBlock。 -
是否会使用
randKey重新创建相同的aesBlock?我想我认为这更像是一种盐,可以帮助进一步随机化aesBlock。 -
Welp,你是对的 - 我刚刚测试过。我不敢相信我没有意识到这一点。感谢您的启发。
标签: go encryption aes encryption-asymmetric