2026-04-06
神山まるごと高専4期生に向けた、ITブートキャンプの提供へ、車への移動用の曲を準備しました。


「slow techno album - 神山へ」

未明に出発、淡路大橋を通過し、お昼に神山町へ到着予定。

ドライブ中のお気に入りは「slow techno」、適当な単語の後ろに「,slow techno」と付けて生成でハズレが少なくいい感じ!
たまに出現するおもしろ歌詞もいい刺激になります。


「SUNO」

音楽といえば、自作の曲しか聞かなくなってしまうくらい、すっかりお気に入りのSUNO。
新アルゴリズム5.5が登場。もともとなかなか良いクオリティーだったので違いはよくわからず。
日本語の読み間違いは直ってなさそう。

2026-04-05

公開鍵暗号、RSAは公開鍵と秘密鍵が対照でしたが、楕円曲線暗号では鍵交換になり、ポスト量子コンピューター時代の格子暗号の「ML-KEM-768 (Kyber768)」では、共通鍵をカプセル化して送る、鍵合意方式となります。

流れを図解しました。
登場する鍵は3つだけ、鍵合意方式では認証を含みません。認証が必要な場合、電子署名を併用しましょう。


送信したい相手の公開鍵を受け取り、


生成するたびに変わる、共通鍵とカプセルを生成します。


受け取る側は、カプセルと自分の秘密鍵から共通鍵を復元できます。


共通鍵はそれぞれの端末上以外で登場していないため、中間者は通信内容を復元することができません。


量子コンピューター時代になる前に、暗号通信は既存の公開鍵暗号との併用が始まり、緩やかに移行していきそうですね。

2026-04-04
量子コンピューターが実用化されても使える公開鍵暗号を実現する、オープンで量子セーフなライブラリ liboqs-js を試してみました。


鍵が長い!
電子署名用のアルゴリズム「ML-DSA-44 (Dilithium2)」で、公開鍵が1312byte、秘密鍵が2560byte、電子署名が2420byte。
鍵共有ではなく鍵合意方式のアルゴリズム「ML-KEM-768 (Kyber768)」で、公開鍵が1184byte、秘密鍵が2400byte、カプセルが1088byte。
楕円曲線暗号Curve25519では、公開鍵、秘密鍵共にたった16byteでした。
とはいえ、GB級の通信をサクサク行う現代。大きすぎるオーバーヘッドでもないので、そろそろ併用が始まってもいい頃。


「code4fukui/e2ee-liboqs」

liboqs-jsをforkして、ビルドして、dist/ をGitHub Pagesで公開して使いやすくしました。ドキュメントに記述ある通り、実験実装なので、実用化するのには向きません。

また、ハッシュ関数や、共通鍵暗号は、現状のアルゴリズムのままでも今のところ量子コンピューターには耐えられる見込みとのこと。

クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS