Authentication

將字母轉換為數字以創建身份驗證器

  • January 29, 2021

在 DJB 的多項式評估和消息身份驗證的第 2.2 節中,他描述了第一個可證明安全的身份驗證器的構造,這是 Gilbert、MacWilliams 和 Sloane 的工作。

修復有限域 $ k $ . 合法發送者生成 9 個獨立的統一隨機密鑰 $ r1, r2, . . . , r8, s ∈ k $ . 發送者私下會見合法接收者,並告訴接收者相同的秘密 $ r1, r2, . . . , r8, s $ . 稍後發件人要發送消息 $ m $ 通過公共網路到接收方,其中 $ m $ 是 8 個組件的序列 $ m1, m2, . . . , m8 ∈ k $ . 發送者發送 $ m $ 與驗證器一起 $ a=m1r1+···+m8r8+s ∈ k $ .

美好的。假設整個消息如下所示:

抱歉 Mrjoh nsony ourf light hasbe encan celed

這條消息很方便地分成了八個組成部分的序列。

我無法弄清楚的是如何以數字方式表示字母/塊以進行上面顯示的計算的簡單問題。

什麼是最好的方法?

什麼是最好的方法?

好吧,將字元串轉換為值的任何方式(並且以兩個不同的字元串永遠不會編碼為同一組值的方式)都可以工作,所以我不知道是否有一個傑出的“最佳”。

一種簡單的方法是獲取每個組件的 ASCII 值,並將其解釋為整數(實際上是 $ k $ )。例如,字元串 “sorry” 在 ASCII 中是值 0x73、0x6f、0x72、0x72、0x79),因此您只需將它們連接成單個值 0x736f727279 = 495791010425;這就是你的價值

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