NTRU是一種公鑰密碼體制,由Hoffstein、Pipher和Silverman在1998年提出。它基於多項式環,其安全性依賴於格上的最短向量問題。NTRU的運算速度快,與RSA和橢圓曲線密碼系統相比,在相同的安全要求下,NTRU生成密鑰對更快,加密和解密效率也具有優勢。然而,NTRU原始方案的安全性尚未得到嚴格證明。2012年,Ron Steinfeld等人提出了在理想格上選擇密文攻擊安全的NTRU加密體制。
NTRU的參數包括次數參數n(通常為素數251)、模數q(通常為2的冪256)、維度d(經典值為72)、以及多項式f(x)=xn-1。在NTRU中,有一個重要的概念是中心化處理,即模q運算或模p運算的結果以0為中心。例如,模3運算的結果屬於{-1,0,1}而不是{0,1,2},模256運算的結果屬於{-127,-126,…,128}而不是{0,1…,255}。這樣的中心化處理在代數上沒有任何不同,但使得尺寸變小了。環Zq[x]/f(x)和環zp[x]/f(x)都經過這樣的中心化處理。
為了達到CPA(選擇密文攻擊)安全性,對NTRU的原始方案進行了改進,主要包括對密鑰生成算法的改進和分析,以充分表現其密碼的偽隨機性。