Discrete-Logarithm

離散對數和自然對數有什麼區別?

  • April 18, 2021

為什麼我們採取(基地 $ e $ ) 和 (base 2) 分別是自然對數和離散對數?

我不明白這兩個概念之間的區別。

我假設您了解模運算冪運算


首先讓我們考慮對數 $ \mathbb{R} $ .

你知道,如果我們有 $ e^x = y $ 然後 $ x = \ln y $ . Napierian 對數返回值 $ \mathbb{R} $ .

你可以在另一個基地擁有同樣的東西。例如 : $ 2^3 = 8 $ 和 $ \log_2 8 = 3 $ .

離散對數的簡化思想是只返回整數 ( $ \mathbb{Z} $ ).

在 $ \mathbb{R} $ , 我們有 $ \log_2 5 = 2.321\ldots $ . 這對我們來說並不有趣。難以操縱…這如何轉化為 Integer ?


讓我們考慮一下所有數字都必須低於某個素數的整數 $ p = 11 $ .

讓我們還考慮唯一允許的操作是乘法: $ \times $ .

因此我們有:

$ 3 \times 4 = 12 \equiv 1 \pmod{11} $

等等。

這種結構稱為以素數p為模的乘法群。它的符號如下 $ \mathbb{Z}p^\times $ . 在這種情況下,我們有 $ \mathbb{Z}{11}^\times $

讓我們考慮一下 $ g=2 $ 並應用指數 ( $ g^n = g \times \ldots \times g $ ) :

$ 2^0 \equiv 1 $

$ 2^1 \equiv 2 $

$ 2^2 \equiv 4 $

$ 2^3 \equiv 8 $

$ 2^4 \equiv 2\times 2^3 \equiv 2 \times 8 \equiv 16 \equiv 5 \pmod{11} $

$ 2^5 \equiv 2\times 2^4 \equiv 10 \pmod{11} $

$ 2^6 \equiv 2\times 2^5 \equiv 9 \pmod{11} $

$ 2^7 \equiv 2\times 2^6 \equiv 7 \pmod{11} $

$ 2^8 \equiv 2\times 2^7 \equiv 3 \pmod{11} $

$ 2^9 \equiv 2\times 2^8 \equiv 6 \pmod{11} $

$ 2^{10} \equiv 1 \pmod{11} $

這稱為生成器的循環群 $ g $ (這裡是 2):經過一定次數的冪運算,我們就有了循環。

現在讓我們回到我們的問題: $ \log_2 5 = ? $

在 $ \mathbb{Z}{11}^\times $ 正如我們所擁有的 $ 2^4 \equiv 5 \pmod{11} $ ,因此在 $ \mathbb{Z}{11}^\times $ , $ \log_2 5 = 4 $ .

離散對數中的離散是指我們在離散組中工作的方面,而不是任何實數。

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