pink072 0.1.0

PINK-072 specification implementation for embedding payloads in pink cover images
Documentation

pink-072

PINK-072仕様を実装したRustクレート。ペイロードをピンク色のカバー画像に埋め込みます。

インストール

[dependencies]
pink072 = "0.1"

使い方

Rust API

use pink072::{pink072_wrap, pink072_unwrap};

// ペイロードを埋め込み
let payload = b"secret data";
let seed = [0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0, 0x11];
let frame = pink072_wrap(payload, 2, &seed, 8)?;

// ペイロードを抽出
let (payload_type, extracted) = pink072_unwrap(&frame)?;

WASM API

wasm-pack build --features wasm --target web
import init, { wasm_pink072_wrap, wasm_pink072_unwrap } from './pkg/pink072.js';

await init();
const frame = wasm_pink072_wrap(payload, 2, seed, 8);
const result = wasm_pink072_unwrap(frame);

API

pink072_wrap(payload, payload_type, seed9, strength) -> Vec<u8>

ペイロードを埋め込んだフレームを生成。

  • payload: 任意長のバイト列
  • payload_type: 0〜4のペイロード種別
  • seed9: 9バイトのシード(乱数生成用)
  • strength: 0〜12のピンク強度

pink072_unwrap(frame) -> (payload_type, payload)

フレームからペイロードを抽出。

フレーム構造

Header (32B) | Cover (72×72 RGBA = 20,736B) | Payload
  • Header: Version, PayloadType, BlockSize, Strength, PayloadLength, Reserved
  • Cover: シード由来の乱数ノイズ + Fisher-Yatesシャッフル + ピンクバイアス
  • Payload: 加工なしの生データ

ライセンス

GPL-3.0-or-later