Un captcha est une forme de test de Turing permettant de différencier de manière automatisée un utilisateur humain d'un ordinateur.
Parce que le test est réalisé par un ordinateur, en opposition avec les tests de Turing standard réalisés par des humains, un captcha est souvent décrit comme un test de Turing inversé. Ce terme est néanmoins ambigu parce qu’il pourrait aussi signifier que les participants essaient de prouver qu'ils sont des ordinateurs.
Ce test est utilisé sur Internet dans les formulaires pour se prémunir contre les soumissions automatisées et intensives réalisées par des robots malveillants.
La vérification utilise la capacité d'analyse d'image ou de son de l'être humain. Un captcha usuel requiert ainsi que l'utilisateur tape les lettres et les chiffres visibles sur une image distordue qui apparait à l'écran. Certains sites Web préfèrent afficher une image qui contient une question mathématique.
Ils sont utilisés :
Dès le début d'Internet, les utilisateurs ont toujours voulu rendre le texte illisible par les ordinateurs. Les premiers furent les hackers, postant sur des sujets sensibles dans des forums en ligne, qui étaient automatiquement surveillés avec des mots-clefs. Pour contourner ces filtres, ces hackers ont commencé à remplacer les mots par des caractères visuellement ressemblants. Par exemple, HELLO pouvait être remplacé par |-|3|_|_() ou )-(3££0, ainsi qu'une multitude d'autres variantes numériques. Ainsi les filtres à mots-clefs ne pouvaient pas tous les détecter. Ce procédé fut plus tard connu sous le nom de « 13375p34k » (leetspeak).
La première réflexion sur la création de tests automatiques qui pourraient distinguer les humains des ordinateurs dans le but de contrôler l'accès aux services web est apparue dans un manuscrit de Moni Naor de l'institut de science de Weizmann, daté de 1996, et intitulé Verification of a human in the loop, or Identification via the Turing Test. Des captcha primitifs semblent avoir été développés plus tard, en 1997 chez AltaVista par Andrei Broder et ses collègues dans le but d'empêcher des robots d'ajouter des sites à leur moteur de recherche.
En recherchant un moyen de rendre leurs images résistantes à des attaques de logiciels de reconnaissance de caractères, l'équipe a cherché dans le manuel de leur numériseur de marque Brother, qui donnait des recommandations pour améliorer les performances de la reconnaissance de caractères (types d'écritures similaires, fond homogène…). L'équipe conçut des puzzles en essayant de simuler ce qui pourrait causer une mauvaise reconnaissance automatique de caractères. En 2000, von Ahn et Blum développèrent et publièrent la notion de captcha, qui comprenait tout programme qui pouvait différencier un humain d'un ordinateur. Ils inventèrent de multiples exemples de captcha, dont les premiers qui furent largement utilisés (par Yahoo! notamment).