密碼學讀書筆記 Fiat Shamir

2021-10-10 18:03:10 字數 1625 閱讀 3303

在中心準備簽發智慧卡時,會信選擇出乙個模數n和乙個偽隨機函式f,這個偽隨機函式f可以將任意的字串與[0,n)當中的乙個數聯絡起來。n是兩個秘密(只有中心知道)素數p和q的乘積。

當乙個合法的使用者希望申請乙個智慧卡時,中心會解析它的所有相關資訊,包括名字、位址、id、物理特徵描述等,這些資訊會被包括在乙個字串當中,同時有關卡片本身的一些資訊也會被包含在其中(發行日期,有效性限制等)。這些資訊一旦被確認發行之後就無法修改,所以保證它正確很有必要。

以下是中心對於字串i的操作:

計算vj=f(i,j),j 是一些很小的數;

選擇k個不同的j,使得vj是n的平方剩餘,同時計算關於vj

-1(mod n)的最小平方根sj,其中vj

-1應該是vj關於n的尤拉函式的逆;

發行這張新的智慧卡,在這張智慧卡中包括了字串i,k個*sj*和它們所對應的索引。

當使用者使用智慧卡時,驗證者需要對該智慧卡進行驗證,通常在驗證的機器中值儲存著模數n和偽隨機函式f。智慧卡向驗證者證明它知道*s1,…,sk*的值,同時不會洩露這些值給驗證者。

證明協議包括以下協議步驟(其中a是證明者,b是驗證者):

a將i傳送給b;

b計算vj=f(i,j),j=1,…,k;

以下3-6步驟將重複t次,i=1,…,t:

a選擇乙個隨機數ri

\in∈[0,n),計算xi=ri

2(mod n)傳送給b;

b選擇乙個隨機向量(ei1,…,eik)∈

\in∈,傳送給a;

a計算yi,並傳送給b;

b計算以下公式,如果成立,則證明a是合法的。

在互動式的簽名方案中,b需要傳送eij矩陣給a,a和b之間存在互動,下面將介紹一種非互動驗證方案,使得兩者之間不需要通過互動即可驗證a的合法性。

在證明者這一端:

a選擇隨機的r1,…,rt

\in∈[0,n),同時計算xi=ri

2(mod n);

a計算 f(m,x1,…,xt),同時使用計算結果的錢kt位作為矩陣eij的值(1≤

\leq

≤i≤\leq

≤t,1≤

\leq

≤j≤\leq

≤k);

a計算yi,通是將i,m和eij矩陣傳送給驗證者b。

在驗證者這一端,驗證a在訊息m上的簽名是否合法:

b計算vj=f(i,j),j=1,…,k;

b計算

b驗證*f(m,z1,…,zt)的前kt位是否等於eij.如果成立證明a的簽名合法。

在互動式的身份驗證方案中,隨機矩陣eij是由驗證者決定和傳送的,而在非互動式的身份簽名方案中,隨機矩陣eij是由證明者通過隨機函式計算結果所選擇的,這個矩陣的隨機性完全依賴於韓系函式f,一旦f被破解,也就會帶來安全問題,證明者可以控制它的那幾個值會被驗證。

密碼學筆記

1.加密方法可以分為兩大類。一類是單鑰加密 private key cryptography 還有一類叫做雙鑰加密 public key cryptography 前者的加密和解密過程都用同一套密碼,後者的加密和解密過程用的是兩套密碼。歷史上,人類傳統的加密方法都是前一種,比如二戰期間德軍用的eni...

密碼學筆記

定義 如果a和d是兩個自然數,d非零,可以證明存在兩個唯一的整數 q 和 r,滿足 a qd r 且0 r d。其中,q 被稱為商,r 被稱為餘數。基本定律 同餘公式也有許多我們常見的定律,比如相等律,結合律,交換律,傳遞律 如下面的表示 1 a a mod d 2 對稱性 a b mod d b ...

密碼學 密碼學基礎

密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...