縦か横か、再び

【 縦か横か、再び 】

このセッションから、これまで見てきたLWEの単純なサンプルを、実際的な暗号システムに拡大することを考えます。

二つのサンプルでは、いずれも、秘密キー s は一つの数でした。一つ目のサンプルでは、1001が、二つ目のサンプルでは 5 が秘密キーでした、それは、少し単純すぎました。

ここでは、一つの数ではなく、n個の数の集まりとして秘密キーs を拡大しようと思います。秘密キーをスカラーではなくベクトルにしようと言うことです。

LWE暗号化の特徴の一つは、秘密キー s に複数の整数を掛けて、それぞれに「エラー」と呼ばれる小さなランダムな数を加えて、公開キーを作ることです。Learning with Errors という名前は、公開キーに含まれるこのエラー項によっています。

この枠組みは維持するので、今回考えるのは「秘密キー s に複数の整数を掛ける」の部分を「秘密キー のベクトルs に複数の整数を掛ける」に変えることです。

以前、ベクトルを要素を縦に並べて表現するか、横に並べて表現するかは、どっちでもいいと言いました。今回は、考えを変えました。ごめんなさい。

このセッションでは、列ベクトルを基本とします。ベクトルvと言った時、vは列ベクトルであるとします。それは、量子論でも同じです。ケット|qubit> は列ベクトルです。

残念ながら、このルールは、コンピューターには向いていないんです。コンピューターのプログラムは、一行単位で横に記述されますから。量子論が生まれた頃、現在のようにプログラマーが世界に溢れていたら、ケット|qubit>はきっと行ベクトルになっていたと思います。

基本の列ベクトルを行ベクトルに変換する操作 transpose を、ベクトル変数の右肩にTをのせて表すことにします。ベクトルvは列ベクトルですが、v^T はそれに対応する行ベクトルになります。

このセッションでは、LWE暗号のプロトコルを記述するのに必要な、基本的な表記法をまとめておきました。
  
-------------------

動画「単純なサンプルからLWEへ-- 準備編)」を公開しました。ご利用ください。



この動画のpdf は、こちらからアクセスできます。https://drive.google.com/file/d/1A4fjQUZHf7eqJYndjQ1KmXtowHvFbO0q/view?usp=sharing

「ラティス暗号入門」のまとめページはこちらです。https://www.marulabo.net/docs/cipher3/

blog 「縦か横か、再び  」のURLはこちらです。https://maruyama097.blogspot.com/2022/09/blog-post_11.html

コメント

このブログの人気の投稿

マルレク・ネット「エントロピーと情報理論」公開しました。

初めにことばありき

人間は、善と悪との重ね合わせというモデルの失敗について