行列次元はn × n (n − 1 )です。からまでの整数を使用してを埋めます。1 n
要件:
- 各列は、順列です。1 、… 、n
- 2行で形成される部分行列は、同じ列をことはできません。
質問:
要件を満たすマトリックスを埋めることは可能ですか?
暗号化との関係:
各行番号はプレーンテキストに対応しています。各列はキーに対応しています。キーはインジェクションを定義するため、各列は順列でなければなりません。2番目の要件は、2つのメッセージの完全な機密性です。
行列次元はn × n (n − 1 )です。からまでの整数を使用してを埋めます。1 n
要件:
質問:
要件を満たすマトリックスを埋めることは可能ですか?
暗号化との関係:
各行番号はプレーンテキストに対応しています。各列はキーに対応しています。キーはインジェクションを定義するため、各列は順列でなければなりません。2番目の要件は、2つのメッセージの完全な機密性です。
回答:
剛、コメントで素晴らしい観察!これで問題はほぼ解決したと思います。
次の2つの質問を検討してください
ツヨシのコメントによると、質問(1)で値を達成できれば、質問(2)でも同じ値を達成できることがわかります。ここで、質問(2)の値を達成できる場合、質問(1)の値を達成できることを示します。したがって、これら2つの質問に対する答えはほぼ同じです。k k k − 1
これは部分的な解決策です。nが素数の場合、このような行列が存在します。
してみましょうFは、オーダーの有限フィールドでのn。我々は、コンストラクトNを × N(N -1)、その行によって標識される行列Fを持つカラム(によって標識され、F ∖{0})× F、及びそのエントリにあるF、以下のように:私の行目を(a、b)というラベルの付いた列はai + bで与えられます。つまり、各列はFの 1次多項式に対応します。次に、各列にはFの各要素が含まれます 2つの異なる次数1の多項式の値は多くても1つの点で一致する可能性があるためです。
(あなたは、そのエントリにあるマトリックスが必要な場合、{1、...、N }代わり中のFの要素交換Fを用いて、{1、...、N }を任意)。