Implementation

CUDA 中的 MARS 和 RC6

  • December 31, 2018

我正在做一個項目,我在 CUDA 硬體上對 5 個 AES 決賽選手(Rijndael、Twofish、Serpent、MARS 和 RC6)進行基準測試。

我的問題是我不是經驗豐富的 CUDA 程序員。我的方法是找到在 CUDA 中實現這些算法的開源項目,並對其進行修改以滿足我的需求。

找到 Rijndael 實現顯然不是什麼大問題。Twofish 和 Serpent 也不是什麼大問題。但我找不到關於 MARS 和 RC6 的任何資訊。我已經聽說使用這兩種算法可能會有一些版稅問題,但我不確定這有多嚴重。

無論如何,有人知道是否有一些來源可以找到這些算法的 CUDA 實現?如果沒有什麼我必須自己寫,但我認為這些對基準測試沒有好處。

去年我對 SHA-3 決賽選手做了類似的事情。我可以從個人經驗告訴你,最好的做法是找到 C/C++ 參考實現並將它們移植到 CUDA。通過編寫一個在一個 GPU 執行緒中執行整個操作的核心來天真地開始。一旦你讓它工作,你可以優化硬體。

引用自:https://crypto.stackexchange.com/questions/11192