Morbit暗号
鍵568931724を使うと、MORE BITSは32379749578158になります。文章をモールス符号で書き、記号を2つずつ読み、9通りの組それぞれを1から9の数字に置き換えます。同じ鍵で復号でき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- MORE BITS
- Key
- 568931724
- 計算モード
- Encrypt
- 結果
- 32379749578158
- 鍵の出所
- numeric
- 長さ
- 14
- 対応付けた文字
- 8
Morbit暗号は、クリプトグラム同好会、サイエンス・オリンピアードのCodebusters、ジオキャッシュの謎解きで使われる古典的な分数化モールス方式です。まず平文を国際モールス符号に書き、文字のあいだをスラッシュ、語のあいだを二重スラッシュで区切り、記号を二つずつ読みます。点・線・区切りからなる九通りの二連符は、それぞれ秘密鍵に従って一から九の一意な数字に置き換えられます。結果はモールスには見えない短い数字列ですが、同じ鍵を逆に適用すればメッセージ全体が復元されます。本機能は一から九の九桁の順列、またはその順列をアルファベット順位で作る九文字のキーワードのいずれかを受け取り、ネットワークも乱数も使わない純粋な解析ワーカーで決定的に暗号化または復号します。
Morbitがモールス記号を数字に対応づける仕組み
Morbitは単純なモールスと、Fractionated Morse のようなより重い分数化方式のあいだに位置します。平文をモールスに変換したあと、各文字の後ろに単一スラッシュの区切りを置き、語境界は二重スラッシュになります。連続ストリームに現れる記号は三点のみです。
ディットはピリオド、ダーはハイフン、区切りはスラッシュです。これらを二つずつ組むと、ちょうど九つの二連符になります。二ディット、ディット・ダー、ディット・スラッシュ、ダー・ディット、二ダー、ダー・スラッシュ、スラッシュ・ディット、スラッシュ・ダー、二スラッシュです。
秘密鍵は、各二連符に一から九の一意な数字を割り当てる順列です。暗号化は各二連符をその数字に置換し、復号は各数字を二連符に戻してから得られたストリームをモールス復号します。モールス列の長さが奇数のときは末尾に詰めのスラッシュを付け、対にならない単独記号が残らないようにします。
復号時、空の文字トークンは無視されるため、この詰めは無害です。古典的な教材例では MORSECODE のような九文字キーワードを使います。キーワード形式と数字表のどちらも受け入れるため、パズル用紙とツールの両方を別変換なしで扱えます。
入力契約、モード、エラーの扱い
mode の既定は encrypt で、decrypt も受け付け、短い別名 enc・encode・e および dec・decode・d も使えます。暗号化ではラテン文字 A から Z と数字 0 から 9 を大文字小文字を区別せずモールス化し、空白の連続は語区切りになり、その他の句読点は貼り付けた標語でも動くようスキップします。
復号では空白除去後に一から九の数字のみが許され、古典 Morbit に現れない 0 は拒否されます。鍵は、繰り返しも 0 もない一から九のちょうど九文字の順列か、その順列になる順位を持つちょうど九文字のラテン文字のどちらかでなければなりません。与えられた鍵の下で未知のモールストークンに展開される復号も、ゴミ文字を返す代わりに失敗します。
成功応答は mode、正規化された数値鍵、文字鍵を使った場合の任意キーワード、result 文字列、長さ、文字数と語数、教材用の中間モールス列、固定の二連符一覧、短い式を返します。
例として、text が MORE BITS、key が五六八九三一七二四(またはキーワード MORSECODE)なら、暗号結果は数字列 32379749578158 となり、同じ鍵で復号すると MORE BITS が戻ります。どちらも同じ純粋モジュールを呼ぶため、宿題確認と本番ワーカーが食い違うことはありません。
活用例
ジオキャッシュと謎生成
野外パズル用のMorbit数字暗号を生成し、公開前に復号が意図した句を復元することを確認します。
よくある質問
Morbit暗号とは何ですか?
分数化モールス暗号です。文字間を /、語間を // としてモールス化し、記号を九つの二連符に分け、各二連符を鍵の一意な数字1–9に置き換えます。
どの鍵形式が受け付けられますか?
1–9の9桁順列(各数字は一度、0なし)、またはアルファベット順位でその数値索引を作る9文字のA–Zキーワード(同順位は左から右)です。
鍵568931724でMORE BITSを暗号化するには?
text "MORE BITS"、key "568931724"(またはキーワード MORSECODE)、mode encrypt を送ってください。結果は数字列 32379749578158 です。同じ鍵で復号すると MORE BITS が戻ります。
Morbitが置き換える9通りの組とは何ですか?
文字の後に斜線、単語の間に二重の斜線を入れてモールス符号にすると、点と線と斜線だけが残ります。これを2つずつ読むと点と点から斜線と斜線まで9通りの組ができ、鍵が各組に数字を割り当てます。
復号で0が受け付けられないのはなぜですか?
従来のMorbitでは組ごとに1から9の数字だけを使うため、本物の暗号文に0が入ることはないからです。どの文字にも当たらないモールス符号になる数字も、意味のない文字にせずに受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/morbit \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"MORE BITS","key":"568931724"}'const res = await fetch("https://api.kit.forhosting.com/enc/morbit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "MORE BITS",
"key": "568931724"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/morbit",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "MORE BITS",
"key": "568931724"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/morbit", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"MORE BITS","key":"568931724"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"MORE BITS","key":"568931724"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/morbit", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "MORE BITS",
"key": "568931724"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.morbit",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
不正な鍵、空の本文、有効なモールスに展開できない暗号文は invalid_input で失敗し、課金されません。
Morbitがモールス記号を数字に対応づける仕組み
文字をアルファベット順に並べ、同順位は左から右に一から九の順位を付けると、数値索引は五・六・八・九・三・一・七・二・四となり、API に貼り付けられる九桁鍵そのものになります。
入力契約、モード、エラーの扱い
必須の text と key、任意の mode を含む JSON 本体を POST してください。空の鍵、長さ不正、数字の重複、文字と数字の混在、空の平文はすべて問題を示す invalid_input で失敗します。
Morbit暗号APIが役立つ場面
Codebusters の指導者やクリプトグラム編集者には、十個目の二連符を捏造せず、暗号文の 0 を黙って受け入れない決定的な Morbit オラクルが必要です。ジオキャッシュや脱出ゲーム用の生成器は、既知のキーワードから数字暗号を作り、逆復号が同じ句を復元することをキャッシュページ公開前に確認したいと考えます。検証失敗は残高を消費しません。実装が純粋な解析ティア A であるため、成功した呼び出しはモデルトークンも外向きネットワークもなく、公開された基本料金 $0.002 のみです。文字数上限内にリクエストを収め、利用者がキーワードを入力してもテストでは数値鍵形を保存すれば、自前のモールス表を維持せずに教材・LMS プラグイン・エッジワーカー向けの再現可能な Morbit 暗号化と復号が得られます。
連携の活用例
Codebustersとクリプトグラム練習
既知の9桁鍵またはキーワードで例文を暗号化し、学習者に平文を復元させて決定的なAPI結果と比較させます。
ツールキットとLMS連携
採点スクリプトや多暗号APIから同じ純粋Morbitモジュールを呼び、ブラウザデモとサーバ検査が分岐しないようにします。
技術的な質問
どんな入力が invalid_input になりますか?
空の本文や鍵、1–9順列でも9文字キーワードでもない鍵、0や非数字を含む復号文、鍵の下で有効なモールスに展開できない暗号文です。これらは課金されません。
Morbit暗号ツールの料金は?
ブラウザツールは無料です。APIリクエストは成功した呼び出しごとに前払いKIT残高から $0.002 です。無効入力は課金されません。