1. 検索エンジンはいかにしてテキストを読むか
Twitter(X)の検索機能やGoogleなどの検索エンジンがテキストをインデックス(索引化)する際、彼らは人間のように「画像としての文字の形」を見ているわけではありません。コンピューターはすべての文字を「Unicode(ユニコード)」と呼ばれる世界共通の背番号(コードポイント)として認識しています。
例えば、ひらがなの「あ」はコンピューターにとって「U+3042」というただの数字に過ぎません。
当ツール「隠密」は、人間が文字を「形(ピクセル)」で認識することと、コンピューターが文字を「数字(コード)」で認識するという、この『認知のズレ』を突くことで成立する高度なテキストステルス技術です。
2. ホモグリフ(異体字)置換のメカニズム
「ホモグリフ(Homoglyph)」とは、視覚的に区別が困難、あるいはい全く同じように見えるが、コンピューター上は全く異なる文字コード(背番号)が割り当てられている文字のことです。
身近な例で言えば、アルファベットの大文字の「A (U+0041)」と、キリル文字の「А (U+0410)」、ギリシャ文字の「Α (U+0391)」は、私たちの目には同じに見えますが、検索エンジンから見れば「林檎」と「自動車」くらい違うものとして認識されます。
隠密は、約2万字にも及ぶ独自のホモグリフ辞書を搭載しています。特に難易度が高いとされる日本語システムにおいて、漢字(JIS第一水準から第四水準)、ひらがな、カタカナのそれぞれに対して、形状が極めて類似している異体字や特殊記号を割り出し、それを一定の確率で置換します。これにより、例えば「推し」という単語を構成するコードが破壊され、検索アルゴリズムは決してその単語を拾うことができなくなります。
- IVS (Ideographic Variation Sequence)の悪用回避と応用: 漢字の微細な書き分けを表現するための枝番号技術を逆手に取り、検索エンジンを混乱させるベクトルとして応用。
- 広域Unicodeマッピング: 世界中の言語セットから、日本語の字形に親和性の高い文字を厳選。
- 安全性: フォントが存在しない文字への過度な置換を避け、文字化け(豆腐化)のリスクを最小限に抑える「自然フォールバックアルゴリズム」を採用。
3. ゼロ幅文字(不可視文字)による形態素分断
「隠密」のもう一つの強力な武器が、ゼロ幅文字(Zero Width Characters)のランダム挿入機能です。
ゼロ幅文字とは、データとしては確実に存在するにも関わらず、画面上にレンダリングされる際の「表示幅がゼロ」であるため、人間の目には絶対に見えない特殊な制御文字のことです。
検索エンジンは日本語を検索可能にするために「形態素解析」という処理を行い、文章を単語の集合に切り分けます。例えば「検索避け」であれば「検索 /
避け」と分割してデータベースに登録します。
しかし、「隠密」はこの単語のど真ん中に見えない文字を複数個ドロップします。結果としてシステム内部では「検[見えない壁]索[見えない壁]避[見えない壁]け」というデータ構造になり、形態素解析エンジンはこれを一つの意味ある単語として認識できず、インデックス構築に失敗します。
【隠密が動的に制御・挿入する主な不可視文字群】
U+200B (Zero Width Space / ゼロ幅スペース)
U+200C (Zero Width Non-Joiner / ゼロ幅非接合子)
U+200D (Zero Width Joiner / ゼロ幅接合子)
U+034F (Combining Grapheme Joiner / 結合書記素接合子)
U+2060 (Word Joiner / 単語接合子)
4. 変換例(Before/After)
実際にシステム上でどのようなデータ変化が起きているかを図解します。
| 状態 | 人間からの見え方(画面表示) | 機械からの見え方(内部データ) |
|---|---|---|
| 変換前 | 神アニメすぎた | 神 ア ニ メ す ぎ た |
| 従来の手法 | 神/ア/ニ/メすぎた | 神 / ア / ニ / メ す ぎ た |
| 隠密システム | 神アニメすぎた | ネ申 [ZWSP] ア ニ [WJ] 乂 [ZWNJ] す き゛ た |
※従来の手法は人間にとってノイズが多く直感的に読みづらいですが、本ツールは「見た目の美しさ」を完全に維持したまま、バックグラウンドでのみコードを破壊します。