問題タブ [vigenere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Vigenere 復号化の奇妙さ
Vigenere暗号でエンコードするJavaプログラムを作成しましたが、暗号化は正常に機能しますが、一部の特殊なケースでは復号化は機能しません。
たとえば、プレーン テキストが 'k' でキーが 'y' の場合、暗号化テキスト 'i' ((10 + 24 = 34 % 26 = 8)) が正しく生成されます。
ただし、暗号テキストを復号化すると「i」でキーが「y」の場合、((8-24) =-16%26 = -16)) が得られます。これは正の場合でも Q になります。正しく復号化する必要がある場合10になる「k」に戻ります。
誰か助けてくれませんか?必要に応じて、さらにコードを投稿できます。
---ウィキへのリンク Viginare 暗号アルゴリズムhttp://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher ---
haskell - Haskell で vigenere 暗号を使用してテキストをエンコードする際に問題が発生する
Haskell で vigenere cypher を作成する必要があるコーディング プロジェクトに取り組んでいます。私は何時間も費やしましたが、ほとんど進歩がありませんでしたが、特定の部分で立ち往生しています。これまでの私のコードは次のとおりです。
私の問題は Encoding 関数にあります。関数で、キーとエンコードされるはずのメッセージの両方のインデックスごとに char を調べて変更する必要があります。私が持っているものはうまくいくはずだという印象を受けていますが、実行すると | のために解析エラーが発生します。in: (キー !! a) | a <-as)。それを修正する方法がわかりません。ましてや、プログラムが実際に各インデックスで文字を調べたり変更したりする方法もわかりません。誰か助けてくれませんか?
c++ - 暗号文を部分文字列に分割する (vigenere cipher)
vigenere 暗号のキーワードのキーの長さを推測するアルゴリズムを実装しようとしています。
考えられるキーの長さごとに一致のインデックスを見つける手順について説明しますが、暗号テキストを部分文字列に分割する方法がわかりません。
つまり、私はこのような特定の暗号文を取得しようとしています
ERTEQSDFPQKCJAORIJARTARTAAFIHGNAPROEOHAGJEOIHJA
(これはランダムなテキストです。コード化されたメッセージはありません)
次のように異なる文字列に分割します。
等々。
何か案は?
アップデート
私は今、自分のコードを実装しようとしましたが、これが私がやったことです:
以下で述べたように、最初の文字に基づく部分文字列のみを反映する出力があります (つまり、キーの長さが 2 の場合は 1、3、5、7、9 ですが、2、4、6、8 はそうではありません)。 、10...)
php - PHP の Vigenere
PHPでこのVigenere cypherを修正するのを手伝ってくれる人はいますか?
引き裂かれたコードで申し訳ありません。それは私が何時間も分析してきたところからです-修正しようとしています!
とにかく、コードは「Abc」を出力すべきときに「Ace」を出力します。
修正する数学の頭脳を持っていない奇妙な二重オフセットがあります! 読んでくれてありがとう。
コードは AutoHotkey スクリプトのhereからのものです- 私はそれを転写しようとしました。Web には PHP Vigenere の例があります ( Rosetta Codeにはありませんが、奇妙なことに!).. しかし、とにかく、これは標準の大文字だけでなく小文字も受け入れるように変更されています。ありがとう。
java - ヴィジュネル暗号とフィボナッチを組み合わせる方法
私は Vigenère 暗号 Java コードを持っていますが、うまく動作していますが、このコードをフィボナッチ式で変更したいので、暗号化の結果はワンタイム パッド メソッドのようになります。コードは次のとおりです。
フィボナッチと組み合わせるには、このコードをどうすればよいですか? ありがとう
cryptography - 鍵の長さがわかっている場合の Vigenere Cipher の鍵の決定
キーの長さはわかっているが、それが何であるかがわからない場合、Vigenere Cipher について理解するのに苦労しています。キーがわかればテキストを解読できますが、キーが実際に何であるかを理解する方法について混乱しています。
一例として、私は暗号文と 6 の長さの鍵を与えられました。与えられたのはそれだけです。鍵は任意の文字のセットであり、必ずしも英語の単語を構成する必要はないと言われました。 、言い換えれば、文字のランダムなセット。
この知識に基づいて、暗号文を 6 つのサブテキストに分割しただけで、それぞれがキー文字によって暗号化された文字を含むため、最初のサブテキストには最初の文字から 6 文字ごとに含まれます。2 番目の文字から始まる 6 番目の文字ごとに 2 番目の文字など。
私は今何をしますか?
java - Java vigenere 暗号のパフォーマンスの問題
意図したとおりに動作する vigenere 暗号化/復号化プログラムを作成しましたが、非常に大きなテキスト ファイル (約 500,000 文字) で暗号化/復号化を実行するには 2 ~ 4 分かかります。コードを調べましたが、どの操作がコードを遅くしているのかわかりません。これをスピードアップする方法を知っている人はいますか?
コード:
暗号化を実行する前に、スキャナーを使用してテキスト ファイルを文字列に読み取るメソッドがあります。この文字列と定義済みのキーを使用して、暗号化されたテキストが作成されます。
ありがとう。
答え
RC のおかげで、文字列の連結に時間がかかっていました。他の誰かが興味を持っている場合、これは私の更新されたコードで、すぐに動作します:
python - Kasiski テストについて、Python で 26x26 テーブルを実装する方法
ここに表がありますhttp://en.wikipedia.org/wiki/File:Vigen%C3%A8re_square_shading.svg
このテーブルを Python で実装するにはどうすればよいですか? これにはどのような方法がありますか?
たとえば、行: L & 列 G を確認する方法についての手がかりは、R へようこそになります。