Encoding

測量密碼學中兩個數字距離的度量

  • August 3, 2020

漢明距離 (HD) 已用於測量兩個數字在轉換為二進製表示時的距離。例如, $ Ham(1, 2)=2 $ 就像0001'XOR'0010'='0011'同時 $ Ham(128, 1) $ 等於 $ 2 $ 也是。在這裡,我們看到 HD 不能很好地工作,因為它錯誤地指示之間的距離 $ 1 $ 和 $ 2 $ 等於之間的距離 $ 1 $ 和 $ 128 $ .

所以我的問題是是否有任何其他距離測量方法(或編碼方法)可以處理這個問題?

那裡沒有任何錯誤的指示!

漢明距離是空間中相同長度的字元串(向量)之間的距離 $ {0,1}^n. $ 然而,這些向量的整數表示在不同的空間中,並且距離不同。

除了整數距離 $ |x-y| $ 在兩個整數之間,你可以有最小的循環距離$$ \min {|x-y|,|n-x+y|} $$ 對於兩個元素模 $ n. $

注意一些這樣的距離不是度量標準。可能會違反三角形相等或對稱性。

更一般地說,由於多項式在 Crypto 中也被廣泛使用,您可以根據其真值表的漢明距離或非二進制的值表來獲得度量。

或者兩個多項式的最小次數減去它們具有的公共根的數量。

**編輯:**或編輯距離(levenshtein distance),通常定義為最小數量$$ (insertions+ deletions+substitutions) $$需要映射一個長度的字元串 $ m $ 到一串長度 $ n $ 在哪裡 $ n=m $ 不需要。有時,對不同的操作施加權重並最小化加權成本。

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