Travis CI 是否使用概率加密?
Does Travis CI use probabilistic encryption?
我在同一个存储库中多次尝试运行 travis encrypt "some secret string"
,每次都返回不同的加密字符串。 Travis 是否使用概率加密?如果不是,我做错了什么?
编辑:如果有 IV,我的本地 travis
cli 和 Travis 服务器如何同意这个 IV?我可以查看或更改它吗?
参见 Probabilistic Encryption WRT 块 ciphers .
在基于块的加密算法(例如 AES 和 CBC 模式)中使用随机 IV 加密相同数据的不同结果示例。 IV 可以作为加密数据的前缀,加密数据会有所不同,因为每次加密相同的数据时都有不同的 IV,这是一种常见且良好的标准做法,IV 不需要保密。
如果 IV 可以添加到加密数据之前,它就可以解密,不需要事先达成协议ios。
这里是 CBC mode,请注意 IV 与第一个数据块进行异或运算,每个后续块与前一个加密块进行异或运算。因此,IV 会影响加密数据的每个块。
这样做是为了避免两条相同的消息具有相同的加密数据。考虑持续发送两条消息之一的情况:“0”或“1”,其中 0 表示卖出,1 表示买入。如果每次加密都相同,即使无法确定消息本身,也可以确定两种状态以及它是哪一种。
Travis-ci 使用 aes-256-cbc 因为它是 Automated Encryption。
还有其他加密选项,例如可以使用随机填充的 RSA 等非对称加密。
我在同一个存储库中多次尝试运行 travis encrypt "some secret string"
,每次都返回不同的加密字符串。 Travis 是否使用概率加密?如果不是,我做错了什么?
编辑:如果有 IV,我的本地 travis
cli 和 Travis 服务器如何同意这个 IV?我可以查看或更改它吗?
参见 Probabilistic Encryption WRT 块 ciphers .
在基于块的加密算法(例如 AES 和 CBC 模式)中使用随机 IV 加密相同数据的不同结果示例。 IV 可以作为加密数据的前缀,加密数据会有所不同,因为每次加密相同的数据时都有不同的 IV,这是一种常见且良好的标准做法,IV 不需要保密。
如果 IV 可以添加到加密数据之前,它就可以解密,不需要事先达成协议ios。
这里是 CBC mode,请注意 IV 与第一个数据块进行异或运算,每个后续块与前一个加密块进行异或运算。因此,IV 会影响加密数据的每个块。
这样做是为了避免两条相同的消息具有相同的加密数据。考虑持续发送两条消息之一的情况:“0”或“1”,其中 0 表示卖出,1 表示买入。如果每次加密都相同,即使无法确定消息本身,也可以确定两种状态以及它是哪一种。
Travis-ci 使用 aes-256-cbc 因为它是 Automated Encryption。
还有其他加密选项,例如可以使用随机填充的 RSA 等非对称加密。