Side-Channel-Attack
安全地分類秘密數據
假設你有一個
n
不同整數的秘密列表。您將如何以不易受到定時攻擊的方式對該列表進行排序?我嘗試查找“恆定時間排序”和其他相關查詢,但預期無濟於事。
是的你可以; 您可以使用Batcher 的合併交換算法,與恆定時間/訪問比較和交換常式配對(從位置 A 和 B 讀取兩個元素,並將較大的元素寫入位置 A,將較小的元素寫入位置 B)。
這需要 $ O(n (\log n)^2) $ 時間,這使得它不像其他排序算法那麼快;但是,如果您想要恆定的時間/記憶體訪問,那是我們所擁有的最好的。
維基百科上的程式碼假設 $ n $ 是二的冪;不難將其擴展到任意 $ n $ …