Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。公開してしまっては暗号化の意味がありません。簡単なPINコードを設けることも考えましたが、ワンクリックですぐにあるアプリケーションに引数を渡して起動するアプリケーションのため、PINを入力する画面すら設けたくありません。何かいいアイデアはありませんか?MITライセンスにする予定で、クライアントアプリです。プログラムを知らない一般ユーザーの為に、ビルド済みのバイナリも配布します。個人個人によって違ってくるものであり、ID/Passwordのようなデータを保存したテキストデータを暗号化するために使います。ネットワークを介すものではありません。別のアプリケーションの引数を生成して起動します。個人のデータが漏れてしまいます。これをなんとかしたいです。クライアントアプリです。ビルド済みのバイナリも配布します。0:333暗号化と一言で言っても、例えば、ネットワーク越しに暗号化通信をしたいのか、アプリケーションの内部データを隠蔽したいのか、では全然違う話になります。暗号化するデータはどのようなものか、そのデータをやりとりする相手と方法、どのような攻撃から保護したいのか、など、何がしたいのかをできる限り明確にしないと、的確な回答を得ることはできないでしょう。票6ローカルに閉じていればいいのであれば、簡易な方法としては、アプリケーション初回起動時にランダムなキーを生成、保存し、以後はそれを使用すると言う方法が考えられます。今度はキーの保管が問題になります。Windows+.NETであれば、暗号化にSystem.Security.Cryptography.RSACryptoServiceProviderを使ってキーの保管にOSの機能を使うことができます。これでもローカルの同一アカウントで実行されるマルウェアからはキーが読めますので、絶対ではありません。いう状況は想定しなくていいのであれば、ユーザーに暗号化ファイルシステムを使ってもらえば済む話かもしれません。逆に、想定されている保護レベルは専用のセキュリティデバイスが必要になるような話かもしれません。ありとあらゆる攻撃シナリオすべてから情報を守ることは不可能なので、トレードオフは必ず発生します。判断ができないのであればセキュリティコンサルタントに相談された方がいいでしょう。|2なんでバレるんでしょうか?バレないようにする手段の問題な気がしますが...安全な共通鍵暗号方式を用いた通信を行うためには、安全に共通鍵を渡してやる必要があります。用いるのが手っ取り早いかと思います。最初に公開鍵暗号化方式で共通鍵を渡して、その後共通鍵暗号方式での通信を行えば良いかと思います。A(サーバ)とB(クライアント)の間で安全に通信するためには...Bは、Aの公開鍵で暗号化した共通鍵をAに渡す。Aは、受け取った暗号化された共通鍵を秘密鍵で復号化する。以降は、共通鍵暗号方式で通信を行い、定期的に共通鍵を変更する。|1どのようなプラットフォームをお考えなのかわからないのでお役に立つかわかりませんが、Androidなどだとたいてい無線LANのインタフェースが付いているのでそのMACを元にkeyを生成しているようです。MACはもちろん第三者が参照可能ですが、実際の値を入手できなければ解読できないとも言えます。その辺りはトレードオフなので、ないよりはいいでしょう。簡単に使うことができます。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。いうオープンソースを改良してみたいのですがビルドができません。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。