問題タブ [cryptico]

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.

0 投票する
2 に答える
812 参照

javascript - cryptico.jsの実用化

Crypticoは、非常に洗練されたRSA暗号化ライブラリのようです。

cryptico.wwwtyro.net

JavaScriptアプリケーションに関して、クライアントにデータを送信し、クライアントにデータに対して何かを実行させて、それを返したいとします。RSAを使用して、クライアントがサーバーに送り返すデータが改ざんされていないことを確認するにはどうすればよいですか?JavaScriptは簡単にリバースエンジニアリングされるので、crypticoの実用的なクライアント側アプリケーションはありますか?

0 投票する
1 に答える
1585 参照

c# - cryptico.js暗号化メッセージ。C#で復号化する必要があります

サーバーでC#を使用して文字列を復号化できるようにする必要がありますが、文字列はクライアントでcryptico.jsを使用した公開鍵暗号化を使用して暗号化されました。詳細については、最後のコンテキストを参照してください。

Crypticoは、次のような秘密RSAキーを提供します(注-「このような」-この質問用に新しいキーを作成しました):

...さらに多くのメソッド。

私はこのようにそれを解読しようとしています:

しかし、これは例外「不良データ」をチャックします。

C#の経験が豊富な人は、私が間違っているところについて何か考えを持っていますか?

ありがとう、

G


コンテキストの詳細:アプリのクライアント側とサーバー側の両方にパスワード強度チェック機能を実装しようとしていますが、サーバー側のコードのみを使用しています。クライアント側でこれを実現するために、推定パスワードをサーバーに送信し、その強度を判断してから、クライアントに表示されるスコアを返します。これは、サーバー上でパスワード強度チェックコードを維持するだけでよいことを意味します。追加のセキュリティ対策として、cryptico.jsライブラリを使用して推定パスワードを暗号化してから、サーバーに送信して判断します。

0 投票する
1 に答える
1773 参照

php - PHP での暗号化テキストの復号化

PHP で暗号化されたデータをデコードしようとしていますが、戻り値が null として返され続けます。

復号化するデータは、データ引数として PHP ファイルに入ります。

上記の関数は、スタック オーバーフローに関する別の投稿の 2 番目の応答からのものです: javascript でデータを暗号化し、php で復号化する方法は?

復号化された値が PHP 変数 $sensitiveData にあると仮定します。

それを画面にエコーすると、何も得られません。

考え?

更新: openssl_private_decrypt() からの戻り値は FALSE であり、戻り値は NULL です。

更新 2: 次の URL から公開/秘密キーを作成しました。 http://shop-js.sourceforge.net/crypto2.htm

一番下に、次の行があります: そして、プライベート スクリプトに次の行を追加します (おそらく、インターネット上ではなく、ローカルのハード ディスク上にあります。秘密鍵が見つかった場合、このすべては役に立ちません)。

「var key=」行を PHP にコピーしてコピーしました (他の投稿による)。埋め込み配列を使用した上記の翻訳。次に、そのキーを復号化関数に渡します。

私の考えでは、PHP のドキュメントでは秘密鍵を「混合」と呼んでいます。秘密鍵に別の形式が必要かどうか疑問に思っています。

出力は次のとおりです。

0 投票する
0 に答える
292 参照

javascript - phpseclib と Cryptico を使用した RSA 暗号化/復号化

Cryptico を使用した JavaScript とphpseclibを使用した復号化/暗号化の間でデータを暗号化/復号化する方法を必死に探しています。

0 投票する
1 に答える
1193 参照

javascript - PHP を使用して Cryptico 公開鍵でメッセージを暗号化する

Crypticoを使用してパスフレーズから RSA 公開鍵を生成し、PHP を使用してその公開鍵でメッセージを暗号化し、元のパスフレーズを使用して JavaScrpt で復号化することは可能ですか?

Cryptico はそれ自体でうまく機能しているようですが、phpseclib を使用して、Cryptico が生成した公開鍵を使用してメッセージを暗号化しようとしていますが、出力が得られません。できたとしても、base64 でエンコードして Cryptico で復号化することはできますか?

Bits を 1024 に設定した passphase "stackoverflow rocks" を使用して、次の公開鍵を取得します。

XEjrqvt5K3pjM2m98ZFQOf9fObVNKPJQ9TYbo4sdNPaUO0NKdLtno8hXa292MiAmwip9JOiplmSQVEvpEnfebGNFFzqNgd4hAS6oXD6zHexVHsHpFTYxfVFQE93eHtbz0Mi7l64rnq6UOQKAB53CXVUev6RqyR6hs4oBiJRAOCs=

しかし、PKCS1 行の有無にかかわらず、次のコードを使用すると、出力が得られません。

この仕事をするために私が欠けているものを誰かが知っていますか? - それとも、これは不可能で、時間を無駄にしているのでしょうか?

編集: ------------ 私が re owlstead のコメントを使用しているコード ------------- PKCS1 行の有無にかかわらず試してみました

0 投票する
1 に答える
1142 参照

javascript - cryptico.js でジャンル分類された PHP 署名で検証する方法

PHP アプリケーションに送信する前に、javascript でメッセージに署名しようとしています。PHP アプリケーションは、署名が偽でないことを確認するために署名をチェックする必要があります。

JavaScript では cryptico.js を使用します。

これは、メッセージに署名するための js 関数です。

これは、公開鍵を取得するための関数です。

たとえば、メッセージ「message」とパスフレーズ「test2」の公開鍵と署名は次のとおりです。

qH/J3/gvF/h5U02uPyC9Qzn/hHEV5DzB9nFfqk5zbQqHdInVe4sfL+npa+4fjLGrBU30Iuvcr+o9paEjzpH5dY48cq6JHqz1RyJ0CQIc2Jr5+sS4eL1ZIjxWlyN1pKMR+4aE2rlDAad56Ad1cytiaHuVvyK/gdtbKiuGroSQhJ1EVfZ60m3NIqnqmpi5Zdsnmzny4VH/d66BcGXxGaGaUaqFn0WTypuwIMZMMtzZEK7peKoaW4H4rfkfdrKcD8AaT+z9v5lLGkTl0NcZZ4LN9sSUzsHNfyAFK6cSXo/73z0tDAlGb5K+yWV6UHoYW1rcoIsxlNRZM6/6FYgMXbbfow==

XbF4O6v6oadEQGtdpQ7d54Q2JB9/ZEXEUH3S1FMn4E/PSqk7HLXjG4tNfuiUBa5eS8kYV49gwC8Yr+mn6YUAHt+K9lHPSsmltWoiHNOaas4aqai9nlyeft4TYYhP+GYbQfw+3n2TcO39s6M0vw0m0a8AX9JfF02JwCUhP4bu4dzG6Bl5dj000TbUkric14Jyurp8OHmmMvKW62TvXPhNOW39+wS1Qkfn9Bxmzi8UEVSVe3wP45JWZNgmgeGnpubDhD05FJEDErfVtZ/DRKD81q5YRd4X4cCkeDPDcJLgKW1jkCsA7yBqESXPDSkkrVUM06A9qMFUwk4mRI88fZ8ryQ==

PHPで確認する方法を教えてください。

私は次のようなことを試しました:

署名や公開鍵が php 用に正しくフォーマットされていないと思います。何か案が?

前もって感謝します、

[編集] 署名が正しいかどうかわかりません。js 関数を使用するcryptico.b64to16(signature)と、署名は次のようになります。

5db1783babfaa1a744406b5da50edde78436241f7f6445c4507dd2d45327e04fcf4aa93b1cb5e31b8b4d7ee89405ae5e4bc918578f60c02f18afe9a7e985001edf8af651cf4ac9a5b56a221cd39a6ace1aa9a8bd9e5c9e7ede1361884ff8661b41fc3ede7d9370edfdb3a334bf0d26d1af005fd25f174d89c025213f86eee1dcc6e81979763d34d136d492b89cd78272baba7c3879a632f296eb64ef5cf84d396dfdfb04b54247e7f41c66ce2f141154957b7c0fe3925664d82681e1a7a6e6c3843d3914910312b7d5b59fc344a0fcd6ae5845de17e1c0a47833c37092e0296d63902b00ef206a1125cf0d2924ad550cd3a03da8c154c24e26448f3c7d9f2bc9

$rsa->verify の param key のフォーマットがわかりません。プレフィックス ssh-rsa を追加しようとしました。しかし、それはうまくいきません。

そこで、to 署名形式と to キーを試してみました。メッセージは毎回「未確認」です

0 投票する
1 に答える
2317 参照

javascript - Cryptico.js から RSA 秘密鍵を抽出する

これはかなり基本的な質問だと思いますが、私は JavaScript と RSA の研究を始めているので、少し迷っています。ライブラリ Cryptico をダウンロードしたところです。これにより、RSA キーの生成/暗号化/復号化を簡単に使用できます。生成された RSA キーの公開部分は、次のコマンドを使用するだけで簡単に抽出できます。

publicKeyString(RsaKey)

それは次のとおりです。

rsakey.n は、関数でキーを生成するときに定義されます。

しかし、キーの秘密部分は、抽出方法がわかりません。そのため、公開/秘密キーの部分を保存して、後で使用できるようにすることができます。

ライブラリのドキュメント: https://github.com/wwwtyro/cryptico