クラウドを支える暗号技術
https://herumi.github.io/ango/
Z - 整数全体の集合(整数環)。つまり、0, ±1, ±2, ±3, ...全ての正・負の整数と0を含む。
R - 実数全体の集合(実数体)。これには全ての有理数(分数)と無理数(例えば√2やπなど)を含む。
C - 複素数全体の集合(複素数体)。実数と虚数の組み合わせで、一般的には "a + bi" の形で表されます。
a := b - これは「bでaを定義する」という意味です。つまり、aはbと等しい。
|S| - 集合Sの要素の個数を表します。
A \ B - 集合Aから集合Bの要素を除いたものを示します。つまり、Aには含まれているがBには含まれていない要素の集合です。
∑ - 和を表す記号で、通常はシグマと読まれます。
∏ - 積を表す記号で、通常はピと読まれます。
a ⊕ b - aとbの排他的論理和(XOR)を表します。
O(f(n)) - ランダウのO記法。アルゴリズムの時間複雑度や空間複雑度を表すのに使われます。
a ≡ b (mod m) - aとbがmを法として合同であることを表す。
a mod m - 整数aをmで割った余りを表す。
Z/mZ - 整数をmで割った余りの集合を示します。
Fp - 有限体。p個の元{0,1,...,p-1}からなる集合。
*Fp ** - 有限体Fpから0を除いた集合。
char(k) - 体kの標数。体kの特徴を示す整数です。
a||b - データaとbを連結したものを表します。
a?=b - aとbが等しいかどうかを確認するときに使用されます。
⟨g⟩ - gで生成される巡回群。
a · b - 2つのベクトルaとbの内積。
k:これは「体」を表します。体は加算、乗算、減算、除算が可能な数の集合です。例えば、実数全体の集合や有理数全体の集合は体です。
orda(f):これは関数f(x)のx=aでの位数を表します。位数とは、関数が特定の値で何度ゼロになるかを示す数です。
E/k:これは楕円曲線を表します。楕円曲線とは、特定の二次方程式で定義される曲線のことで、暗号学などでよく使われます。
E(h):これは楕円曲線上の有理点の集合を表します。有理点とは、その座標が有理数である点のことです。
deg D:これは「因子の次数」を表します。因子とは、多項式を分解したときの部分を指します。
div(f):これは関数fの主因子を表します。主因子とは、ある点での位数を意味します。
Em:これは楕円曲線のm等分点の集合を表します。等分点とは、曲線上の点で、それをm回足すと無限遠点(つまり、存在しない点)になるような点を指します。
e:これは楕円曲線上のペアリング(対応)を表します。楕円曲線のペアリングとは、曲線上の2つの点に対して体の元を割り当てるような関数のことを指します。