Qu'est-ce que les homoglyphes ?

Les homoglyphes sont des caractères de différents systèmes d'écriture qui ont un aspect identique ou presque identique les uns aux autres. Par exemple, la lettre cyrillique "А" (U+0410) semble visuellement indistinguable de la lettre latine "A" (U+0041), bien qu'il s'agisse de caractères Unicode complètement différents. Cette similarité visuelle existe parce que de nombreuses lettres cyrilliques ont été historiquement dérivées des alphabets grecs et latins.

Pourquoi les homoglyphes cyrilliques-latins sont-ils importants ?

La similarité visuelle entre les caractères cyrilliques et latins crée à la fois des défis et des opportunités. En cybersécurité, les homoglyphes sont exploités dans les attaques de hameçonnage où des URL malveillantes utilisent des sosies cyrilliques pour usurper l'identité de domaines légitimes. Dans le traitement de texte, le contenu en scripts mixtes peut causer des problèmes de tri, de recherche et d'indexation. Comprendre et détecter ces substitutions de caractères est essentiel pour les chercheurs en sécurité, les modérateurs de contenu et les développeurs travaillant avec du texte multilingue.

Comment fonctionne la conversion d'homoglyphes ?

La conversion d'homoglyphes remplace les caractères d'un script par leurs équivalents visuellement similaires d'un autre script. Cet outil mappe les caractères cyrilliques vers leurs équivalents latins en fonction de l'apparence visuelle plutôt que de la valeur phonétique. Par exemple, le cyrillique "Р" (qui sonne comme "R") se convertit en latin "P" car ils ont un aspect similaire, et non parce qu'ils représentent le même son.

Description de l'outil

Ce convertisseur d'homoglyphes de cyrillique en latin transforme le texte contenant des caractères cyrilliques en équivalents latins visuellement similaires. L'outil utilise une base de données de mappage complète couvrant plusieurs alphabets basés sur le cyrillique, notamment les scripts russe, ukrainien, biélorusse, serbe, macédonien, bulgare, kazakh, kirghize et mongol. La conversion privilégie la similarité visuelle, rendant la sortie aussi proche que possible de l'original tout en n'utilisant que des caractères latins.

Exemples

Entrée cyrillique Sortie latine
самый cambly
ответственность oTBeTcTBeHHocTb
непосредственно HenocpegcTBeHHo
событие co6blTue

Fonctionnalités

  • Convertit tous les alphabets cyrilliques, y compris le russe, l'ukrainien, le biélorusse, le serbe, le macédonien et les variantes d'Asie centrale
  • Utilise des homoglyphes parfaits où les caractères sont visuellement identiques (А→A, С→C, О→O)
  • Applique des approximations étroites pour les caractères ayant une forte similarité visuelle
  • Préserve les caractères non cyrilliques, y compris les lettres latines, les chiffres et la ponctuation
  • Prend en charge le cyrillique étendu, y compris les caractères historiques et rares

Cas d'utilisation

  • Analyser le texte potentiellement malveillant pour détecter les tentatives de usurpation basées sur les homoglyphes
  • Normaliser le contenu en scripts mixtes pour un traitement de texte cohérent
  • Détecter l'injection de caractères cyrilliques dans les noms d'utilisateur, les URL ou les noms de domaine
  • Convertir le texte cyrillique pour les systèmes ne prenant en charge que les caractères latins
  • Recherche et fins éducatives en linguistique et en typographie

Jeux de caractères pris en charge

Homoglyphes parfaits (visuellement identiques) :

  • Majuscules : А→A, В→B, С→C, Е→E, Н→H, І→I, Ј→J, К→K, М→M, О→O, Р→P, Ѕ→S, Т→T, Х→X, У→Y
  • Minuscules : а→a, с→c, е→e, і→i, ј→j, о→o, р→p, ѕ→s, х→x, у→y

Homoglyphes proches (forte similarité visuelle) :

  • Avec diacritiques : Ё→Ë, Ї→Ï, ё→ë, ї→ï
  • Kazakh/Mongol : Ү→Y, Қ→K, Ң→H, Ғ→F

Homoglyphes approximatifs (similarité modérée) :

  • Basés sur la forme : Б→6, Г→r, З→3, Ч→4, Ш→W
  • Composites : Ы→bl, Ю→io, Я→ᴙ

Détails de la conversion

Le convertisseur traite le texte caractère par caractère, vérifiant chacun d'eux par rapport aux tables de mappage d'homoglyphes dans l'ordre de priorité suivant :

  1. Homoglyphes parfaits - Correspondances visuelles exactes entre le cyrillique et le latin
  2. Homoglyphes proches - Caractères avec de légères différences visuelles, souvent à l'aide de diacritiques
  3. Homoglyphes approximatifs - Meilleure approximation visuelle à l'aide des caractères disponibles
  4. Passage direct - Les caractères non trouvés dans les mappages sont conservés inchangés

Cette approche en couches garantit une fidélité visuelle maximale tout en fournissant des solutions de repli pour tous les caractères cyrilliques.