Implementation

非密碼學家可以將密碼程式碼送出給開源項目嗎?

  • February 25, 2016

我不是密碼學家,我也不聲稱自己是。

但是,有時我想為 libsodium 等開源密碼學項目做出貢獻。libsodium 的維護者是一名密碼學家,我認為這是一個很好的假設,即他們將審查送出給 repo 的任何程式碼。

在這種情況下,是否可以編寫程式碼,盡我所能把事情做好,並依靠有資格的人來捕捉任何錯誤?

編輯:我說的是不是特別複雜的眾所周知的、軟體友好的算法的實現。那就是:零新想法,只是“繁重的工作”——問題已經解決了,只有編寫程式碼這個相對機械的任務。

特別在談論將現有原語聯繫在一起的“膠水程式碼”。

至少要確保您的程式碼已經過審核。驗證由於使用了非安全原語,您沒有可能的緩衝區溢出或任何類型的實現攻擊。此外,如果您這樣做,請測試您的所有功能,特別是:

  • 按位旋轉
  • 排列
  • S盒…

檢查一切,因為它真的很容易搞砸。然後使用算法提供的測試向量並檢查您的結果。例如,這是我在實現 DES 時使用的測試向量(我不在生產中使用)。

您可以在此處找到大多數密碼的其他測試向量,即AES-128-128

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