問題タブ [sjcl]
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.
encryption - CryptoJS AES のファイル サイズの増加
ご協力ありがとうございました。
sjcl ライブラリまたは cryptojs aes ライブラリに問題があります。ファイルを aes で暗号化するたびに、ファイル サイズは * 2 になります。たとえば、4 MB のファイルをアップロードすると、サーバーに 8 MB のファイルが存在します。
バイトサイズが 16 で割り切れるブロックにファイルを分割します。
私を助けてください
これは私がファイルを暗号化する方法です:
これは、4mb ファイルのブロック サイズを含む配列の例です。
FileKey は SHA-256 ハッシュです
javascript - SJCL CBC モードが復号化されない
SJCL を使用する RNCryptor を使用します。16 進メッセージを復号化しようとしていますが、CBC モードを使用すると、状況がおかしくなります。どうやら、CBC を使用するときに beware ステートメントを宣言する必要があり、エラーが発生します。
ソルト、キー、およびハッシュに関して、すべてが Python 側の暗号化と一致します。しかし、私はこのエラーが発生します:
このメソッドは非推奨になっていると思われるため、この CryptoJS メソッドを使用しようとしました。
これは空白の文字列を返しました。
私は本当に近づいているように感じます。この最後の部分で助けが必要です。ありがとう。
javascript - 「無効な AES ブロック サイズ」SJCL 復号化
SJCL を使用するRNCryptor-jsを使用して AES を復号化しようとしています。各端 (もう一方の端はRNCryptor-python ) ですべての手順をログに記録した後、キー、ソルト、HMAC ハッシュ、すべてが一致します。しかし、最終ステップに到達すると:
エラーが発生します:
完全なコードは次のとおりです。
PBKDF2:
復号化 (16 進入力を受け取ります):
エラーは、decrypted
が定義されている最後から 2 番目のステートメントでスローされます。
sjcl 例外を調べたところ、長さ 4 の入力を探しているように見えますが、これは WordArray であると推測しています。有効な入力を取得する方法がわかりません。私が言ったように、暗号文、iv、hmac タグ、ソルトはすべて JavaScript 側で適切にスライスされています。エンコーディングの問題かもしれません。
このエラーは、json (形式: '{"key":"value"}') でのみ発生しているようにも見えます。「Hello, world」などを試したところ、エラーなしで 4 ワードの配列が返されました。
助言がありますか?
ibm-mobilefirst - IBM MobileFirst アダプター/クライアント・サイドの SJCL
IBM MobileFirst およびモバイル・アプリ・クライアントとの間のデータ呼び出しはプレーン・テキストであるため、モバイル・アプリで一部のデータ (パスワードとしましょう) を暗号化し、アダプターに渡された後に IBM MobileFirst アダプターで暗号化解除したいと考えています。それを達成するための最良の方法は何ですか?SJCL を使用するためのいくつかの提案を見てきました。鍵はどこに保管しますか?キーはアプリ側とサーバー側で同じでなければならないと思います。
javascript - SJCL で PBKDF2 の代わりに bcrypt または scrypt を使用することは可能ですか?
私はライブラリを使用しており、とても気に入っていますが、読んだ限りでは、PBKDF2 は bcrypt や scrypt よりもブルート フォース攻撃に対して脆弱です。scrypt サポートの追加に関するこの問題に遭遇しましたが、明確な答えはないようです。
理想的には、私は単純に PBKDF2 機能の代替品を入れたいと思っていますが、これが可能かどうかを知るには、SJCL の内部構造に十分に精通していません。
可能であれば、この純粋な JS bcrypt実装のようなものをかなり簡単に使用できると思います。
java - SJCL で暗号化された 16 バイトの初期ベクトルを使用した AES-256 CCM の復号化
SJCL ライブラリを使用して暗号化されたテキストを解読しようとしています。Java と BouncyCastle ライブラリを使用しています。
暗号化情報
Java コード
}
このコードを実行すると、「ノンスの長さは 7 ~ 13 オクテットでなければなりません」というメッセージが表示されます。
私の nonce/iv には 16 バイト/オクテットがあり、これはこのコードで許可されている数を超えています。
これを解読する方法についてのアイデアはありますか? SJCL 暗号化設定を変更することはできません...