Chrome 155:JPEG XL が復活し、耐量子アルゴリズムが Web Crypto へ
Chrome 155 は Rust 実装の jxl-rs で JPEG XL を直接デコードし、Web Crypto API に ML-KEM と ML-DSA を追加しました。
Chrome 155 が 10 月 7 日に安定版となりました。今回の更新で個別に触れる価値があるのは 2 点です。JPEG XL がついに直接表示できること、そして Web Crypto が耐量子アルゴリズムに対応し始めたことです。
JPEG XL を直接デコードできる
Chrome 155 は JPEG XL のデコードに対応し、MIME タイプは image/jxl です。ページにそのまま埋め込めます。Blink は jxl-rs デコーダを使います。Rust 実装で、メモリ安全性を重視しています。
JPEG XL の規格番号は ISO/IEC 18181 です。機能一覧は「画像が小さい」よりずっと長いものです。
- 段階的に表示できるプログレッシブデコード
- 広色域
- HDR
- 高いビット深度
- アニメーション
圧縮効率については、よく引用される数字として AVIF 比でファイルサイズが約 11% 小さく、画質が約 13% 高いとされます。
静的サイトにとっての意味は、JavaScript デコーダを必要としない形式が 1 つ増えたことです。これまで JPEG XL を使うにはブラウザ対応を待つか、そこそこのサイズの WASM デコーダを積むかのどちらかでした。後者は完全な静的サイトではほぼ受け入れられません。いまはデコーダがブラウザ側にあり、サイトは拡張子を変えるだけです。
すぐ全サイトを切り替えるつもりはありません。理由は実務的です。形式の利点はブラウザのカバレッジを掛けて初めて実利になり、カバレッジには時間がかかります。ただし画像パイプラインの出力形式に枠を 1 つ用意しておく価値は今あります。
Web Crypto に耐量子アルゴリズム
Chrome 155 は Web Crypto API に次を追加しました。
| アルゴリズム | 用途 |
|---|---|
| ML-KEM 768 / 1024 | 鍵交換 |
| ML-DSA 44 / 65 / 87 | デジタル署名 |
| ChaCha20-Poly1305 | 対称暗号 |
| X-Wing | ハイブリッド鍵カプセル化 |
ML-KEM は耐量子の鍵交換方式で、ML-DSA はデジタル署名に使われます。どちらも量子コンピュータが現在の公開鍵暗号を破り得るという見通しに備えたものです。
注目すべきは、これが TLS 層だけでなく Web Crypto に載ったことです。TLS の移行はすでに進行中で、ブラウザとサーバの間で交渉されます。Web Crypto は違います。ページ内の JavaScript がこれらのアルゴリズムを自分で使えるという意味で、下位のハンドシェイクに依存しません。
この能力はほとんどのサイトには不要です。しかし端末間暗号化を行う Web アプリ、クライアント側で署名を生成する必要があるもの、長期間の機密保持が要るデータにとっては必須の部品です。
CSS も
リリースノートは CSS のリスト表現と margin 制御の改善にも触れています。こうした変更は見出しになりませんが、積み上がったものが CSS の実際の歩みです。大きなバージョンはなく、プロパティを 1 つずつ埋めていきます。
Microsoft Edge 155 も 10 月 8 日に対応する Web プラットフォームのリリースノートを出しており、ほぼ歩調を合わせています。
私の判断
2 つの共通点は、どちらも新しい API で開発者を惹きつけるのではなく、以前は回り道が必要だったことを既定でできるようにした点です。
JPEG XL は「WASM が必要」から「ブラウザが同梱」へ、耐量子は「TLS 層の話」から「Web Crypto から呼べる」へ。個人サイトにとって前者はいずれ使うもので、後者は今は使いません。それでも、どこにあるかを知っている方が、必要になってから探すよりずっと安く済みます。

コメント
…