2016-07-21 6 views
2

.NETのセキュリティ暗号化クラスは、モノ実行時に使用できますか? (特にMacでモノランタイムを使用するモノゲームの実装)C#クロスプラットフォームの暗号化はモノラルですか?

[AES](https://msdn.microsoft.com/en-us/library/system.security.cryptography.aes(v=vs.110).aspx)クラスを使用することができるかどうかは、主に興味があります。

文字列(設定データなど)を暗号化して難読化し、それをファイルとして保存し、後でプログラムで復号化することができますか。

+1

質問をすると、どのように暗号化キーを秘密にしておきますか? – zaph

+0

ベストプラクティスはまだ分かりません。それを動作させるためにはソースコードになりますが、リリースされた製品は悪い考えです。 – lozzajp

+2

あなたの脅威モデルを好奇心を持った十代の若者からよく資金を提供された国に定義し、攻撃者、ユーザー、自分自身にその価値を定義します。その後、必要なセキュリティのより良いアイデアが得られます。ソースコードの中であなたのニーズを満たしているかどうかは分かるかもしれません。 100%安全なソリューションはないことに注意してください。これがサーバー上にある場合は、ローエンドのHSMを追加できるサーバーを所有している場合、またはおそらくサーバーにTPMが含まれている場合、広告を守る方が簡単です。 – zaph

答えて

2

はい...あなたは、このようなMacOSの:)

https://developer.xamarin.com/api/type/System.Security.Cryptography.Aes/

編集としてモノ裏打ちされたプラットフォーム上でこれらのクラスを使用することができます。@zaphコメントに優れたポイントになります...がありますこのような理由から各プラットフォームでネイティブライブラリを使用するPCLCryptoなどのライブラリ:

+2

これらのiOSまたはmacOSを使用する場合、パフォーマンスマットはApple Common Crypto機能を使用するよりはるかに悪くなります。実装とプラットフォームによっては、最大1000倍も遅くなる可能性があります。 iPhone 6sはCommon Cryptoで430 MB /秒で暗号化でき、Monoクラスをベンチマークすることができます。 – zaph

+1

グレートポイント@zaph ...これを考慮に入れた偉大な図書館へのリンクを含むように更新された回答。 –

+0

PCLCryptoはCommon Cryptoライブラリを使用しますか?特にiPhoneのハードウェア暗号化エンジンを使用していますか? – zaph

関連する問題