travis encrypt "some secret string"
を同じリポジトリで複数回実行しようとしましたが、そのたびに異なる暗号化された文字列が返されました。 Travisは確率的な暗号化を使用していますか?そうでない場合、私は何を間違っているのですか?Travis CIは確率的暗号化を使用しますか?
編集:IVがある場合、このIVはローカルのtravis
cliとTravisサーバーでどのように合意されていますか?それを表示または変更できますか?
travis encrypt "some secret string"
を同じリポジトリで複数回実行しようとしましたが、そのたびに異なる暗号化された文字列が返されました。 Travisは確率的な暗号化を使用していますか?そうでない場合、私は何を間違っているのですか?Travis CIは確率的暗号化を使用しますか?
編集:IVがある場合、このIVはローカルのtravis
cliとTravisサーバーでどのように合意されていますか?それを表示または変更できますか?
Probabilistic Encryption WRTブロック暗号を参照してください。
異なる結果の例は、ランダムIVのAESおよびCBCモードなどのブロックベースの暗号化アルゴリズムで同じデータを暗号化します。 IVは暗号化されたデータにプレフィックスを付けることができ、同じデータが暗号化されるたびに異なるIVがあるため、暗号化されたデータが異なることになります。これは一般的でよい標準的な方法です.IVは秘密にする必要はありません。
IVを暗号化されたデータの前に付けることができる場合は、それを復号化することができます。事前の合意は必要ありません。
ここにはCBC modeがあります.IVには最初のデータブロックがxor'edされ、後続の各ブロックには前の暗号化ブロックがxoredされています。したがって、IVは、暗号化されたデータのすべてのブロックに影響します。
これは、2つの同一メッセージが同じ暗号化データを持たないように行われます。 2つのメッセージのうち1つが継続的に送信される場合を考えてみます。0は売り、1は買いを意味します。メッセージそのものを特定できないにもかかわらず暗号化が毎回同じであった場合、2つの状態を判定することができ、いずれの状態を判定することができる。
トラvis-ciは、Automated Encryptionのためにaes-256-cbcを使用します。
ランダムパディングを使用できるRSAなどの非対称暗号化などの他の暗号化オプションがあります。
私が答えて述べたように、IVは一般に暗号化されたデータの前に付加されているため、解読に利用できます。もちろん、暗号化キー以外の事前の合意は必要ありません。 – zaph
役立つ回答を受け入れることを検討してください。答えを受け入れることによって、それは正しい答えであることを将来の読者に示すことになります。 – zaph