Authenticated-Encryption

PGP 密鑰的指紋可以與電話號碼結合使用嗎?

  • April 1, 2017

假設我想給朋友發簡訊,但我不希望我的運營商看到我的簡訊。我可以只要求一個電話號碼,然後讓他/她發簡訊給我一個 PGP 公鑰。但是,眾所周知,運營商可以輕鬆進行 MITM 攻擊。那麼,如果我們交換一個不同的號碼,但使用配對函式將 10 位數字和 PGP 公鑰指紋組合在一起會怎樣。然後我將電話號碼和密鑰分開,要求提供公鑰,然後檢查指紋。

我是否可以在將“數字”保持在大約 15 個 base-36 或 64 個字元的同時做到這一點?我想保持 ID 簡短,以便可以在手機上輕鬆輸入。我打算使用 16 位十六進制數字指紋。我一直在嘗試解決方案,但我可以為“FFFFFFFFFFFFFFFF”和 9999999999 做的最好的事情是通過連接比使用 pair 函式短得多的位來連接 base-64 的 19 個字元。

有關配對功能的更多資訊

編輯:得到一些關於公鑰交換的評論。

電話使用您朋友給您的 ID 號碼將指紋與電話號碼分開。然後,您的手機會向該電話號碼發送一條消息,該號碼會返回一個公鑰。由於您將密鑰與電話號碼組合給了您的朋友,因此手機能夠根據指紋檢查密鑰,以查看運營商是否試圖做一些“詭計”。對不起,如果我沒有在問題中解釋得很好。

給定一個消息空間 $ 10^{10} \approx 2^{33.2} $ 不同的電話號碼和 $ 16^{16} = 2^{64} $ 不同的指紋,你應該期望採取不少於 $ \log_{64}(2^{33.2 + 64}) \approx 16.03 $ base-64 字元,或 $ \log_{36}(2^{33.2 + 64}) \approx 18.61 $ base-36 個字元。在這種情況下,位連接很好,假設整個空間中的每個指紋和電話號碼同樣可能發生。

然而,是什麼阻止了運營商仍然只是簡單地 MitM’ing 並用自己的指紋和電話號碼交換這樣一對編碼的指紋和電話號碼?

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