2017-12-19 26 views
0

は、私は、次の2つの小さな配列、E1及びE2にEを分割し、暗号化されたバイト配列E.、その結果、バイト配列Aを暗号化するものとします。暗号化されたデータのフラグメントを復号化できますか?

私はONLYは、E1およびE2のいずれかを持っているそれらを解読することができ、あるいはその両方E1 E2をすれば成功し、復号化するデータのためのためには、正しい順序で、存在する必要がありますか? E1またはE2のいずれかから独立して有用な情報(すなわち、Aのサブセット)を抽出できるか?

私は、これは、暗号化アルゴリズムに依存してもよい実現。私は主に、RSAのような共通鍵ペアアルゴリズムについて興味があります。それはモードが可能であるかのようなアルゴリズムにもよるが

+0

https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Electronic_Codebook_(ECB) –

+0

これはプログラミングに関する質問ではありません。また、実際の詳細は不足しています。 –

答えて

3

それは、主に暗号化が使用するモードによって異なります。

ストリーミングモード(CTRまたはCFBまたはOFB)を使用すると、答えは一般的に「はい」です。フィードバックモードではストリームのどの部分を復号化することもできますが、一部が失われる可能性があります。

答えが「多少は」であるブロックモード(ECBまたはCBC)を使用して - あなたはあなたが得るすべての完全なブロックをデコードすることができますが、任意の部分ブロックは回復不能になります。これらのモードは、その性質のために特別に設計されているようにクロスブロックモード(標準ではない用語)を使用して

は、答えが、「いいえ」であろう。

RSAはブロックサイズが大きく、一般にブロックモードで使用され、1つのブロック(対称セッションキーを含む)を暗号化します。したがって、1ブロックの一部のみを取得することは一般的に意味しません。

+0

'E1'と' E2'の配列のいずれかが非常に小さく、大きな配列を保持している場合も特別なケースがあります。その場合、欠けている部分を無理やり強制することができます。 – lockcmpxchg8b

関連する問題