GNU/Linux Magazine N°
Numéro
235

Explorez Enigma !

Temporalité
Mars 2020
Image v3
Explorez Enigma !
Article mis en avant

Résumé

La machine Enigma fut utilisée par les Allemands, pendant la Seconde Guerre mondiale, pour chiffrer des messages secrets. Alan Turing est connu pour avoir fortement contribué à la compréhension du fonctionnement du chiffrement de cette machine. Dans cet article, je vais présenter le modèle M3 de la machine Enigma et proposer une simulation de cette machine utilisant le langage Python.

Dans ce numéro...


L'autre jour, au restaurant, j'étais attablé derrière une table de développeurs. J'étais donc incognito, et c'est alors que d'une oreille distraite je pus les entendre fustiger les choix patronaux d'employer des développeurs indiens. Et là je me dis : tiens, voilà un bon sujet d'édito ! En effet, cela fait déjà quelque temps que le développeur indien sévit sur nos terres... mais que lui reproche-t-on au juste ?
Le terminal est un élément du système qui n'évolue pas. À quand remonte la dernière mise à jour de votre terminal apportant de nouvelles fonctionnalités ? On peut bien entendu légitimement se poser la question de l'intérêt de nouvelles fonctionnalités, mais quoi de mieux que de tester un terminal « nouvelle génération » pour être certain que notre bon vieux terminal a encore de belles années devant lui ?
Après avoir vu comment implémenter un simulateur de machine Enigma en programmation impérative [1], je vous propose d'étudier des pistes pour parvenir à une version orientée objet.
Nous allons dans cet article revenir sur une structure de données très importante en informatique : les arbres binaires. Après quelques rappels sur l’ordre des algorithmes, les algorithmes de tri, les algorithmes de recherche d’éléments et le rééquilibrage des arbres, nous examinerons le code d’une implémentation en C d’une gestion d’arbres binaires équilibrés.
Pour interagir avec Google Calendar, il y a bien entendu l'API fournie par Google. Mais tout le monde ne maîtrise pas nécessairement les langages supportés ou n'a simplement pas le temps de se lancer dans un développement un peu long. Dans cet article, je vous propose de réaliser rapidement un petit script Bash interrogeant un agenda Google.
Au fil de trois articles, je vous propose d'apprendre à développer sous Android en nous attelant à la création d'un jeu. Pour cela, nous utiliserons l’environnement fourni par Google, l'Android Studio.
Si le code est la matière première de tout développeur, il utilise aussi de nombreux outils pour travailler celle-ci. Comme tout artisan ou technicien, c’est souvent la bonne connaissance ainsi que la bonne maîtrise de ces outils qui vont lui permettre de non seulement effectuer son travail avec efficacité et de manière confortable, mais aussi parfois d’accomplir de véritables exploits, qui auraient été humainement impossibles sans l’outillage approprié. Faisons donc ici l’inventaire de ces outils, et du rôle que chacun joue dans le quotidien d’un développeur.
Par un contrôle fin des accès aux fichiers, les logiciels de type Mandatory Access Control (MAC) permettent de lutter efficacement contre le piratage et le vol de données. Tomoyo-linux propose une alternative simple d’utilisation à SELinux.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body