楕円曲線論はじめの一歩 (1)

はじめに

みなさんこんにちは。

VIPPOOL でエンジニアをやっています、星月です。

今回は、暗号通貨で電子署名に使われている、楕円曲線暗号について語ろう...
と思ったのですが、楕円曲線暗号の実装方法や簡単な説明は、イマドキありふれているので、
ここはもう少し踏み込んで、楕円曲線論について語ろうと思います。

このあたりの話になってくると、難しい言葉や難しそうな数式がたくさん出てくる説明なら
WikipediaGoogle で探せば見当たりますが、数学に造詣がないと読み解くのは困難だと思います。
なので、証明や厳密な定義などはそちらにおまかせする方向で、
概念の生まれた背景や考え方のような、ストーリー性に重点を置いて語っていければと思います。

すべてのはじまり、1+1 は?

初っ端から「バカにしてるのか?」と思われそうなタイトルですが、
いたって大真面目です。もちろん、小学一年生でもわかるような 2 という話でも
ないですし、「田んぼの田」みたいななぞなぞでもありません。

注目したいのは以下の点です。

  1. そもそも 1 ってなに?
  2. + ってどういう意味?

どうでしょう?小学校で天下り式に教わった数式ですが、
実はちゃんと説明できる人は多くないのではないでしょうか?

小学校ではどう教わった?

イマドキの学習指導要領でどうなってるかは知りませんが、
私のころは、りんごやおはじきで習いました。

f:id:y-hoshizuki:20181225190936p:plain

りんご1個とりんご1個、あわせるとりんごが2個。

ここで重要な事実が1つ、みんな当たり前に受け入れてきたことですが、
「実はりんごじゃなくてバナナでも同様なことが言える」のです。

つまり、りんごにこだわる必要は特になくて、
りんごとかバナナとか、梨とかみかんが、1個あることを
数式の中では「1」と表記しているのです。

言い方を変えれば、「1」というのは「何か」を示す「ただの記号」でしかなくて、
実は「#」とか好きな文字であっても良かったんです。
ここが混乱の元となるのですが、本文中で「1個」というときの1と、
数式の中で出てくる「1」は意味が違うのです。

f:id:y-hoshizuki:20181225191013p:plain

本文中で「りんごが1個」と言っているの「1」は「具体例の世界」の話、
「1+1」と数式で書いているときの「1」は「記号の世界」の話。

こんな風に、具体例から一旦記号に置き換えて、「計算」と呼ばれる作業をしてから
元の具体例の世界に戻ってくる。
...ということをやっていたのが、小学一年生で習った算数なのです。

どうでしょう?実は意外に複雑なことをやっていましたね?

どうしてそんな面倒な手順を踏むのか?

「記号の世界」つまり「数式の世界」であれば、これまで発明された
いろいろな公式がそのまま使えて便利だから、に他なりません。

言い方を変えれば、記号の世界で考案された公式の方が、より「汎用的」であるわけです。

また、記号の世界には具体的な概念がほとんど登場しなくなります。
これは具体例の要素を可能な限りそぎ落として、本質だけを捉えて扱うということです。

このように、記号の世界に一旦変換して物事を考えることを「抽象化」と呼び、
抽象化して「本質について」だけを考えることこそ、
「数学」という学問の真髄とも言えると思います。

まとめ

今回は 1+1 の数式から始まり、1 とは何か?抽象化とか何か?
というあたりについて語りました。

今回はここまで。
ご質問、ご意見等ありましたらお気軽にリプライください。