お断り この記事は『Software Design2022年3月号』の「第4章:電子署名のプロセスを体験 Pythonによる楕円曲線暗号の実装」の入稿記事を技術評論社のご好意で公開したものです。 元はLaTeXだったのをマークダウンに修正し、二つに分けています。 記事中のサンプルコードはサポートページからダウンロードできます。 はじめに この章では楕円曲線を用いた鍵共有や署名をPythonで実装します。実装するために必要な数学は随時解説します。 動作確認はPython 3.8.10で行いました。 コードは動作原理を理解するためのものであり、細かいエラー処理などはしていません。 プロダクト製品などで利用できるものではないことをご了承ください。 用語のおさらい 楕円曲線暗号の位置づけ まず最初に用語の確認をします。 「暗号」は複数の意味で使われます。 一つは「データを秘匿化するために、他人に読
![楕円曲線暗号のPythonによる実装その1(有限体とECDH鍵共有)](https://cdn-ak-scissors.b.st-hatena.com/image/square/4c7a1d6e6cf2f1aa376266d49cd87e2f960574f1/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--p02GIwn9--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E6%2525A5%252595%2525E5%252586%252586%2525E6%25259B%2525B2%2525E7%2525B7%25259A%2525E6%25259A%252597%2525E5%25258F%2525B7%2525E3%252581%2525AEPython%2525E3%252581%2525AB%2525E3%252582%252588%2525E3%252582%25258B%2525E5%2525AE%25259F%2525E8%2525A3%252585%2525E3%252581%25259D%2525E3%252581%2525AE1%2525EF%2525BC%252588%2525E6%25259C%252589%2525E9%252599%252590%2525E4%2525BD%252593%2525E3%252581%2525A8ECDH%2525E9%25258D%2525B5%2525E5%252585%2525B1%2525E6%25259C%252589%2525EF%2525BC%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)