ForHosting KIT · 開発者向けツール

four-square暗号エンコード・デコード

ドラステルのfour-square暗号で、2つのキーワードを使い2文字ずつ暗号化します。HELPMEはキーEXAMPLEとKEYWORDでFYNFNEになり、同じキーで元に戻せます。空白や記号は除かれ、JはIとして扱われます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
テキスト
HELPME
鍵1
EXAMPLE
鍵2
KEYWORD
計算モード
encrypt
結果
結果
FYNFNE
エンコーディング
four_square
鍵1の文字
EXAMPLE
鍵2の文字
KEYWORD

このfour-square暗号ツールは、Félix Delastelleが考案した古典的な二文字組置換でテキストを暗号化・復号します。2つのキーワードが右上と左下の5×5方陣を埋め、左上と右下の方陣はJがIにマッピングされる固定の25文字アルファベットを保持します。平文は文字のペアで処理されます。各二文字組の1文字目は左上の方陣で、2文字目は右下の方陣で位置を特定し、暗号文の文字は補完的な行と列にあるキー付きの方陣から読み取られるため、マッピングは1つの繰り返しストリームではなく2つのキーワードの両方に同時に依存します。ペア化の前に文字以外は取り除かれ、文字数が奇数の場合はXでパディングされ、結果は連続した大文字と、検証用に平坦化された4つの方陣とともに返されます。

four-square暗号とは何か、そしてこのツールが返す内容

four-square暗号は、4つのポリュビオス方陣として配置された25文字のラテンアルファベット上の二文字組置換です。左上と右下の方陣は同じ平文の順序を使い、JはIに統合されるため、すべての文字は一意のセルを持ちます。右上の方陣は、まず1つ目のキーワードの重複しない文字で埋められ、その後残りのアルファベットで埋められます。

左下の方陣は、2つ目のキーワードで同じ方法で埋められます。暗号化は平文の文字のペアを受け取り、1文字目を左上の方陣で、2文字目を右下の方陣で見つけた上で、1文字目の行と2文字目の列にある右上の方陣の文字、続いて2文字目の行と1文字目の列にある左下の方陣の文字を出力します。

復号は、暗号文の二文字組をキー付きの方陣から読み取り、平文を通常の方陣から復元することでルックアップを逆にするため、同じキーワードで暗号化してから復号すると、奇数の文字数のために追加されたXのパディングを含め、正規化された文字ストリームが復元されます。

このページは常にこの教科書の規則を使い、ロケール間でずれる可能性のある任意のアルファベットテーブルはありません。ストリーミング経路も、PlayfairやVigenèreへのサイレントなフォールバックもありません。

four-squareがレッスン・パズル・テストフィクスチャで役立つ場面

開発者や教育者は、キャプチャー・ザ・フラッグのウォームアップ、古典的な二文字組暗号学に関する教科書の章、そして2つの独立したキーワード方陣が単一のPlayfairテーブルを超えて単純なペア置換をどう強化するかを示す軽量なデモでfour-square暗号に出会います。

フロントエンドチームは、独自のアルファベットを発明することなく、スクリーンショット用にサンプルのフレーズをスクランブルし、同じ鍵の下でdecryptを使って復元できます。そこでは学生が両方のキーワードを正しく適用して次のステップを解除しなければなりません。

品質エンジニアは、four-square対応を主張するミドルウェアが単一換字表にサイレントに切り替わることがないよう、契約テストのために決定的な暗号化・復号のペアを生成します。コンテストの主催者は、パディングの規則を変えたりJからIへの慣習を省いたりする不透明なウェブおもちゃに頼ることなく、手頃な英語のフレーズについて模範解答をあらかじめ計算します。

プロダクトや教育向けのツールは、学習者が暗号文を貼り付け、UIが文書化されたキーワードの下で復元された平文を表示しなければならないときにこの変換を使います。このページでの計算はすべてブラウザ内で完結します。

無料で決定的なテキストツールの小さなラボを構築する際は他の古典的な符号化ヘルパーと組み合わせ、four-square暗号を現代の認証付き暗号の代用として決して扱わないでください。

CTFと古典的な二文字組暗号の練習

パズル、教室、キャプチャー・ザ・フラッグのウォームアップ向けに、2キーワードの二文字組フレーズを暗号化・復号します。

暗号史の授業

4つの5×5方陣、JからIへのアルファベット、Xのパディング、そして空のキーワードがなぜ拒否されなければならないかを実演できます。

テキストから二文字組はどう形成されますか?

アルファベットの文字のみが保持されます(JはIにマッピング)。文字は左から右にペア化され、数が奇数の場合は暗号化または復号の前にXが追加されます。

four-squareは本物の秘密にとって安全ですか?

いいえ。 これは古典的な教育用暗号です。本物の機密性にはAES-GCMのような現代の認証付き暗号を使ってください。

four-squareの暗号文はどう復号しますか?

復号を選び、暗号化に使った2つのキーワードを同じ順番で入力します。暗号文の2文字ずつを鍵付きの正方形から平文の正方形へ逆にたどり、元の文字に戻します。

暗号文の最後にXが付くのはなぜですか?

この暗号は2文字ずつ処理するためです。文字数が奇数ならXを足して最後の組を作り、同じキーで復号してもそのXは残ります。

JがIに変わるのはなぜですか?

各正方形は5×5のマスで、25文字しか入りません。アルファベット全体を収めるため、本文でもキーワードでもJをIとして扱い、復号するとIとして戻ります。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/enc/four-square

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/enc/four-square \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"HELPME","key1":"EXAMPLE","key2":"KEYWORD"}'
{
  "text": "HELPME",
  "key1": "EXAMPLE",
  "key2": "KEYWORD"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.four_square",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

暗号史の授業、二文字組パズルの設計、可逆なワークシートの模範解答にはブラウザで無料にご利用いただき、パイプラインが方陣のレイアウトを自前で再実装することなく再現可能なfour-square変換を必要とする場合は、成功したリクエストごとに$0.002のAPIをご利用ください。

four-square暗号とは何か、そしてこのツールが返す内容

JSONレスポンスには、変換された大文字の文字列を表すresult、four_squareに固定されたencoding、encryptまたはdecryptに設定されたmode、正規化されたキーワードストリームを示すkey1_lettersとkey2_letters、各キーの重複しない文字のビュー、抽出とパディングの後のnormalized_input、paddedフラグ、digraphs(二文字組)の数、長さのフィールド、letters_processed、alphabetの文字列、平坦化された4つの方陣、文書化やテストのために二文字組のマッピングを再度述べる式の文字列が含まれます。それぞれ少なくとも1文字を含む空でないtextと2つのキーワードを指定するか、そうでなければinvalid_inputでリクエストが失敗するかのいずれかです。AES、Vigenère、columnar転置、モールス信号が必要な場合はそれぞれの専用エンドポイントをご利用ください。このランディングページは、暗号史の章やCTFのウォームアップがすでに説明している古典的なfour-square二文字組の契約のみに答えます。

テキスト・鍵・モードの読み取り方法と結果を再現可能に保つ仕組み

各キーの中のアルファベット文字のみが保持され、大文字化され、JはIにマッピングされます。キー内の数字と記号は無視されます。modeは省略時にencryptが既定となり、encryptにはenc、encode、e、decryptにはdec、decode、dといった短い別名も受け付けます。それ以外の文字列は検証に失敗します。すべての二文字組は固定された方陣のレイアウトで処理されるため、同じキーワードのペアで暗号化してから復号すると、常に正規化されパディングされた文字ストリームが復元されます。優先されるペイロードフィールドは、メッセージを表すtext、2つのキーワードを表すkey1とkey2、encryptまたはdecryptを表す任意のmodeです。textはinput、value、s、message、plaintext、ciphertextといった別名を受け付けるため、フォームやSDKクライアントは既存のカラム名を再利用できます。key1はkeyword1、key_1、k1、upper_key、right_keyを、key2はkeyword2、key_2、k2、lower_key、left_keyを受け付けます。そのフィルタの後にどちらかのキーワードに文字が1つも残らない場合、あるいはキーワード文字列が空の場合、エンジンは、キーワードには少なくとも1つのA-Zの文字が含まれなければならないことを示す明確なメッセージとともにinvalid_inputでリクエストを拒否します。textの欠落、空のtext、文字を含まないtext、文字列以外の型、未知のモードはすべてinvalid_inputを発生させるため、空のフォームが成功した無操作のように見えることはありません。自動化されたパイプライン内で4つの方陣を自前で再実装することなく同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせてご利用ください。無効な入力はinvalid_inputを返し課金されないため、検証は安価なままであり、成功した変換は$0.002という固定の項目価格のままです。

four-squareがレッスン・パズル・テストフィクスチャで役立つ場面

バックエンドサービスは、パズルAPIや教育用サンドボックス向けの短い課題文字列をエンコードします。API経由では成功した検索1件につき$0.002がかかり、検証に失敗したリクエストは課金されず、レスポンスが返された後は何も保存されません。この無料のインタラクティブな探索と、同一結果を返す有料APIという分割は、KITのtier-Aカタログの他のツールと同様であり、教室でのデモから自動化パイプラインへ、変換された結果を変えることなく移行できます。

決定的なCIフィクスチャ

ユニットテスト、ゴールデンファイル、契約チェック向けに再現可能なfour-square式の暗号文と平文のペアを生成できます。

four-square暗号ツールの料金はいくらですか?

このページのブラウザ版は無料です。API経由では成功したリクエストごとに$0.002がかかり、無効な入力には課金されません。

four-square式のメッセージをどう復号しますか?

暗号文をtextとして、暗号化に使ったのと同じkey1とkey2を送信し、modeをdecrypt(またはdec、decode、d)に設定してください。modeを省略した場合、既定は暗号化です。

キーワードが空の場合はどうなりますか?

リクエストはinvalid_inputで失敗します。key1とkey2はともに空でなく、フィルタリング後に少なくとも1つのA-Zの文字を含んでいなければなりません。

KITの完全なドキュメントを見る →