si vous avez plus de quelques cartes bancaires, des codes clés de porte de porte ou d’autres petits mots de passe numériques à retenir, il devient éventuellement un problème. Le pire, pour moi, est une carte bancaire pour un compte d’entreprise que j’utilise une fois dans une lune bleue. Je l’ai probablement utilisé huit fois dans cinq ans, puis ils m’ont donné une nouvelle carte avec un nouveau code PIN. Soupir.
Quick, quel est mon code PIN?
Comment une personne normale va-t-elle faire face à une prolifération de broches? Ils avaient écrit les chiffres sur un morceau de papier et le garder dans leur portefeuille. Nous savons tous comment cela se termine, non? Un portefeuille perdu et plusieurs comptes bancaires vides. Comment un pirate informatique serait-il gérer? Écrivez chaque numéro sur la carte elle-même, mais crypté, naturellement, avec le seul schéma de cryptage incassable, il y a de là: le pad pneumatique (OTP).
L’OTP est un canard étrange parmi les méthodes de cryptage. Ils sont destinés à être déchiffrés dans votre tête, mais aussi longtemps que la clé secrète restent en sécurité, elles sont solides. Si vous avez déjà essayé de coder les boîtes S et de tout ce que l’ajout, le déplacement et le mélange qui se poursuit avec une méthode de cryptage normale, les OTPS sont rafraîchissantes simples. Le compromis est une clé “longue”, mais un OTP est absolument parfait pour crypter vos goupilles.
La première partie de cet article semble être le pablum convivial «Life-Hack» que vous obtiendrez ailleurs, mais ne désespérez pas, c’est aussi une introduction de porte arrière à l’OTP. La seconde moitié plonge dans le tampon ponctuel avec une intuition de cryptographie profonde, des mathématiques amicales et, espérons-le, un argument convaincant qui écrivant vos épingles cryptées est la bonne chose à faire. En chemin, je liste les trois choses que vous pouvez faire de mal lors de la mise en œuvre d’un OTP. (Et aucun d’entre eux ne vous choquer va vous choquer!) Mais à la fin, ma solution de cryptage PIN brisera l’une des trois et restera néanmoins du son. Curieux encore? continuer à lire.
La solution PIN
Donc, d’abord la solution au problème de la carte bancaire: écrivez votre code PIN crypté avec un secret que vous seul savez. Au lieu de vous rappeler un numéro à quatre chiffres pour chaque nouvelle carte, vous aurez juste besoin d’un numéro à quatre chiffres pour toujours. La clé est de choisir un schéma de cryptage suffisamment facile pour annuler afin que vous ne ressemblez pas trop étrange lorsqu’on lui demande de taper la broche dans la fenêtre de la banque. Ceci est l’utilisation classique de l’OTP – un cryptage que vous pouvez annuler dans votre tête.
Tout d’abord, sélectionnez au hasard un numéro secret à quatre chiffres. Ensuite, soustrayez ce numéro de votre code PIN et écrivez le résultat sur votre carte. Pour obtenir votre code PIN, lorsque vous vous tenez devant le caissier de la banque, regardez simplement la carte et ajoutez le numéro secret. Le caissier pensera que vous avez écrit votre code PIN sur la carte. N’hésitez pas à vous sentir suffisant, car vous avez utilisé un système de cryptage incassable.
Au lieu d’une addition normale et d’une soustraction, avec le transport et l’emprunt à travers des chiffres, vous souhaitez utiliser MODULO-10 MATH – Ajout ou soustraire dix du résultat à tout moment, il quitte la plage de 0 à 9. Nous allons parler de pourquoi ci-dessous, mais pour l’instant, voici un exemple de travail.
Supposons que la broche soit 1234 – elle doit arriver si quelqu’un, non? – Et mon numéro secret aléatoire est de 1337, naturellement. Cryptons. La soustraction 1 de 1 donne un zéro, donc j’écris cela. Soustraire 3 de 2 donne -1, qui est l’endroit où l’arithmétique modulo-10 est entré. Dans ce cas, -1 se transforme en 9 en ajoutant dix. 3 – 3 = 0 et 4 – 7 = 7, MOD-10. Ma carte a maintenant 0907 écrit dessus.
Maintenant, décrypte. Regardant sur la carte, je vois un 0 et ajoutez 1. 9 + 3 = 12, cependant, nous devrons donc soustraire dix pour obtenir 2. (C’est la raison de choisir l’addition pour la phase de déchiffrement, il est facile de simplement Déposez tous les premiers 1s.) 0 + 3 = 3 et 7 + 7 = 14 -> 4 <. Je tape 1234 et l'argent est à moi! Une fois que vous avez accusé l'ajout de votre numéro secret à tout autre numéro, Digit-Wise Mod-10, vous serez surpris de la rapidité avec laquelle cela fonctionnera rapidement. Essayez-le et voyez si vous en êtes bon dans les dix minutes. Plaquettes ponctuelles Un pad ponctuel est à la fois le système de cryptage symétrique le plus simple et également incassable. Il a trois traits cruciaux, dont deux ont été démontrés ci-dessus et que tout d'entre eux ne va pas être catastrophique. La caractéristique la plus importante d'un OTP est que le mot de passe doit être aléatoire et la même longueur que le texte qu'il chiffre - d'où le secret à quatre chiffres pour la broche. Dans une OTP, tout tourne autour du secret, qui est également son talon d'Achille. Pour un nombre à quatre chiffres, le maintien d'un secret à quatre chiffres n'est pas un problème. Mais imaginez que vous souhaitez envoyer des gigaoctets de photos cryptées de vos vacances à un ami. C'est beaucoup de matériaux essentiels pour rester à portée de main et au secret. Original par [Matt_Crypto], DomainSecond public, la méthode de combinaison du message avec le secret doit être similaire à l'arithmétique modulo, en ce que l'ensemble de caractères cryptés et l'ensemble de caractères plaintes - la broche de notre exemple - doit avoir à mapper Un par un. Mod-10 garantit cela facilement: les deux sont compris entre 0 et 9. Peut-être que vous connaissez avec l'opérateur XOR sur des données binaires, qui est la même chose que l'additairesur ou soustraction, mod-2. (0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1 et 1 + 1 = 2 -> 0. QED.) Vous pouvez également utiliser des lettres et envelopper l’alphabet autour de “Z” comme le césar cipher ou ROT13, qui ne fait que cartographier l’alphabet en chiffres et faire des mathématiques MOD-26.
Troisièmement, et peut-être que c’est un corollaire de la première, vous ne devriez pas réutiliser le secret dans un pavé unique. Vous penseriez que c’était évident, car il est même au nom de la méthode de cryptage, mais il est difficile de faire dans la pratique. Et en fait, mon schéma de cryptage PIN brise cette règle en utilisant le même secret sur plusieurs clés. Nous allons passer cela bientôt.
Messing le cryptage parfait
Pourquoi un OTP incassable? La plupart des schémas de cryptage se résument souvent à la probabilité et aux statistiques. Par exemple, si vous chiffrez un texte avec le chiffre César ci-dessus, chaque lettre du texte en clair est mappée à une autre lettre simple chaque fois qu’il se produit dans le cipostext. Si vous savez que le texte original est en anglais, où la lettre la plus couramment utilisée est “E”, c’est une bonne mise que si “q” est la lettre la plus courante du ciIPhertext, elle signifie “E”. C’est-à-dire que nous trouvons des similitudes statistiques entre le plaintre et le ciphertext, et utilisons-les pour faire un pont entre les deux.
En utilisant une clé secrète aussi longue que le texte en clair et choisi au hasard, enfreint toute relation statistique avec le CIPHERText. Compte tenu d’un ciIPHertext spécifique écrit sur ma carte, chaque code PIN de 0000 à 9999 est possible et si la clé a été choisie au hasard, est également probable. Il n’y a aucune information sur le plainte dans le CIPHERText – c’est essentiellement la preuve de Claude Shannon (PDF absolument classique) en un mot. Et c’est pourquoi un OTP n’est incassable.
Diana pavé ponctuel [US NSA], le public Domainthis est en fait la clé pour comprendre le domaine de la cryptographie: il est tenter de brouiller les informations sur le texte en plainte pendant le processus de cryptage afin que même une clé plus courte soit utilisée, non Des traces statistiquement pertinentes du plaintext restent. Ce désir de clés courtes n’est pas simplement une question de commodité: imaginez que vous et HackAday deviez échanger auparavant 500 kib de données aléatoires pour télécharger cet article et le lire. Imaginez la longueur du mot de passe WiFi que vous devriez écrire pour les invités! C’est le sens dans lequel l’OTP est trivial et inintéressant – il peut être incassable, mais les secrets sont trop longs pour la plupart des applications. La vraie crypto consiste à trouver des algorithmes qui brisent la relation statistique avec un minimum de matériaux clés.
Dans cet esprit, vous pouvez bousiller une implémentation OTP en utilisant un mot de passe court ou non aléatoire. Imaginez utiliser 1 comme mot de passe et répétez-le si nécessaire; Notre ciphertext sera lu 2345 et la broche serait devinée au deuxième essai. Vous souhaitez également utiliser un mot de passe aléatoire; Choisir 0000 parce que cela rend le calcul facile est la seule chose pire que ce qui précède. (Bien que, à proprement parler, je repousserais si j’avais 0000, 1111, 9999, 1234, 4321 ou similaire.) Quoi qu’il en soit, n’utilisez pas votre anniversaire. Les vieux numéros de téléphone des amis de l’enfance peuvent être acceptables.
Le rôle de l’arithmétique modulo est un peu plus subtil. Quelle que soit la fonction utilisée, l’ensemble des caractères possibles dans le plaintext a pour mapper une-tout-à-une avec le CIPHERText. Pourquoi? Imaginez que vous utilisiez un ajout simple au lieu de l’addition MOD-10. Pour obtenir le dernier chiffre de notre code PIN CIPHERText, nous avons utilisé 4 – 7 = -3 -> 7 et déchiffré avec 7 + 7 = 14 -> 4. Si nous écrivions à la place – 3, un attaquant saurait que notre dernier chiffre ne pouvait pas pu ‘T soit supérieur à 6 car l’ajout de 9, la valeur maximale, ne donne que 6. Nous avons divulgué des informations en ayant un ensemble plus grand dans le chiffretext que dans le texte en clair.
Et cela laisse la dernière façon de gâcher: réutiliser le coussinet “ponctuel”. Évident, non? Tort.
Machine Lorenz, domaine public
D’une part, la réutilisation est une responsabilité déterminée. La réutilisation d’un mot de passe dans un schéma de cryptage très similaire a cassé “TUNNY”, un code important pendant la Seconde Guerre mondiale. Un message crypté de 4 000 caractères a été envoyé mais non reçu correctement. L’expéditeur a renvoyé le message, avec le même secret mais fait de petits changements dans le texte, en utilisant différentes abréviations et ainsi de suite. Cela a laissé suffisamment d’alliés pour casser la tunnie et l’ingénieur inversé la machine qui le crypté. jeu terminé.
Voici les mathématiques qui ont fait le travail de Tunny Decrypt et devraient vous convaincre de ne jamais réutiliser une clé. Si nous encadons les messages A et B avec la clé secrète C, et une personne surveille les deux, ils peuvent les modeler ensemble pour obtenir (un MOD C) MOD (B MOD C) = (un MOD B) MOD C MOD C = A MOD B, où Mod est l’opérateur modulo bit dans le sens ou numérique que nous sommes maintenant habitués. Étant donné que la prise du module binaire est son propre inverse, le résultat est quelque chose qui est lié aux plaintes et à l’indépendamment de la clé secrète.
À partir de là, comparer les suppositions intelligentes pour A et B et les comparer avec le résultat MOD B peut casser le code. Donc, si vous êtes à peu près sûr que “attaque” apparaisse dans les deux textes (les types de crypto cryptés toujours “attaque à l’aube”),Ensuite, vous pouvez essayer de moduler “attaque” ensemble dans différentes positions jusqu’à ce que vous obteniez une correspondance avec un MOD B.
Une fin surprise
Mais voici la finale Twist! Nous pouvons vous échapper avec la réutilisation de la clé secrète sur toutes nos cartes bancaires, même malgré les mathématiques ci-dessus. Pourquoi? parce que les goupilles elles-mêmes sont aléatoires. Contrairement aux messages de langue naturelle envoyée pendant le temps de guerre, un MOD B est tout aussi aléatoire qu’un MOD C si A et B sont des broches aléatoires.
C’est donc comment un pirate informatique se souvient des broches: en en apprenant beaucoup sur le pad ponctuel, comment le casser et comment il est néanmoins utile si le message qu’il doit protéger est court. Et comment, pour des messages particuliers, vous pouvez même casser les règles.