Encryption

為什麼我們在密碼學中使用組、環和域?

  • April 13, 2021

我是網路安全碩士的學生。我有一個習慣,從他們的首要原則(一開始)理解事物。請使用任何簡單的數學範例來回答,因為我已經閱讀了很多技術答案,但我並不清楚。例如,我們使用素數是因為我們知道分解它們非常困難。此外,我們使用單射是因為我們不希望加密中的一對多關係,因為這將是解密方面的災難。和我的例子一樣,你能不能給我提供一個使用組的例子,它像素數和單射一樣有意義?請讓我知道導致我們在密碼學中使用組的實際問題是什麼?

我知道群是什麼以及它的屬性,我知道抽象代數,但我不知道我們為什麼要使用它們以及如果我們不使用它們會發生什麼。

請讓我知道導致我們在 cyptogrpahy 中使用組的實際問題是什麼?

好吧,我們使用組和其他類似的數學結構,因為:

  • 我們發現這些群體似乎難以解決一些問題
  • 我們找到了將解決這些問題的難度轉化為某個對象(例如 RSA 公鑰加密或簽名)的加密強度的方法,也就是說,您不能破解加密對象(例如,在沒有加密的情況下解密加密的密文)關鍵)除非你能解決難題。

第二部分至關重要;我們知道比我們在密碼學中使用的問題更難解決的問題;但是我們不知道如何利用這些。

這就是答案。“我們為什麼使用群組”的答案與 Willy Sutton 對“你為什麼搶劫銀行”這個問題的回答幾乎相同——“因為那是錢所在的地方”——也就是說,我們這樣做是因為它提供了我們正在尋找的加密安全。

我相信如果我不知道“為什麼”,那麼一切都是無用的。

那麼你在密碼學方面遇到了麻煩——我們不知道的一件事是為什麼這些難題實際上很困難(如果事實上它們確實如此)——我們所知道的最多的是一些相當聰明的人試圖做了一些相當聰明的技巧來解決它們,但都沒有奏效。

組具有對許多加密操作有用的屬性

  • 當您在密碼運算中將 2 個數字相乘時,您希望相乘的結果也位於同一個集合中。例如,如果您將適合一個字節(或 n 個字節)的東西乘以類似的東西,您還希望結果也適合一個字節(或 n 個字節)。組具有確保這一點的閉包屬性
  • 當你想解密加密的東西時,很多時候解密是加密的逆過程。組的元素是可逆的,因此再次需要。

組的其他屬性在其他特定情況下很有用。例如,在 AES 的 MixColumn 操作中,需要關聯性屬性。像這樣,您會發現許多需要許多屬性的加密操作。

環和有限域也是組,因此它們也具有相同的屬性。組僅在一種算術運算下具有閉包、關聯性和逆。但是,有限域在兩種算術運算(例如加法和乘法)下都有閉包、結合性、恆等性、逆向、交換性。

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