GopenPGP

本当は色々と試してから記事にしたかったのだが,しばらく時間が取れそうもないので,今回は簡単な紹介のみで。

GopenPGPOpenPGP の 暗号化・復号・署名およびその検証 といった処理を行うための Go パッケージで,大きく2つのレイヤに分かれている。

一応,経緯を紹介すると,2021年に Go 側が golang.org/x/crypto/openpgp のメンテナンスを止めて非推奨(deprecated)にすると言いやがりまして。

まぁ,個人のプライバシーに敵対的な企業がホストする言語ですから(笑)

その後 Proton Mailgolang.org/x/crypto/openpgp を fork したリポジトリを公開してメンテナンスを始めた。 これが github.com/ProtonMail/go-crypto パッケージ。 この頃のことは私も記事を書いている。

当時は緊急避難的な措置かと思っていたが, Proton Mail 側は本格的に GoOpenPGP 暗号化ライブラリを構築しようと考えたようだ。 これが github.com/ProtonMail/gopenpgp にあたると思われる。 また github.com/ProtonMail/go-crypto パッケージについても,現行の RFC 4880 だけでなく,次期 OpenPGP (RFC 4880bis) でサポート予定の AEAD の EAX モードや OCB モードもサポートしているようで,これを見ても Proton Mail 側の本気度が伺えるというものである。

OpenPGP についてはリファレンス実装としての GnuPG が有名だが,他にも JavaScript や Rust 等による実装が存在する。 こうした中でようやく Go でもまともな実装が出てきたというわけだ。

今年のうちは無理かもしれないが来年(2023年)に入ったら,ちょっと真面目に golang.org/x/crypto/openpgp パッケージを弄ってみようかな,と考える所存であります。 ちゃんと時間が取れるといいなぁ。

ブックマーク

参考図書

photo
暗号化 プライバシーを救った反乱者たち
スティーブン・レビー (著), 斉藤 隆央 (翻訳)
紀伊國屋書店 2002-02-16
単行本
4314009071 (ASIN), 9784314009072 (EAN), 4314009071 (ISBN)
評価     

20世紀末,暗号技術の世界で何があったのか。知りたかったらこちらを読むべし!

reviewed by Spiegel on 2015-03-09 (powered by PA-APIv5)

photo
暗号技術入門 第3版 秘密の国のアリス
結城 浩 (著)
SBクリエイティブ 2015-08-25 (Release 2015-09-17)
Kindle版
B015643CPE (ASIN)
評価     

SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。

reviewed by Spiegel on 2015-09-20 (powered by PA-APIv5)

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
丸善出版 2016-06-20
単行本(ソフトカバー)
4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN), 9784621300251 (ISBN)
評価     

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。

reviewed by Spiegel on 2016-07-13 (powered by PA-APIv5)

photo
初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド
Jon Bodner (著), 武舎 広幸 (翻訳)
オライリージャパン 2022-09-26
単行本(ソフトカバー)
4814400047 (ASIN), 9784814400041 (EAN), 4814400047 (ISBN)
評価     

2021年に出た “Learning Go” の邦訳版。私は版元で PDF 版を購入。 Go 特有の語法(idiom)を切り口として Go の機能やパッケージを解説している。 Go 1.19 対応。

reviewed by Spiegel on 2022-10-11 (powered by PA-APIv5)