0Pricing
Cryptology Academy · レッスン

Learning With Errors(LWE)の基礎

HE方式の基盤となるLWE困難問題を理解します。

「Learning With Errors(LWE)の基礎」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

困難問題の直感

Regev(2005)によるLearning With Errors(LWE)では、Z_q上の多数のノイズを含む線形方程式が与えられたとき、秘密ベクトルsを求めます。ノイズeは小さいものの、ガウス消去法を妨げます。ノイズがなければ連立方程式は簡単に解けますが、ごく小さなノイズでも計算上は困難になります。

LWEの定義

秘密s ∈ Z_q^n。攻撃者は、a_i ∈ Z_q^nがランダムで、b_i = + e_i mod qを満たすサンプル(a_i, b_i)を受け取ります。e_iは分布χから得られる小さなノイズです(例: σ = √nのガウス分布)。課題は、多項式個のサンプルからsを求めることです。

ノイズが不可欠な理由

ノイズがない場合: b_i = mod qです。ガウス消去法によってO(n^3)でsを復元できます。ノイズがある場合は、方程式が1つでも誤ると消去計算全体が破綻します。ノイズは、鍵を使えば復号できる程度に小さい一方で、暗号解析を防げるほど十分に大きく設定されています。

LWEの困難性

Regevは、量子還元によってLWEが最悪時の格子問題(SIVP、GapSVP)に帰着できることを証明しました。つまり、LWEが破られると、多くの困難な格子問題も解かれることになります。しかし、格子問題に対する量子アルゴリズムはまだ知られていません。LWEは耐量子安全です。

Ring-LWE(RLWE)

RLWEでは、Z_q^nを円分多項式fに対する環Z_q[x]/(f(x))で置き換えます。1つのRLWEサンプルにn個の方程式を組み込めるため、はるかに効率的です。RLWEは、Kyber(KEM)、Dilithium(署名)、BFV/BGV/CKKS HE方式の基盤です。

LWEのパラメータ

セキュリティは、n(次元、通常は512-2048)、q(法、1024-2^60)、σ(ノイズの標準偏差)に依存します。nが大きいほど、またσ/q比が小さいほど、問題は困難になります。NISTの耐量子標準では、k個のモジュール(k=2,3,4)を持つn=256(モジュール次元)が使用されています。

LWE暗号化

公開鍵: (A, b=As+e)。ビットmを暗号化するには、ランダムなrを選び、暗号文(u=A^T r, v = b^T r + m*q/2)を計算します。復号では、v - s^T u = e^T r + m*q/2 ≈ m*q/2となります。最も近いmに丸めます。ノイズeによって、暗号化中は暗号文に含まれるmが隠されます。

判定LWE

Decision-LWEでは、(a, As+e)と、uが一様ランダムな(a, u)を識別します。LWEの困難性を仮定すると、これらは計算量的に識別不能です。これは意味論的安全性の基盤であり、秘密鍵を持たない攻撃者から見ると、暗号文はランダムなノイズのように見えます。

格子簡約攻撃

既知の最良の攻撃は、BKZ(Block Korkine-Zolotarev)格子簡約です。計算量は準指数時間ですが、多項式時間ではありません。BKZ-βには2^{0.292β}回の操作が必要です。LWE-512のBKZに対するセキュリティは約128ビットです。BKZに対する量子高速化は知られていません。

Module-LWE

Module-LWE(Kyberで使用)は、ランクkのモジュール上のRLWEです。k=2では512ビット、k=3では768ビット、k=4では1024ビットのセキュリティに対応できる柔軟性があります。セキュリティと性能はkに応じて変化します。NISTはKyber(ML-KEMに改称)をPQC標準として選定しました。

RSA/ECCとの比較

RSA/ECCのセキュリティは、整数因数分解や離散対数に基づいており、Shorによって量子計算に対して脆弱です。LWEのセキュリティは、最悪時の格子問題に基づいており、既知の量子高速化はありません。鍵サイズは、LWEが約1 KBであるのに対し、RSA-2048は256バイトです。LWEはより大きいものの、耐量子性があります。

理解度チェック

多数のサンプルがあってもLWEを解くことが難しいのはなぜですか?

まとめ

LWEは、ノイズを含む線形方程式から秘密sを求める問題であり、量子計算でも困難です。RLWEは効率化のために多項式環を使用します。Kyber、Dilithium、HE方式の基盤となっています。次は、整数演算用のBGVおよびBFV HE方式について学びます。

よくある質問

「Learning With Errors(LWE)の基礎」レッスンは無料ですか?

はい。「Learning With Errors(LWE)の基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「Learning With Errors(LWE)の基礎」で何を学びますか?

HE方式の基盤となるLWE困難問題を理解します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Learning With Errors(LWE)の基礎」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 準同型暗号とは
  2. Learning With Errors(LWE)の基礎
  3. 整数演算のためのBGVとBFV方式
  4. 近似算術と機械学習のためのCKKS
← Cryptology Academyに戻る