問題タブ [rc4-cipher]
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.
ios - 目標 c での RC4 暗号化と URL エンコーディングの実装
URL エンコーディング用にアプリケーションに RC4 暗号化アルゴリズムを実装する必要があります。参照用にサンプル部分を以下に示します。
暗号化前の実測値:2013/10/28
暗号化後の期待値 : ˆ!~·hÇÔÞò
URL エンコード後は次のようになります: %0C%88%21%98%B7h%C7%D4%DE%F2
使用されるキー: @"psw"
私は試しましたが、暗号化とURLエンコーディング後の値は次のように返されます:
暗号化後 : !·hÇÔÞò
URL エンコード後 : %0C%C2%88%21%C2%98%C2%B7h%C3%87%C3%94%C3%9E%C3%B2
Java コードを目的の C コードに変換しようとしました。Java コードは正常に動作しますが、目的の c が機能していないため、上記の結果で確認できます。
ここにJavaコードがあります
対応する目的の c コード
私も試してみました
しかし、この上記のコードは私にはうまくいきません。
c# - RC4 暗号化の非英数字が間違っています
背景: Mike Shaffer の VB RC4 暗号化を C# に変換しようとしています ( http://www.4guysfromrolla.com/articles/091802-1.3.aspx )。Converting Mike Shaffer's RC4Encryption to C#で私の以前の質問を参照してください。
暗号化が機能していないようです。
次のデモ ページを使用: http://www.4guysfromrolla.com/demos/rc4test.asp、パスワードは「abc」:
平文: og;|Q{Feは
A2 FA E2 55 09 A4 AB 16
ただし、私のコードは 5 番目の文字を 09 ではなく 9 として生成しています。
A2 FA E2 55 9 A4 AB 16
別の例 - プレーン テキスト: cl**z!Ssは次のようになります。
AE F1 F3 03 22 FE BE 00
ただし、私のコードは生成しています:
AE F1 F3 3 22 FE BE 0
英数字以外の特定の文字にのみ問題があるようです。
これが私のコードです:
暗号化された結果を取得する方法は次のとおりです。
var encryptedResult = RC4Encrypt.Encrypt(valuetoencrypt);
java - RC4を使用してJavaで文字列を暗号化し、VBScriptで復号化する
私はそれを Java に変換しようとしている vb スクリプトのコードを持っています。
そして、ここに私のJavaコードがあります:
だから私がやろうとしているのは、JAVA(RC4 Algorithm) を使用して文字列を暗号化し、Vb script を使用して復号化することです。
正常に動作しているVBスクリプトのコードをJAVAに変換しようとしましたが、問題が見つかった場所があります。
解決策はありますか?
matlab - 倍精度値と整数値を matlab の論理配列に変換する
私は matlab プログラミングが初めてで、RC4 コードを使用しようとしています [ソース: http://www.cryptosmith.com/archives/621 ]。キーで暗号化されたメッセージを取得しようとしていますが、キー ストリームを取得した後、データの xor を実行中にスタックします。私の結果はずっと0を示しているので、おそらくいくつかの場所で間違いを犯しています。私が問題を抱えているメイク関数コードは次のとおりです。
私が呼び出している関数は次のとおりです。rc4make(12,'hi')
ここで、12 はプレーンテキストで、hi はキーです。私のコードの問題を理解するように私を導き、暗号文を適切に取得することを提案してください。
ios - iOS 用 RC4 アルゴリズム
私はそれを復号化する必要がある rc4 アルゴリズムを使用したキーと暗号化値を持っています。この問題を解決してください。ネイティブiosを使用。これに対する解決策を教えてください。役に立たないリンクをいくつか参照しました。サーバーからいくつかの暗号化値を受け取り、すでにキーを生成しています。その暗号化値とキーを使用して、RC4 アルゴリズムを使用して復号化する必要があります。
c++ - RC4 ストリーム暗号を使用する C++ iostream を作成します。実装を最適化するにはどうすればよいですか?
暗号化と復号化に RC4 ストリーム暗号を使用するカスタム iostream (つまり、読み取り、書き込み、シーク、およびクローズ) を実装しています。このストリームのコントラクトの 1 つは、双方向であり、呼び出し元のコードは、実際の読み取りまたは書き込みを行う前に、ストリーム内の任意の位置を任意にシークできる必要があるということです。
RC4 は、指定された「tell」位置までの以前のすべてのスワップ操作に依存するキーを使用するため、任意の位置を任意にシークする機能をどのように組み込むことができますか?
明らかに、実際の xor 変換プロセスを実行する前に、特定のシーク オフセット (次の例ではTHIS BITでマークされている) の位置までシークすることができます。たとえば、次のようになります。
次に、ストリーム実装の読み取りまたは書き込みから変換が呼び出されます。次のようになります。
編集: ストリームには、変換関数がどのように機能するかについての知識がありません。変換機能は完全に独立しており、さまざまな変換の実装を自由に交換できるはずです。
編集: 関数 swapints は次のようになります。
上記の変換関数の実際の問題は、xor 変換が適切に実行される前に startPosition 初期スワップ操作を実行する必要があるため、その遅さにあります。これは、多くのシーク操作が実行される場合に非常に問題になります。RC4 は高速であることを意図していると聞いたことがありますが、スワップ操作の初期セットを考えると、私の (おそらく悪い実装) は別の方法を提案しています。
だから私の本当の質問は、必要な操作の数を減らすために上記のコードを最適化するにはどうすればよいですか? 理想的には、スワップ操作の最初の (" THIS BIT ") セットを排除したいと考えています。
編集: 初期の sbox 設定を最適化することはおそらく些細なことです (たとえば、egur が提案するように memcpy を使用します)。私が考える重要な最適化は、THIS BITでマークされたループを最適化する方法です。おそらく、これらすべてのスワップ int は、for ループを必要とせずに、より簡潔にプログラムできます。
ありがとう、
ベン