格子攻撃
格子基底簡約で短いベクトルを見つけ、一部が漏れた情報から秘密鍵を割り出すことも多い攻撃。
格子とは、多次元空間に規則正しく並んだ点の集まりである。格子攻撃は、短いベクトルが隠れた値を示すような行列を組み、Lenstra、Lenstra、LovászによるLLLアルゴリズム(1982年)がそのベクトルを素早く見つける。万能の鍵解読法ではなく、攻撃者が何らかの漏洩から出発できることが前提の道具箱だ。
古典的な例はDSAである。署名ごとのナンスの数ビットが毎回漏れる場合、Howgrave-GrahamとSmartは2001年、十分な数の署名から署名鍵が復元できることを示した。同じ発想は、ナンスが部分的に漏れたECDSAにも応用されている。
実務上の教訓は、「数ビットしか漏れない」は小さな問題ではないということだ。偏った、短い、または再利用されたナンスは、個々の漏れが無害に見えても署名鍵を破るのに足りる。