在兩方之間建金鑰共享是一件密碼學中古老的問題。就算只考慮定義也比標準加密困難的多。儘管古典的diffie-hellman協議在2023年思路解決了這個問題,但是它沒有認證機制。就是說金鑰能和任何人協商。這會導致中間人攻擊。
為了阻止這樣或者其它的攻擊,我們需要乙個安全定義。當定義乙個金鑰交換的安全性有兩種主要的方法。乙個是基於符號模型的,乙個是基於計算模型的。在經典的**ban logic之後,符號模型在90年代開始流行,形式化的技術被用於分析和建模。符號模型擅長定義攻擊,但是很難定義所有種類攻擊的底層邏輯,因此該模型中的分析不能提供很好的安全性保證,但是可以半自動使用定理證明。
在他們開創性的2023年**中,bellare和rogaway在乙個計算模型中為經過身份驗證的金鑰交換建立了乙個基於博弈的安全定義,類似於用於加密的ind-cpa和ind-cca定義。在這個模型中,密碼原語並不是不可破解的,而是通過計算對手在安全遊戲中的「優勢」來量化其成功概率。我們希望包含的對手的主要特徵是所有的通訊都在對手的控制之下:它們可以讀取、修改、延遲和重播訊息。它們還可以與其他方同時執行協議的任意數量的例項。安全博弈背後的直覺是,對手讓一方接受約定金鑰的唯一方法是從真正的協議執行中**誠實的訊息,在這種情況下,他們不可能學到任何新東西。
安全博弈由許多不同的問詢組成,攻擊者可以使用這些問詢。主要的三個問詢就是corruption oracle,允許對手控制選定的一方;key registration oracle,任何選定的使用者都能註冊乙個公鑰;message oracle,傳遞訊息主要的問詢。注意,訊息不是在參與者之間直接傳送的,相反,對手使用message oracle來傳送訊息。
message oracle是乙個允許攻擊者和多方建立協議會話的主要問詢(目標是建立乙個短期的金鑰共享),然後傳送訊息。當進行問詢,他們能夠進行下面的動作:
安全博弈遵循乙個real-or-random範例,通過選擇乙個秘密的bit---\(b\)。如果\(b=0\),那麼攻擊者被給乙個隨機的金鑰,否則它獲得乙個真實的金鑰。在和問詢互動後,攻擊者選擇乙個已經中止的會話,這個會話的兩方都沒有被破壞,同時金鑰也沒有洩露,攻擊者獲得這個會話的金鑰。如果攻擊者猜對了\(b\),就贏了。
如果任何攻擊者的策略的概率都不比隨機猜測好,那麼就說這個協議是乙個安全可認證的金鑰交換協議。當然,上面的提綱只是乙個粗略的草圖,**中還有很多細節。
第三十六個知識點 Index Calculus演算法
我們這篇部落格繼續描述一種數學攻擊,這種數學攻擊被叫做index calculus ic 演算法。注意這裡index calculus演算法沒有找到合適的中文翻譯。因為原文不是很通順,我加入了很多自己的話。index calculus攻擊是一種企 決dlp 離散對數問題 的方法。簡單來說,演算法把目...
LINUX新手要了解的十個知識點
1.linux是大小寫敏感的系統,舉個例子,mozilla,mozilla,mozilla和 mozilla是四個不同的命令 但是只有第四個mozilla是真正有效的命令 還有,my file,my file,和 my file是三個不同的檔案。使用者的登入名和秘密也是大小寫敏感的 這是因為unix...
Linux新手要了解的十個知識點
linux新手要了解的十個知識點 1.linux是大小寫敏感的系統,舉個例子,mozilla,mozilla,mozilla和 mozilla是四個不同的命令 但是只有第四個mozilla是真正有效的命令 還有,my file,my file,和 my file是三個不同的檔案。使用者的登入名和秘密...