Chiffre Bifide
Avec la clé SECRET, HELLO devient HKNFO par le chiffre Bifide : le carré de Polybe 5×5 de Félix Delastelle, construit à partir de la clé, sépare chaque lettre en ligne et colonne puis mêle ces chiffres sur tout le message. La même clé déchiffre. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- HELLO
- Clé
- SECRET
- Mode de calcul
- Encrypt
- Résultat
- HKNFO
- Longueur
- 5
- Lettres mappées
- 5
- Carré
- 5x5
Le chiffre Bifide, inventé par Félix Delastelle, combine un carré Polybius cinq par cinq à clé et une étape de fractionnement qui scinde chaque lettre en coordonnées de ligne et de colonne, lit ces coordonnées par lignes puis colonnes, puis les réapparie en lettres du chiffré. Vous collez un texte en clair ou un chiffré, fournissez un mot-clé qui façonne le carré, choisissez chiffrer ou déchiffrer, et recevez un résultat déterministe en majuscules avec les comptes de lettres et l’alphabet rempli pour vérification. Les non-lettres sont ignorées ; seules A–Z participent ; J partage la case de I sur la grille classique de vingt-cinq cases.
Comment le fractionnement Bifide fonctionne avec un carré Polybius à clé
Le Bifide commence par construire un carré Polybius cinq par cinq à partir de votre mot-clé. Les lettres latines uniques de la clé sont écrites d’abord dans l’ordre d’apparition, chaque J étant réécrit en I pour que vingt-six lettres tiennent en vingt-cinq cases ; le reste de l’alphabet remplit la grille dans l’ordre naturel sans un second J.
Chaque lettre du clair est ensuite localisée sur ce carré et enregistrée comme une paire de coordonnées : un chiffre de ligne de un à cinq et un chiffre de colonne de un à cinq. Le chiffrement n’émet pas ces paires directement.
Il écrit tous les chiffres de ligne sur une longue ligne et tous ceux de colonne sur une seconde, concatène les deux en un flux de longueur double du nombre de lettres, puis regroupe ce flux en paires ligne-colonne successives recherchées sur le même carré pour produire les lettres du chiffré.
Ce réappariement est le fractionnement : chaque lettre du chiffré dépend de coordonnées issues de positions différentes du clair, de sorte que les motifs de fréquence de la substitution simple sont brisés tandis que la sortie reste alphabétique et facile à écrire à la main.
Le déchiffrement inverse le processus : chaque lettre du chiffré s’étend en deux coordonnées, la première moitié du flux doublé devient la ligne des lignes et la seconde celle des colonnes, et l’appariement de la i-ème ligne avec la i-ème colonne récupère chaque lettre du clair. Cette page implémente le Bifide classique sans période bornée sur un carré I/J à clé uniquement, pas des blocs de période N, pas le Trifid, ni l’analyse cryptographique automatique de clés inconnues.
Où les outils de chiffre Bifide interviennent dans le travail réel
Les cours d’introduction à la cryptographie et à l’histoire des chiffres assignent des exercices Bifide pour que les étudiants pratiquent les coordonnées Polybius puis voient comment le fractionnement change le chiffré par rapport à un carré simple ; un oracle unique de confiance qui chiffre et déchiffre avec une grille cinq par cinq à clé accélère les démos et les correcteurs automatiques.
Les défis capture-the-flag et les chasses aux énigmes cachent encore des messages Bifide derrière un court mot-clé, et les solveurs veulent une implémentation Delastelle rapide et prévisible plutôt qu’une suite générale de cryptanalyse. Les équipes support et contenu codent parfois légèrement des spoilers, réponses de quiz ou libellés internes avec un mot-clé partagé et ont besoin du chemin inverse sans installer une bibliothèque crypto par langage.
Si vous avez besoin d’une carte Polybius en paires de chiffres sans fractionnement, d’un décalage César, de chiffres Autokey ou Beaufort à clé, ou d’une récupération par analyse de fréquences de clés inconnues, traitez-les comme des intentions de recherche et des pages distinctes plutôt que de surcharger cette page Bifide classique.
Cas d’usage
Démos Bifide et fractionnement en classe
Chiffrez et déchiffrez des mots d’exemple avec un mot-clé partagé pour que les cours d’intro montrent les coordonnées Polybius et le fractionnement sur un oracle de référence.
Défis puzzle et CTF en Bifide
Encodez ou inversez des chiffrés Bifide de Delastelle pour des chaînes de défi sans écrire un script ad hoc pour chaque série d’exercices.
Questions fréquentes
Qu’est-ce que le chiffre Bifide ?
Un chiffre classique de Félix Delastelle qui utilise un carré Polybius 5×5 à clé et fractionne les coordonnées ligne/colonne avant de les réapparier en lettres du chiffré. Cet outil implémente ce processus de manuel avec I et J partageant une case.
Pourquoi la clé est-elle obligatoire ?
Le mot-clé construit le carré Polybius (lettres uniques de la clé d’abord, puis le reste de l’alphabet).
Comment déchiffrer un chiffré Bifide ?
Réglez mode sur decrypt, collez les lettres du chiffré et utilisez le même mot-clé qui les a chiffrées. Seules les lettres latines sont utilisées ; les non-lettres sont ignorées.
En quoi le Bifide diffère-t-il d’un carré Polybius ?
Le Polybius simple mappe chaque lettre à une paire de chiffres. Le Bifide utilise encore un carré Polybius mais scinde et recombine les coordonnées le long du message pour que la sortie reste en lettres et que les motifs de fréquence simples soient perturbés.
Quel est le coût ?
L’outil navigateur est gratuit et s’exécute en local.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/bifid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"HELLO","key":"SECRET"}'const res = await fetch("https://api.kit.forhosting.com/enc/bifid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "HELLO",
"key": "SECRET"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/bifid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "HELLO",
"key": "SECRET"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/bifid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"HELLO","key":"SECRET"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"HELLO","key":"SECRET"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/bifid", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "HELLO",
"key": "SECRET"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.bifid",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Contrairement à un Polybius simple qui n’émet que des paires de chiffres, le Bifide mélange les coordonnées le long du message : l’alphabet du chiffré reste alphabétique et la diffusion s’améliore par rapport à la substitution simple. Une clé vide ou sans lettres latines échoue immédiatement avec invalid_input, car le carré ne peut pas se construire sans au moins un caractère alphabétique.
Comment le fractionnement Bifide fonctionne avec un carré Polybius à clé
Il n’y a ni pad aléatoire, ni horodatage, ni appel réseau — un texte, une clé et un mode identiques produisent toujours le même JSON.
Ce que vous envoyez et ce que vous recevez
Envoyez un champ chaîne obligatoire nommé text, un champ chaîne obligatoire nommé key, et un champ optionnel mode valant encrypt ou decrypt. Lorsque mode est omis, encrypt est la valeur par défaut, de sorte qu’une charge minimale produit encore un chiffré. Les échecs de validation ne consomment pas le solde prépayé. Les contrôles classiques incluent le chiffrement de HELLO avec la clé SECRET vers un chiffré stable, le déchiffrement de ce chiffré avec la même clé vers HELLO, le mappage de J par la même case que I, et la confirmation qu’une clé vide est rejetée plutôt qu’un carré par défaut inventé. La clé doit contenir au moins une lettre latine après lecture de A–Z et a–z ; une chaîne vide, uniquement des espaces, ou seulement des chiffres et de la ponctuation échoue avec invalid_input et un message qui nomme la règle de clé vide. En cas de succès la réponse renvoie mode, text et key, retourne result comme la chaîne de lettres transformée en majuscules, length de ce résultat, letters_mapped comme le nombre de lettres latines participantes, plus square, ij_combined, alphabet comme le remplissage de vingt-cinq caractères en ordre ligne majeure utilisé pour l’exécution, et cipher fixé à bifid pour les clients qui affirment le profil touché. Texte manquant, clé manquante, objets non chaîne pour ces champs, valeurs de mode non prises en charge, chaînes plus longues que le maximum documenté, et charges decrypt sans lettres échouent avec invalid_input et un message clair en anglais. Le tarif des appels API réussis est la base publiée de $0.002 par élément.
Où les outils de chiffre Bifide interviennent dans le travail réel
Comme cette capacité est un moteur de parse pur, le tarif API est la base publiée de $0.002 par élément réussi et la validation en échec ne consomme pas le solde.
Cas d'intégration
Encodage léger d’étiquettes par mot-clé
Transformez des réponses de quiz ou des libellés internes en flux de lettres Bifide et décodez-les plus tard avec la même clé dans le navigateur ou l’API.