問題タブ [public-key-encryption]
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.
.net - 楕円曲線暗号の .NET 実装 (ライブラリ)
.NET プラットフォームで使用する楕円曲線暗号の実装を提案できますか?
また、使用したことがあれば、使用すべき推奨カーブを教えていただけますか?
[編集]
@FatCat が述べたように、その実装は .NET Framework 3.5 で利用できますが、それは Windows Vista でのみ利用できます。それを使用する別の方法/ライブラリを提案できますか?
python - How to do PGP in Python (generate keys, encrypt/decrypt)
I'm making a program in Python to be distributed to windows users via an installer.
The program needs to be able to download a file every day encrypted with the user's public key and then decrypt it.
So I need to find a Python library that will let me generate public and private PGP keys, and also decrypt files encrypted with the public key.
Is this something pyCrypto will do (documentation is nebulous)? Are there other pure Python libraries? How about a standalone command line tool in any language?
All I saw so far was GNUPG but installing that on Windows does stuff to the registry and throws dll's everywhere, and then I have to worry about whether the user already has this installed, how to backup their existing keyrings, etc. I'd rather just have a python library or command line tool and mange the keys myself.
Update: pyME might work but it doesn't seem to be compatible with Python 2.4 which I have to use.
c# - 署名を検証し、PEM ファイルから PUBLIC KEY をロードする方法は?
公開鍵の形式を変換することに関するこの本当にばかげた問題で私が失った時間を他の誰かが節約できることを願って、これを投稿しています。誰かがより簡単な解決策や問題を見つけたら、私に知らせてください!
私が使用している e コマース システムは、署名とともにいくつかのデータを送信します。また、公開鍵を .pem 形式で提供してくれます。.pem ファイルは次のようになります。
-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe+hkicNP7ROHUssGNtHwiT2Ew HFrSk/qwrcq8v5metRtTTFPE/nmzSkRnTs3GMpi57rBdxBBJW5W9cpNyGUh0jNXc VrOSClpD5Ri2hER/GcNrxVRP7RlWOqB1C03q4QYmwjHZ+zlM4OUhCCAtSWflB4wC Ka1g88CjFwRw/PB9kwIDAQAB -----END PUBLIC KEY-----
上記を、署名を検証できる「RSACryptoServiceProvider」に変換するマジック コードを次に示します。.NET はどうやら (そして、証明書ファイルに関するいくつかの主要な頭痛の種なしでは驚くほどそれを行うことができないため)、BouncyCastle ライブラリを使用します。
そして、実際に署名を検証するコード:
rsa - nとeを組み合わせてRSAで公開鍵を作成するにはどうすればよいですか?
私は128バイト(1024ビット)のモジュラス(バイト配列形式)と指数(これもバイト配列形式)を持っています。公開鍵を表す128バイトの配列を作成する必要があります。
ウィキペディアによると、「公開鍵は、モジュラスnと公開(または暗号化)指数eで構成されています。」しかし、それは私に両方を混ぜる方法を教えてくれません。
行うべき正しい操作は何ですか?
--n ^ e(128バイトの長さを維持しますか?)
-nだけですか?
--nの後にeが続きますか?
--nがeに追加されましたか?
-他に何かありますか?
silverlight - Silverlight を使用した DSA 公開鍵システムの検証
Silverlight で DSA 署名を検証する必要がありますが、ランタイムには System.Security.Cryptography.DSA クラスが含まれていないため、代替手段があるかどうか疑問に思っていました。
encryption - プライベートとパブリックの交換キーペアのインポート
RSA1024プライベートパブリックエクスチェンジキーペアをMachine-1からMachine-2にエクスポートしたいと思います。XPでcryptoAPIを使用しています。
Machine-1で、キーペアを生成しました。実際にいくつかの実際のデータを暗号化するセッションキーをラップしました。キーコンテナ名は「PAIR1」です。
Machine-2では、セッションキーを秘密キー(Machine-1で生成したもの)でアンラップしたいと思いました。この目的のために、キーペアをMachine-1からMachine-2にエクスポートしたいと思いました。
永続キーをエクスポートする際のセキュリティ上の欠陥を認識しています。
私は何を試しましたか?
キーペアをMachine_1からPKCS#12-pfxファイルとしてエクスポートしました。Machine-2にインポートしたところ、キーコンテナ名が「PAIR1」から「none」に変更されました。私のアプリケーションでは、交換キーペアで正しい秘密キーを選択するために同じコンテナ名が必要です。キーコンテナ名を変更することはできますか?
これは機能しますか?
交換鍵ペアをMachine-2の公開鍵でラップし、Machine-2にインポートします。この場合、キーコンテナ名は同じままですか、それとも変更されますか?これが正しいアプローチかもしれないと思います。
編集済み: このクエリを実行した理由は、セッションキーを交換キーペア(公開キー)でラップし、ラップされたキーと暗号化されたデータをサーバーのメディアに配置したためです。このメディアはさまざまなクライアントを迂回し、サーバーに戻ります。この時点で、ラップされていないセッションキーを使用してデータを復号化します。このアンラッピングには、交換秘密鍵が必要です。私はこれをデモ目的で行っており、マーケティング担当者が鍵交換などを実行することは期待できません。クライアントにセキュリティの側面を示し、マーケティング担当者との設定の手間を減らしたいと考えました。
最後に、キーペアをエクスポートし、Ramsusアプローチが正しい方法ですが、必要な場所に同じものをインポートしました。
public-key-encryption - 双方向の非対称暗号化はどのように機能しますか?
アリスとボブがいるとします。
Alice は、Bob の公開鍵で暗号化したメッセージを Bob に送信します。Bob は、彼の秘密鍵を使用して暗号化を解除できる唯一の人物です。しかし、どうすればそのメッセージがアリスからのものだと確信できるのでしょうか?
彼が、アリスの公開鍵を使用してメッセージを暗号化して返信するとします。メッセージを解読できるのは Alice だけです。しかし、それがボブによって送信されたことをどのように確認できますか?
ボブが「これは間違いなくアリスから来た」と言えるように、アリスは自分のメッセージに何らかのパブリック ハッシュを追加する必要がありますか?
encryption - 8 ビット ブロック サイズの公開鍵と秘密鍵の暗号化アルゴリズムはありますか?
TripleDES をチェックアウトしました。ブロックサイズは64ビットです。
8 ビット ブロック サイズのアルゴリズムはありますか?
ありがとう
編集:私はこれを完全な保護のために使用するつもりはありませんが、コードを見た人が平文を見つけてはならない場合に備えて使用します。だから、8ビットは私にとってはちょっと大丈夫です。
encryption - CryptoAPI でキーをエクスポートする際の BAD_UID エラー
Microsoft CryptoAPI のテスト アプリケーションを作成しています。2 番目のパーティの公開鍵を使用して一方のパーティの秘密鍵をエクスポートし、その秘密鍵を 2 番目のパーティの秘密鍵としてインポートします (これにより、通信用の共有秘密鍵が設定されます)。これが私のコードです:
そして、これはエラーを与えます:
公開鍵ペアは、次の呼び出しによって、encryptT と decryptT (送信者、受信者) の両方に対して生成されます。
エラーの原因は何ですか?
ありがとう、