Combien faut-il taper de chiffres pour trouver un code à 4 chiffres ?

Magazine
Marque
Hackable
Numéro
28
Mois de parution
janvier 2019
Spécialité(s)


Résumé

Un code comme un code d'entrée d'un hall d'immeuble, étant composé généralement de chiffres de 0 à 9 sur 4 positions, la réponse qu'on est tenté de donner est tout simplement 40000, car il faut saisir tous les codes de 0000 à 9999. Ce qui correspond à 10000 codes de 4 chiffres, soit 40000 pressions sur les touches. En réalité, 10003 pressions peuvent suffire si l'on utilise un mot de de Bruijn...


Précisons d'emblée qu'il s'agit ici principalement d'un exercice mathématique et algorithmique, la mise en œuvre d'une telle technique est soumise à un certain nombre de conditions concernant le fonctionnement de ce sur quoi vous l'appliquez. Ces conditions sont aussi une magnifique opportunité de comprendre ce qu'il faut faire et ne pas faire lorsqu'on intègre un code de sécurité dans l'un de ses projets. Mais avant de parler des limitations, découvrons ce qu'est un mot de de Bruijn.

Ce mot ou suite de de Bruijn est une suite de symboles ayant comme propriété de contenir toutes les sous-suites consécutives d'une longueur donnée, une seule et unique fois. Heu... de quoi ça ?

Imaginez un alphabet de seulement deux symboles, le « 0 » et le « 1 », et une suite de ces symboles constituée de 3 d'entre eux. Les différentes combinaisons possibles sont 000, 001, 010, 011, 100, 101, 110 et 111. Si nous voulons saisir ces huit combinaisons, nous devons…

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Édito : L'IA passe avant !

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Résumé

Ce n'est pas moi qui le dis, c'est ce qu'annonce à demi-mots le communiqué du 3 décembre dernier de Micron Technology [1] qui, en 2024, était décrit comme le troisième acteur du domaine de la RAM/DRAM, derrière Samsung et Hynix, avec quelque 22 % de part de marché.

Créons un périphérique « maison » pour notre SoC LiteX

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

J'ai, à de nombreuses reprises, détaillé en quoi implémenter un SoC sur mesure sur un FPGA présentait de nombreux avantages. En particulier lorsque cela est aussi facile qu'avec le framework LiteX où, avec un minimum de code Python, cela se transforme en un simple jeu de construction. Mais utiliser les périphériques déjà disponibles, même s'ils sont nombreux et variés, ne représente qu'une petite partie des bénéfices de l'exercice. Là où cela devient réellement magique, c'est lorsqu'il s'agit de créer ses propres périphériques, et c'est précisément ce que nous allons voir ici.

Colorlight 5A-75B : développement FPGA avec LiteX et petits hacks

Magazine
Marque
Hackable
Numéro
64
Mois de parution
janvier 2026
Spécialité(s)
Résumé

Dans le petit monde des cartes et des équipements initialement destinés à une tout autre utilisation, mais pouvant faire office de très sympathiques plateformes de développement FPGA, la famille « Colorlight » est presque un classique. Ce matériel, initialement prévu pour être une carte de pilotage de panneaux à LED interfacée en Ethernet, a déjà été évoqué dans les pages de ce magazine, dans un excellent article de Fabien Marteau il y a quelques années [1]. Nous revenons ici sur le sujet, avec une approche différente et, surtout, une modification matérielle permettant d'en tirer vraiment le maximum...

Les listes de lecture

Python niveau débutant

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.

Au pays des algorithmes

11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.

Analyse de données en Python

10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture