タグ付けされた質問 「cryptography」

安全な計算と通信のためのプロトコルとアルゴリズムの構築と分析に関する質問(認証、整合性、プライバシーの側面を含む)。


2
それがために解決する方法は困難であるで?
グラフ同型から、ような置換行列Pがある場合、2つのグラフAとBは同型であることがわかります A=P×B×P−1A=P×B×P−1A = P \times B \times P^{-1} したがって、問題を解決するには、2つのグラフが同型である場合、そのような置換行列Pを見つける必要があります。問題はNP(およびサブグラフ同型の場合はNP完全)であると考えられています。しかし、私はPを解決する例を見つけました。これは私にとって有望であるように思われ、 http ://en.wikipedia.org/wiki/Permutation_matrixのセクション:Pの解決にあります。 私が今混乱しているのは、それがより大きな行列で機能するかどうかです。非常に大きい?上記の方程式は解くのが難しく、暗号システムの候補になり得ますか?

5
暗号化にはどのようにランダム性を含めることができますか?
暗号化アルゴリズムが文字列を別の文字列に変換することを意図していて、その文字列を復号化して元の文字列に戻すことができる場合、このプロセスはどのようにランダム性を伴うのでしょうか? 確かにそれは決定論的である必要があります。そうでなければ、暗号化された文字列の作成に関与した要因を復号化関数がどのようにして知ることができるでしょうか?

3
キーの秘密性とアルゴリズムの秘密性
それはよく知られている声明です 「暗号化セキュリティは、秘密アルゴリズムではなく秘密鍵に依存する必要があります。」 詳細についてお伺いします。そして、それらの違いは何ですか? マルチユーザーシステムの場合、すべてのユーザーペアに対して明確なアルゴリズムを生成するよりも、キーを生成する方が圧倒的に簡単であることは明らかです(ユーザーの1つのペアであっても、キーを更新する方が簡単であると主張できます)。 しかし、それは唯一の議論ですか? つまり、定義すると AlgorithmA = AlgorithmX + key A AlgorithmB = AlgorithmX + key B その場合、キーの変更はアルゴリズムの変更と変わりません。 私が見る唯一の違いは、新しいユーザー/キーのペアの場合です 秘密鍵の場合、ほとんどのアルゴリズム構造は一定のままですが、 秘密のアルゴリズムの場合、ほとんどのアルゴリズム構造を変更する必要があります しかし、限界はどこですか?「ほとんど」の意味? この区別が通常言及される理由を理解するために、より多くの見解と手がかりを持ちたいと思います。

1
二次剰余と整数因数分解
私は、が法とする2次剰余であるかどうかを決定することは、(特にが素数でない場合)数論からの興味深い(そして難しい)問題であることをよく読みます。rrrんnnんnn この問題の次の特殊なケースを見ていますとを2つの異なる素数とし、ます。と間のが与えられます。 2 \ equiv r \ pmod {n}のようなが存在するかどうかを判断します。pppqqqn := p qん:=pqn:=pqrrr111んんnX ∈ Z / N Zバツ∈Z/んZx\in\mathbb{Z}/n\mathbb{Z}バツ2≡ R(modn )バツ2≡r(モッドん)x^2\equiv r\pmod{n} 私の質問は次のとおりです。この問題の機能バージョン、つまり「上記のようなバツバツxを検索」は、整数因数分解のためのランダム化されたアルゴリズムを生成します。したがって、「RSAの破壊」などの実用的な理由から、非常に興味深いものです。この問題の決定バージョンについて、そのような結果はありますか?そうでない場合、二次残差を決定することは難しい問題であると私たちに考えさせる典型的な問題は何ですか? さらに、私が見ている特別なケースは本当に特別なケースですか?または、上記の決定問題のオラクルで任意のんんnを使用して一般的なケースを解決できますか?

3
疑似乱数ジェネレータのワンタイムパッドの問題
私はクラスで暗号化を学び始め、キー(一様に合意された)がメッセージ自体と同じ長さであるワンタイムパッドに遭遇しました。次に、メッセージをビットに変換し、を実行して暗号テキストを取得します。これによりメッセージが暗号化され、メッセージを復号化するには、暗号ビットとキービットでを実行します。XORXORXORXORXORXOR 次に、より効率的なワンタイムパッドを作成するために、元のキーがビット長である(そしてメッセージと同じ長さである必要はない)疑似乱数ジェネレータを使用します。次に、キーをジェネレーターに入れて、疑似乱数を取得します。しかし、それは疑似ランダムなので、送信者と受信者は異なるキーを取得しませんか?次に、同じ鍵がない場合、受信者はどのようにしてメッセージを復号化できますか?nnn

1
NP Complete鍵交換アルゴリズムの例
インターネット上には、さまざまな非対称暗号システムのNPの硬度について議論している質問がいくつかあります(このサイトなど、たとえば、既知のNPハード問題に基づく暗号化アルゴリズムがなかったのはなぜですか?)。NPハードキー共有システムはどの程度確立されていますか?つまり、NPが難しいことがわかっている問題に基づいた、共有キーを確立するためのシステム(対称暗号化で使用できるシステム)です。 https://en.wikipedia.org/wiki/Anshel-Anshel-Goldfeld_key_exchangeについて読んで、または、これらは一見すると非常に難しい制約充足または二次最適化問題のように見えます。これが基づいている対応する問題は同時共役問題です。GLn(F2)GLn(F2)GL_n(F_2)GLn(R)GLn(R)GL_n(\mathbb{R}) 最悪の場合、単にNPが難しい問題の間には重要な違いがあることを認識しています。ただし、ランダムなインスタンスのセットが与えられた場合、「平均的なケースのNP」である問題とは対照的に、ほとんどのランダムなインスタンスでは簡単です。 、それらの半分を解決することはまだ難しいです。どちらかの硬度の概念に依存するキー共有システムについて聞いてみたいと思います。

2
ゼロ知識証明:抽象例
だから私はウィキペディアでZKPについて読んでいました、要約の抽象的な例は次のようになります: ペギーはビクターに秘密の言葉をビクターに明かさずにAとBを接続する洞窟内部のドアの秘密を知っていることをビクターに証明したいと考えています(図を参照)。 ペギーはビクターに知られていないランダムなエントリを取ります ビクターはペギーに叫び、パスAまたはBから出ます(ランダムに選択) そのため、ビクターに秘密の言葉を明かさずに、ビクターが選択した経路から抜け出すには、彼女が秘密の言葉を知っている必要があります。これが行われる回数が増えるほど、ビクターは信頼を築きます。 しかし、なぜビクターはペギーがどの道から入ってくるかを見ることができないのですか?これは秘密の言葉が何であるかについての追加情報を明らかにしないので。 どうしてビクターは彼女がどのように入るのかわからず、彼女に4つの可能性を示すように頼むことができません。 Aから入り、Aを出る Aから入り、Bを出る Bから入り、Aから出る Bから入り、Bを出る

3
1対1の暗号で安全なビットシャッフル
入力項目(Nバイト)を指定して、これを出力(まだNバイト)にマップする関数を探しています。関数は以下の性質を持つ必要があります。 すべての入力が一部の出力にマップされ、2つの入力が同じ出力にマップされないように、1対1にする必要があります。 出力要素が与えられた場合、たとえマッピングが完全にわかっていても、その出力につながる入力を推測するのは難しいはずです。 そのような機能はありますか?詳細はどこで確認できますか?

1
長さを維持する一方向関数
残念ながら、計算の複雑さに関する私のバックグラウンドはまだ弱いですが、私はそれに取り組んでいます。 私が理解しているように、一方向関数の存在の問題は、この分野では非常に重要です。 一方向関数があると仮定すると、長さを維持する一方向関数が存在することをどのように示すことができますか?


2
行列乗算プログラムの入れ子ループの不変式
Hoareロジックを使用して2つの行列を乗算するためのプログラムの正確性を証明することについて、卒業論文を作成しています。これを行うには、このプログラムの入れ子ループの不変式を生成する必要があります。 for i = 1:n for j = 1:n for k = 1:n C(i,j) = A(i,k)*B(k,j) + C(i,j); end end end 私は最初に内部ループの不変式を見つけようとしましたが、今までは本当のものを見つけることができません。上記のプログラムの不変式を見つけるのを手伝ってくれる人はいますか?
7 algorithms  loop-invariants  correctness-proof  formal-languages  regular-languages  pumping-lemma  logic  logic  programming-languages  lambda-calculus  term-rewriting  operational-semantics  complexity-theory  time-complexity  computability  proof-techniques  reductions  digital-preservation  distributed-systems  storage  algorithms  dynamic-programming  check-my-algorithm  reference-request  cryptography  quantum-computing  formal-languages  regular-languages  context-free  formal-grammars  algorithms  graphs  network-flow  algorithms  data-structures  randomized-algorithms  lists  computability  proof-techniques  undecidability  terminology  distributed-systems  parallel-computing  artificial-intelligence  heuristics  search-problem  algorithms  computational-geometry  algorithm-analysis  asymptotics  recurrence-relation  mathematical-analysis  master-theorem  algorithms  algorithm-analysis  runtime-analysis  computability  reductions  turing-machines  formal-languages  context-free 

2
計算可能な関数ごとに同等の演算回路はありますか?
計算可能な関数ごとに同等の演算回路はありますか? 私は上記の発言に頭を抱えていますが、その発言は誤りであると思いますが、反例は見つかりませんでした。 私が不思議に思ったのは、プロトコル(暗号化プロトコル理論)は計算可能な関数を計算できるが、その関数を算術回路として指定する必要があるといういくつかの定理を読んだことです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.