Encryption

大量非對稱加密

  • January 14, 2020

首先,如果我使用任何不正確的術語,我提前道歉。當談到密碼學時,我剛剛開始涉足,還有很多東西要學。

在過去的 12 個月裡,我們一直在為雲和移動應用程序 (iOS/Android) 開發應用程序基礎架構。作為基礎設施的一部分,我們需要加密的能力 $ \text{SHA-}256 $ 使用非對稱加密的散列,在某些情況下,一次加密多個散列。不可解密的數字簽名不足以滿足我們的要求。對此的簡單解釋是,到目前為止,我們一直使用的數字簽名允許任何擁有相應公鑰的人查看內容,以確保它們與數據庫行中的相應數據一致。如果沒有正確的簽名,則無法轉移數據行的所有權或創建重複行。行有一個簽名和一個所有者,兩個數字簽名驗證產品序列號是有效的,並且聲明的所有者實際上擁有序列號。

我們在現有框架之上建構了一個工作原型,該框架使用 PostgreSQL 和 PHP,並使用 $ \text{SHA-}256 $ RSA 2048 已經產生了能夠每 40 秒加密和插入/更新 10,000 行唯一數據的結果。插入 10,000 行數據時,必須創建 10,000 個唯一的數字簽名。大部分工作是創建這些數字簽名。

我們想知道**加快速度的最佳方法是什麼?**最終,我們需要能夠大幅減少這一時間,如果我們能夠在 5 秒內簽署並插入 10,000 行,那將是理想的。

**是否有更快的解決方案來使用私鑰簽署數字簽名?**我們已經討論過用 C# 編寫這個組件。**我們還想知道比特幣挖礦硬體(ASIC)是否可以用於非對稱加密?**如果不是挖礦硬體,基於 GPU 的處理會更好嗎?獲得專門的硬體,應該可以提高處理時間,這不是問題。

我們最終需要每月生成超過 10 億個數字簽名。任何指導或幫助將不勝感激。

編輯:我忘了提到我們正在使用 OpenSSL 和我們目前的原型。

在花錢購買專用硬體之前,我會探索 GPU 選項。

我使用 CUDA 做了類似的事情,我在其中並行執行許多 ECC 操作。GPU 比 CPU 快大約 30 到 50 倍。

您可能可以在 CPU 上散列數據,然後使用 GPU 進行 RSA 求冪。

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