我需要将加密文本写入文件,然后读取文件并解密文本。我想使用带有ccm的openssl evp进行身份验证加密,但ccm会生成一个标记,以后必须使用该标记来解密文本。 问题是 - 如何存储这个标签,并在隔离的电脑env(没有互联网)的文件读取中重复使用它?
我是加密新手,但在写入文件之前已将标签附加到加密文本,然后在解密时忽略标记字节,有点不好的方法。任何提示如何解决这个问题?在写/读文本之前,我不能要求用户提供密码。环境对安全性不敏感
答案 0 :(得分:1)
坦率地说,标签是CCM(或GCM)的重点。你可以
如果您正在使用CCM或GCM,则必须每次使用相同的密钥时都使用不同的nonce。如果不这样做可能导致关键妥协。 (并且没有“好吧,我知道,但在这种情况下并不重要......”因为今天故意草率的代码是明天的数百万美元的错误,一旦它被复制(作为参考示例)到另一个位置)
在同一消息中传输随机数,密文和标记(以及“附加数据”)是很常见的,例如在TLS和IPSEC中。