HIGHLIGHTS
主な変更
- 01
多重結び(chain encoder)
全ての文字が必ず隣を参照するのではなく、アンカーを根とするランダム木で関係を結ぶ。赤い糸が文字から文字へと蛇行するように暗号文が編まれる。
- 02
迷い糸(noise injection)
平文に含まれないダミー文字を暗号文に織り込む。鍵を持つ受信者だけが「本物の糸」を辿って正しい平文に到達できる一方、鍵がなければ平文の長さすら見えない。
- 03
形式を保ったままの拡張
FORMAT_VERSION は 1 のまま。v0.1 で作った暗号文は v0.2 でそのまま復号でき、v0.2 の noise なし出力は v0.1 デコーダでも復号可能。
ADDED
追加された機能
- musubi_core::encrypt_chain — ランダム生成木の chain encoder
- musubi_core::encrypt_woven — chain + noise のフルセット
- Ciphertext::ext / CiphertextExt::plaintext_indices — 後方互換な v0.2 拡張フィールド
- musubi encrypt --strategy <canonical|chain>
- musubi encrypt --noise <N>
- musubi encrypt --seed <u64>
- musubi-wasm: encryptWoven(plaintext, keyJson, anchor?, noise?, seed?)
- WebUI 「織りモード」アコーディオン(多重結び + 迷い糸の本数)
- SPEC.md §5.3 / §6.5 / §6.6 / §7.1
CHANGED
変更点
- musubi_core::decrypt が ext.plaintext_indices を自動判別し、平文順に並べ直して返すように。v0.1 互換の暗号文は変更なしで復号。
COMPATIBILITY
互換性
- ·FORMAT_VERSION = 1 据え置き
- ·v0.1 の暗号文 → v0.2 でそのまま復号可
- ·v0.2 noise なし出力 → v0.1 デコーダでも復号可
- ·v0.2 noise あり出力 → ext を理解する v0.2 デコーダ必須