鄭重聲明:原文參見標題,若有侵權,請聯繫做者,將會撤銷發佈! 如下是對本文關鍵部分的摘抄翻譯,詳情請參見原文。算法
Abstractbootstrap
咱們展現瞭如何構造各類「trapdoor」密碼工具,假設標準格問題的最壞硬度(例如在最短的非零向量上近似於小因子)。應用包括帶預圖像採樣的trapdoor函數,簡單高效的「哈希簽名」數字簽名方案、通用可組合的不經意傳輸和基於身份的加密。安全
咱們構造的一個核心技術組件是一個有效的算法,該算法在給定任意格的基礎上,從類高斯機率分佈中採樣格點,其標準差本質上是基中最長向量的長度。特別地,關鍵的安全特性是算法的輸出分佈不受給定基的特定幾何結構的影響。bash
1 Introduction併發
自從Ajtai[Ajt96]的開創性工做將格問題的平均複雜度與它們的最壞複雜度聯繫起來以後,在最壞狀況的格假設下,基於密碼的安全性(須要隨機選擇的密鑰的安全性)一直是一個有趣且卓有成效的努力。除了其獨特的理論利基外,基於格的方案還具備許多優勢:第一,它們的漸近效率和簡單性(一般只須要對小整數進行線性運算);第二,它們迄今爲止對量子算法進行密碼分析的阻力(與基於因子分解或離散對數的方案相反);第三,基於格的方案保證它們的隨機實例是「儘量困難的」。oracle
迄今爲止,此類原語的已知構造主要限於單向和抗衝突哈希函數[Ajt96,GGH96,CN9七、Mic04,MR07]和公鑰加密[AD97,Reg04,Reg05]。特別值得注意的是,即便在隨機預言模型(random oracle model)中,也缺少任何具備其餘基於格的原語的簡單高效的數字簽名的「直接」構造。(Goldreich、Goldwasser和Halevi的早期簽名方案[GGH97]與某個格問題直接相關,但缺少安全性證實,最近,Nguyen和Regev[NR06]展現瞭如何從簽名(隨機消息)的轉錄本中徹底恢復密鑰。咱們將在下面詳細討論GGH計劃。)app
基於格的強密碼工具(如選擇密文安全加密[PW07])的構造有了一些新的進展。可是,儘管密碼學中格的研究取得了許多進展,可是如何實現一些好久之前創建在其餘數論問題上的概念,如與因式分解有關的概念,仍然是個未知數,標準差實質上是基中最長向量的長度。特別地,關鍵的安全特性是算法的輸出分佈不受給定基的特定幾何結構的影響。dom
1.1 Overview of Results and Techniques函數
咱們在這項工做中的主要論點是,格容許天然和固有的「trapdoor」,它們具備許多有用的密碼應用。至少能夠追溯到GGH的提議[GGH97],人們直覺上認爲,格的短基能夠充當這樣一個trapdoor。咱們的主要貢獻是展現如何在理論上合理和安全地使用一個trapdoor基。工具
做爲一個基本的工具,咱們首先構造一個具備一些特殊性質的trapdoor函數集合。函數是多對一的(即每一個輸出值都有多個預圖像),trapdoor逆算法在適當的分佈下從全部預圖像中進行採樣。在此基礎上,咱們展現了幾種更先進的密碼工具的有效實現,包括簽名方案、通用可組合的不經意傳輸以及基於身份的加密。
全部這些結果的核心技術是一種有效的算法,在給定一個適當長度的基(甚至僅僅是一個完整的秩集)的狀況下,從任意格上的類高斯機率分佈中「遺忘」地採樣。這種技術還產生了更簡單和(稍微)更緊的最壞狀況/平均狀況鏈接的格問題,並可能在複雜理論和密碼學中有附加的應用。
1.1.1 Gaussian Sampling Algorithm
由於它是咱們密碼結果的主要基礎,因此咱們從咱們的抽樣算法的總結開始。在給定任意n維格Λ的基B包含於Rn(甚至是全秩集S包含於Λ)的狀況下,該算法在類高斯機率分佈下隨機選擇一個格向量,其標準差實質上是B(或S)中最長向量的長度。格上的這種離散的高斯分佈在數學中被用來證實格的嚴格的「轉移定理」[Ban93/Ban95],而且最近在證實格問題的計算複雜性[AR03,AR05,Pei07]中特別有用,特別是它們最壞狀況/平均狀況的鏈接(例如,[Reg04,MR07,Reg05])。然而,到目前爲止,離散高斯函數主要被用做分析工具,而不是算法工具。
採樣算法也能夠看做是一個隨機解碼器,在給定一些短的格向量做爲「建議」的狀況下,輸出一個相對接近任何給定目標點t∈Rn的格向量。解碼器的關鍵特性是其輸出分佈僅取決於建議向量的長度,不然不受其特定幾何結構的影響。這將是咱們加密應用程序中的一個關鍵安全屬性。
算法自己其實是Babai的「nearest-plane」(最近平面)算法[Bab86]的一個簡單隨機變量,只有一個小的差別。算法不老是選擇最近的平面,而是選擇一個特定的平面,其機率取決於它與目標點的距離。結果代表,這種簡單的變化致使輸出分佈在統計上接近離散高斯分佈,儘管分析是非平凡的,而且關鍵地使用了Micciancio和Regev[MR07]引入的平滑參數的概念。第三章給出了所有細節。
1.1.2 Cryptographic Constructions
對於咱們全部的密碼構造,咱們須要爲隨機格生成一個「困難的」公共基Λ,以及Λ的一個短的私有基,這將用做採樣算法的建議。咱們首選的方法是出於Ajtai[Ajt99],他描述了一種生成此類基的方法,使得公共基具備最壞狀況下的困難性。(據咱們所知,咱們的結果是在密碼學或其餘領域首次使用Ajtai的生成器。)
帶預圖像採樣的trapdoor函數:咱們的高級加密工具的基本對象是單向(同時也是抗衝突)trapdoor函數的集合。很是不正式地,計算公共函數f至關於「均勻隨機」地選擇格點v∈Λ,並經過一些短偏差項e對其進行擾動,從而產生一個點y=v+e。找到y的原像對應於將其解碼到足夠近的格點v'∈Λ(不必定是原始的v)。這是很容易使用咱們的採樣算法與trapdoor,但不然應該很難(對於特定的分佈Λ和y)。
咱們的trapdoor函數在密碼應用程序中有兩個重要的安全屬性。首先,輸入(偏差項e)從標準差相對較小的高斯分佈中採樣,而且在該分佈下,輸出y在統計上接近於在該範圍內的均勻性。這就把逆問題等同於對給定公共基的均勻隨機點進行解碼,咱們能夠對其顯示最壞狀況的困難性。其次,trapdoor的逆算法不只能夠找到y的任意一個原像,並且可使用咱們的離散高斯採樣算法從y的全部原像中(在適當的條件分佈下)進行實際採樣。換言之,逆變器從高斯輸入分佈中對輸入e進行採樣,條件是f(e) = y。這兩個特性共同代表,有兩種(幾乎)選擇對(e, y = f(e))的等效方法:從輸入分佈中選擇e並計算y = f(e),或隨機均勻地選擇y並從f-1(y)中採樣獲得e。正如咱們將看到的,這使得咱們的trapdoor函數在某些應用中和trapdoor置換"同樣好"。
關於隨機格的進一步討論,硬解碼問題,以及咱們的trapdoor函數的所有細節,見第四章。
簽名方案:文獻中有幾種(相對有效的)基於trapdoor置換的數字簽名方案:全域類哈希方案[DH76,BR93,BR96,Cor02]遵循所謂的「hash-and-sign paradigm」(哈希與簽名範式),並在隨機預言模型(random oracle model)中進行了安全分析,且Bellare和Michali的方案[BM92]在標準模型上是安全的。
咱們證實,上述全部基於置換的簽名方案,使用帶有預圖像採樣的trapdoor函數,可以一樣好地進行實例化,並將其安全性分析保留在各自的模型中(儘管在處理同一消息上的多個查詢時可能會出現細微差異)。事實上,咱們可使用函數的抗碰撞特性來演示嚴格的安全性下降,而不只僅是它們的單向性。
具體地說,咱們的hash-and-sign簽名與原始的(但不安全的)GGH方案及其變體[GGH97,HHGP+03]很是類似:非正式地,消息被散列到空間中的一個隨機點,其簽名本質上是一個附近的格點,這是使用短基找到的。咱們的方案有兩個主要區別:第一,它們基於具備最壞狀況困難性的隨機格;第二,更重要的是,簽名是由隨機解碼算法生成的,其輸出分佈不受trapdoor基的特定幾何結構的影響。(GGH最初的提議是不安全的,正是由於它的簽名泄露了關於私有基的「形狀」的信息,容許徹底密鑰恢復[NR06]。)
第五章構造並分析了簽名方案。
有效的廣泛可組合的不經意轉移:咱們的下一個應用是圍繞一個基於錯誤學習(learning with error, LWE)問題的regev密碼系統[Reg05]。咱們演示了一個trapdoor,它適用於一個優化版本的系統,在這個系統中,全部參與方都相對於某個共享隨機格生成它們的公鑰。
這個trapdoor的第一個應用是廣泛可組合的不經意轉移,這是Peikert等人的一個併發工做的主題[PVM07]。這項工做的中心研究對象被稱爲消息有損(或「凌亂」)公鑰,其定義屬性是在這種密鑰下生成的密文不攜帶(統計上)關於加密消息的信息。
之前關於基於格的加密的工做[AD97,REG04,REG05]使用機率參數來代表混亂的密鑰很是密集。在這項工做中,咱們給出了一個在(一個微小的變種)Regev's密碼系統中顯式的幾何描述凌亂的密鑰。從本質上講,若是公鑰在與共享格相鄰以後,該格的最小距離仍然較大,則該公鑰是混亂的。而後,咱們展現瞭如何識別這些密鑰,使用咱們的高斯採樣算法有效地實現了算法的預處理步驟,該算法根據Aharonov和Regev[AR05]識別遠離給定格的點。
第六章將進一步詳細描述用於Regev密碼系統的trapdoor。
基於身份的加密:Shamir[Sha84]首先提出的基於身份的加密(IBE)容許任意字符串做爲密碼系統中的公鑰。到目前爲止,IBE是在隨機預言模型中的二次剩餘(QR)假設下,或在標準模型中的「交互」QR假設[Coc01,BGH07]下,使用具備雙線性對的羣(例如[BF03,BB04,Wat05])來實現的。
咱們的最終應用是在隨機預言模型中基於LWE的有效IBE,或者在標準模型中基於LWE困難性的交互假設下。儘管在Regev's基於LWE的密碼系統中能夠從公鑰(使用trapdoor)中提取密鑰,可是得到IBE仍然不是徹底直截了當的。本質上,問題是格式良好的公鑰是指數稀疏的,由於它們只包含很是接近共享格的點。所以,很難看到哈希函數或隨機預言如何將身份映射到有效的公鑰。咱們經過構造一個「對偶」的Regev's密碼系統來解決這個問題,其中密鑰生成和加密算法被有效地交換。在獲得的系統中,空間中的每一個點都是一個有效的公鑰,它有許多等價的密鑰,這些密鑰僅僅是與公鑰足夠接近的格點。
因爲使用trapdoor提取密鑰,咱們的IBE在結構上與基於QR的IBE最爲類似[Coc01,BGH07]。它是很是有效的,至少在漸近意義上是這樣的:對於˜Θ(n)位消息(其中n是安全參數),加密和解密的攤餘運行時間僅爲每一個加密位的˜O(n)位操做。密文展開式是O(1),甚至能夠在LWE上的足夠強(但仍然是多項式)假設下任意接近1。咱們系統的一個可能的缺點是,主公鑰和單個密鑰都是˜O(n2)位。
雙重密碼體制和IBE的構造見第七章。
1.2 Assumptions
咱們的trapdoor函數和簽名是創建在隨機格上平均狀況下的"絕對距離"解碼問題上的。咱們的「類加密」原語,即不經意的傳輸和基於身份的加密,是創建在Regev[Reg05]定義的平均狀況下的錯誤學習(LWE)問題上的。LWE能夠看做是某類隨機格上的一個「惟一解碼」問題,是研究得很好的learning parity with noise問題的一個推廣(到更大的模),它被認爲是困難的,在密碼學中有許多應用(如[BKW03,HB01,JW05,KS06])。
在最壞的狀況下,若是標準格問題(如最短向量問題)難以近似於格維數內的小多項式因子,則上述兩個解碼問題在平均狀況下都是困難的。然而,LWE的縮小是量子的[Reg05],即,若是某些格問題在量子算法的最壞狀況下是困難的,則LWE是困難的。鑑於目前的技術水平,有必要對類加密原語進行更強有力的假設,由於對於通常格,沒有基於經典最壞狀況困難性的已知密碼系統。
對於咱們的方案中的格問題,最有名的經典(和量子)算法須要時間和空間指數在格的尺寸,以及最有名的多項式時間算法提供指數寬鬆近似。
1.3 Related Work
使用徹底不一樣的技術,Peikert和Waters[PW07]構建了一個徹底互補的基於格問題(其一)的單射trapdoor函數集合。他們的TDFs基於LWE的困難性,而咱們的TDFs徹底基於經典的最壞狀況下的困難性。他們的TDFs是指數稀疏圖像的單射,而咱們的TDFs是多對一的和滿射的。他們的TDFs意味着選擇密文安全加密,但稀疏的圖像彷佛使他們不太適合像簽名方案和IBE這樣的應用。最後,從純美學的角度來看,咱們的trapdoor函數更直接地對應于格上的「天然」解碼問題。
如上所述,Peikert、Vaikuntanathan和Waters[PVW07]利用咱們的trapdoor檢測凌亂的密鑰,從最壞狀況的格假設(其一)構建了高效且通用的可組合不經意傳輸協議。這項工做早於此,併爲咱們的trapdoor技術和高斯採樣算法提供了動力。
在保密通訊中,Lyubashevsky指出,咱們用於高斯採樣的隨機最近平面算法本質上是Klein[Kle00]提出的用於解決不一樣問題的算法。Klein考慮最近向量問題的一個限制變量,其中目標點被保證「異常接近」格。他的分析代表,在這樣的條件下,該算法以顯著的機率來輸出最近的格向量。咱們的貢獻是分析了該算法對於任意目標點的整個輸出分佈,這代表該分佈不受建議基的影響。
2 Preliminaries
2.1 Notation
2.2 Standard Definitions
2.3 Lattices
格的具體定義可參見《Better Key Sizes (and Attacks) for LWE-Based Encryption》中的Preliminaries部分,Λ*爲Λ的對偶格,span(Λ)表示Λ的生成子空間,<x, v>表示兩個向量之間的點積。λ1(Λ)暗含l2範數,而λ1∞(Λ)暗含l∞範數。
2.4 Gaussians on Lattices
2.5 Learning with Error
3 Sampling from Discrete Gaussians
在這裏,咱們展現瞭如何有效地從離散高斯機率分佈DΛ,s,c中採樣,給定以s爲界的任何長度基(或全秩集)。做爲第一次嘗試,咱們能夠考慮首先從連續高斯分佈中採樣,而後使用短基將採樣點「舍入」到附近格點的算法。事實上,Regev使用了這個精確的策略來進行縮減的「bootstrapping」步驟[Reg05],並使用LLL-reduced基和指數大於基長度的高斯參數s。不幸的是,當s是基長的較小倍數(例如poly(n))時,還不清楚該策略是否一樣有效。問題是,在映射(經過舍入)到特定格點的空間區域內,連續高斯分佈的密度函數可能顯著變化。這使得分析舍入方案下分配給每一個格點的總機率質量,並將其與指望的離散高斯分佈進行比較變得困難。
下面的採樣算法徹底避免了連續高斯分佈,而且以一種緊湊的方式從格中「直接」採樣。它能夠看做是Babai's最近平面算法的一個隨機版本[Bab86],該算法不老是選擇最近的平面,而是隨機選擇一個平面,其機率與它與目標點的距離有關。本節的其他部分將致力於正式定義和分析採樣算法。
3.1 Sampling Integers
咱們首先開發了一個核心子程序,它從特定一維格上的離散高斯分佈(即整數Z)中採樣。該子程序將依賴於分佈的尾不等式。
從DZ,s,c(對於足夠大的s)中有效地採樣有幾種可能的方法;用標準的拒絕採樣方法最容易描述工做讓t(n) ≥ w(sqrt(log n))是一個固定的函數。算法SampleD的工做原理以下:在輸入 (s, c) 和(隱式地)安全參數n上,隨機選擇一個整數x ← Z = Z ∩ [c - s · t, c + s · t],而後以機率ρs(x - c),輸出x,不然重複。
咱們如今分析運行時間。每次SampleD的迭代從Z中選取一個均勻隨機整數x。所選整數x落入集合Z ∩ [c - s, c + s]中的機率至少爲 (2s - 1) / (2s · t) ≥ 1/2t,由於s ≥ ηε(Z) ≥ 1。一旦選擇,x就以機率ρs(x - c) ≥ exp(-π)輸出,這是一個正常數。經過一個標準的重複參數,運行時間是O(t(n))除了指數級的小几率(經過在必定次數的迭代後終止,而不顯著地改變輸出分佈,可使其爲零)。
3.2 Sampling from Arbitrary Lattices
3.3 Sampling with Independent Vectors
4 Trapdoors for Hard Random Lattices
在這一節中,咱們將演示某些隨機格的trapdoors,非正式地說,它們和最壞狀況下的格「同樣難」。而後,咱們開發一些基礎工具和原語,咱們的密碼應用將創建在其上。
4.1 Random Modular Lattices
(未完待續)