-1

travis encrypt "some secret string"を同じリポジトリで複数回実行しようとしましたが、そのたびに異なる暗号化された文字列が返されました。 Travisは確率的な暗号化を使用していますか?そうでない場合、私は何を間違っているのですか?Travis CIは確率的暗号化を使用しますか?

編集:IVがある場合、このIVはローカルのtravis cliとTravisサーバーでどのように合意されていますか?それを表示または変更できますか?

+1

私が答えて述べたように、IVは一般に暗号化されたデータの前に付加されているため、解読に利用できます。もちろん、暗号化キー以外の事前の合意は必要ありません。 – zaph

+0

役立つ回答を受け入れることを検討してください。答えを受け入れることによって、それは正しい答えであることを将来の読者に示すことになります。 – zaph

答えて

1

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などの非対称暗号化などの他の暗号化オプションがあります。

+0

私はあなたの答えが質問に答えるとは思わない。 travis-ciはどうですか? –

+0

興味深いことに、私は私の質問を編集します。 – oink

+0

同意すると、答えはtravis-ciに直接対処します。これは、一般的な使用法である同じデータに対する異なる暗号化の解決策を提供します。もしオペレーションが助けになるサンプルがあれば、私はtravis-ciを掘り起こし、自動暗号化のためにaes-256-cbcを使用することがわかります。 – zaph

関連する問題