J'imagine que le contexte de cette déclaration était dans le contexte d'un chiffrement où un mot répété à plusieurs endroits produit le même texte chiffré à chaque endroit. Si je vois:
AER TEO ZRE SGR. AER FSD ZFD DFG. YTR ASD AER DSG.
L'analyse du langage révélerait que "AER" est probablement "The", et à partir de là, si vous interceptez un nombre suffisant de messages chiffrés, vous pouvez commencer à déterminer d'autres mots à partir du modèle d'utilisation et créer un mappage inversé. Notez également que cela nous permet de déterminer le message original du chiffrement de manière fragmentaire, sans jamais réellement «casser» le chiffrement. Les conseils de l'auteur aident à atténuer cette technique en réduisant les répétitions / modèles dont l'analyse du langage pourrait s'attaquer. Ils pourraient comprendre le mappage inversé pour "the", mais si vous avez utilisé d'autres synonymes pour "the", son utilisation dans ces autres emplacements ne sera pas aussi évidente.
Modern Cyphers, si utilisé incorrectement , a en fait cette même faiblesse.
Si je crypte une phrase telle que "Le renard saute par-dessus le pont." en utilisant Cipher-block chaining (CBC), alors le premier chiffre "the" sera différent du second "the" car les données précédemment chiffrées "waterfalls" à chaque bloc suivant provoquent des valeurs identiques pour ne presque jamais produire le même chiffre. Ainsi, l'attaque ci-dessus n'est généralement pas applicable.
Si toutefois j'utilise la méthode la plus faible du livre de codes électronique (ECB), alors les deux "" testeront (techniquement pourrait , voir les commentaires) avoir le même texte chiffré, et donc être vulnérable à des attaques similaires. Comme exemple de la façon dont la BCE peut être "modelée", jetez un œil à cette image chiffrée avec ECB :
http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#mediaviewer/File:Tux_ecb.jpg
Il est possible de diviser un CBC en un ECB plus faible s'il est mal utilisé en divisant un long message en messages plus petits. Dans le cas extrême, considérez si vous divisez chaque mot en son propre message, en commençant et en terminant un nouveau traitement CBC pour chaque mot. Quelqu'un sur le fil verrait la série de messages et remarquerait que certains seraient identiques car ils chiffrent tous les deux exactement le même message. (cela suppose la même clé / IV utilisée pour chaque message / mot)
Un autre scénario est où vous utilisez le même vecteur d'initialisation pour plusieurs petits messages. Le début du message, et / ou si le message est plus petit que la taille IV, alors le même message (ou au moins le début d'un message qui est identique), aura le même texte chiffré. J'ai en fait vu des gens faire l'erreur de découper leur message en morceaux pour le transférer sur le fil, puis de crypter chaque morceau séparément, ce qui produit ce type de vulnérabilité de livre de codes.
Donc, Mark est surtout parfait en identifiant que les cyphers modernes ne sont pas vulnérables au type d'attaque contre laquelle les conseils de l'auteur essaient de se protéger. La raison en est que les cyphers modernes recommandent que la BCE ne soit pas utilisée (livre de codes électronique).
Cependant, si vous utilisez le chiffrement moderne d'une manière qui le fait devenir essentiellement un livre de codes, alors vous pourriez atténuer le risque en tenant compte des conseils de l'auteur sur les différents synonymes. Donc, le conseil est quelque peu applicable, mais c'est plus un bandage faible par rapport à la correction de votre méthode de cryptage de telle sorte que ce ne soit pas une méthode de livre de codes.
Pour répondre à certaines de vos révisions / commentaires: Ce à quoi l'auteur fait référence (une protection atténuante contre les vulnérabilités du livre de codes), et l'idée que la NSA marque certains mots, sont en réalité deux concepts complètement orthogonaux. Le premier concerne la rupture de code et les protections contre la rupture de code. Ce dernier s'exprime sous l'hypothèse que la NSA a déjà accédé au texte en clair du message, et n'essaie pas de casser un type de cryptage, mais simplement d'identifier les «messages d'intérêt».
Avec ECB , "chien" et "chiot" auront un texte chiffré extrêmement différent, de sorte que toute similitude entre les mots disparaîtra après le chiffrement. Si "chien" était utilisé à 20 endroits dans un message chiffré par la BCE, son texte chiffré apparaîtrait à 20 endroits. Si vous utilisiez à la place une liste d'argot de 20 mots différents pour chien, alors vous auriez 20 textes chiffrés différents et il ne serait pas évident qu'ils soient liés. C'est le concept que je crois que l'auteur avait en tête.
D'un autre côté, la technique suggérée par l'auteur "pourrait" fonctionner pour éviter de marquer par un scanner de "message d'intérêt", mais pour des raisons pour lesquelles l'auteur original suggérait cette technique. Dans ce scénario, la technique n'aura presque aucune efficacité car si la NSA utilise quelque chose du niveau de sophistication que Google utilise pour son moteur de recherche, elle identifiera facilement des mots et des synonymes similaires. Il existe déjà de nombreux algorithmes pour analyser la "distance" entre deux mots afin d'identifier les fautes d'orthographe, et il existe certainement des listes de synonymes facilement disponibles.