初めに ここでは暗号でよく使われる数学的な概念である群を紹介します。 そして楕円曲線暗号のPythonによる実装その1(有限体とECDH鍵共有)で紹介したECDH鍵共有を群の言葉を使って見直します。 掛け算の重要な性質 群(group)とは日常的に使われる掛け算を抽象化した数学用語です。掛け算は 2 \times 3=6, 4 \times 5 = 20 といったものです。 掛け算は次の性質を持っています。 3個以上の数字を掛けるとき、掛ける順序を変えても変わらない。例 : (2 \times 3) \times 4 = 6 \times 4 = 24. 2 \times (3\times4) = 2\times 12 = 24. 数字に1を掛けても値は変わらない。例 : 123 \times 1 = 123. 逆数を掛けると1になる。例 : 5 \times (1/5) = 1. 1番目
![群と楕円曲線とECDH鍵共有](https://cdn-ak-scissors.b.st-hatena.com/image/square/51742a9dc319dc52625305cd22edc76f1c8e6649/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--wV7-YexF--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E7%2525BE%2525A4%2525E3%252581%2525A8%2525E6%2525A5%252595%2525E5%252586%252586%2525E6%25259B%2525B2%2525E7%2525B7%25259A%2525E3%252581%2525A8ECDH%2525E9%25258D%2525B5%2525E5%252585%2525B1%2525E6%25259C%252589%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Aherumi%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2dja2JGZGIydG5ESjlyX2tUMnRQcU1pbkJKVTNIVjhEc0pOZEdHPXM5Ni1j%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)