2009-08-03 12 views
7

興味深い論文:
AES Encryption Implementation and Analysis on Commodity Graphics Processing UnitsGPUを使って.NETからAES暗号化を行うことはできますか?もしそうなら、どうですか?ダブリンのトリニティカレッジから

彼らの技術はAESで必要な数字の変換を行うためにGPUを参加させるためにOpenGLを使用しています。

管理された.NETライブラリを介してストリーム暗号化を実行するこの機能を公開することはどれほど難しいでしょうか?

どうすればよいですか?ヒント?例?

EDIT:誰でもCUDAまたはアクセラレータを使って関連付ける経験がありますか?

+0

興味深い: –

答えて

4

MicrosoftのAcceleratorライブラリを使用できます。 .NETを介してGPUにアクセスできます。

もっと多くの作業が必要な場合は、AESアルゴリズムの書き換えが必要な場合を除き、これを実行するのは簡単ではありません。しかし、可能です。

そこには他のC#APIがあるかもしれませんが、私が出会ったのはBouncy Castle APIでした。あなたがしなければならないことは、MicrosoftのAccelerator APIを利用して、AESアルゴリズムのソースコード内で数学演算が実行されるところならどこでも使用できます。

+0

は良い可能性のように聞こえる。どのような例がありますか? – Cheeso

3

私は、CUDA /(C++/cli)実装を管理するラッパーを作成するか、cuda.netを使ってすべてを行うことをお勧めします。しかし、はC#でカーネル自体です。 実際のカーネル実装を高水準言語で行う方法はまったくありません。CUDAを使用する必要があるCUDAでは、OpenGL/DirectXでシェーダを使用する必要があります。 開始するには、cuda.netをご覧いただくか、CUDA SDKとサンプルをダウンロードしてgpgpuプログラミングの概要をご覧ください。

+0

ここにはすでにCUDA.NETラッパーがあります:http://www.hoopoe-cloud.com/Solutions/CUDA.NET/Default.aspx –

+0

私はラッパーを使用すると言っていませんでしたCUDAですが、CUDA _implementation_のラッパーです。あなたがcuda.netを使用すると、c/C++ではるかに簡単なたくさんのことをやらなくてはならないので、違いは非常に重要です。私はまた、cuda.netに多くの問題を抱えていましたが、サンプルのいくつかは機能しません。さらに、C/C++で多くのメモリ/バッファ管理を行う必要がありますが、通常はc/C++で簡単です。 また、管理メモリ(ページロックされていないメモリ、したがってメモリ転送のパフォーマンスが大幅に低下している)または管理されていないメモリ(C#で作業したい場合はオーバーヘッド)を選択する必要があります。 –

2

もう1つのオプションはBrahmaです(ウェブサイトはatmのようです)。

Webサイトの引用:

梵天は何ですか?

Brahmaは、.NET 3.5フレームワーク(C#3.0)用に書かれたオープンソースライブラリで、さまざまなプロセッサ上の並列ストリーミング計算に高レベルのアクセスを提供します。 現在、ブラフマにはGPUプロバイダがあり(その焦点はGPGPUです)、どのような種類のプロセッサでも実行できるようになっています。

ブラフマとは何ができますか?

Brahma 2.0は、C#3.0の新しいLINQ構文を使用してデータのストリーミング変換を指定します。 Brahmaを使用すると、GPU上で実行されるステートメントと、CPU上で実行されるステートメントを1つの方法で混在させることができます!グルーコードを必要としないため、数行のコードで複雑なマルチパスGPU計算とCPU操作を行うことができます。必要なすべてのグルーとシェーダコードはBrahmaによって自動的に生成されます。あなたがする必要があるのは、高水準の.NETコードを書くことだけです。

私はそれを使用していませんが、最近私は.NETの岩の上でそれについてpodcastを聞いた。あなたがGPUシェーダ言語を習得したくない場合には、良いライブラリのように思えます。

ここにはsourceforge linkがあります。

0

C#をGPUに統合するために使用するものは、AESのCUDA実装を使用する必要があります。彼らはそこで最も速いです。最速の実装は、あなたがリンクしている同じ人 - Trinity groupから来ているようです。現代のグラフィックスハードウェア論文の実用的な対称鍵暗号を見てください。

関連する問題