From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Curriculum and Labs for Engineering Education

cancel
Showing results for 
Search instead for 
Did you mean: 

Challenge mathématique #49 : chiffre de Vigenère

 

330px-Vigenere.jpg

En mars un déchiffrement pour se réchauffer en ce début de printemps.

 

Monsieur Blaise de Vigenère a inventé un modèle de chiffrement assez simple décrit dans un de ses livres en 1586. Le principe est d’utiliser une table de correspondance des lettres de l’alphabet (on dit substitution polyalphabétique). A l’époque il n’avait pas LabVIEW malheureusement. Manuellement cette tâche est longue et fastidieuse.

 

 

Le principe de ce chiffrement est décrit ici : https://fr.wikipedia.org/wiki/Chiffre_de_Vigen%C3%A8re

 

En gros il s’agit d’un tableau I,J ou les lettres de l’alphabet sont disposés en ligne pour la clé et colonnes pour le texte en clair. Puis on positionne le mot clé qui se répète en boucle en dessous du texte (sous chaque lettre). Enfin sur la ligne du caractère de la clé on recherche la colonne du caractère en clair correspondant au caractère chiffré qui est au-dessus de cette clé. (J’admets que ce n’est pas facile en le lisant, c’est mieux avec un exemple comme celui donné sur Wikipédia.)

 

Le but de ce défi ne sera pas la rapidité. Mais de mettre en clair cette phrase en réalisant un code LabVIEW que vous aurez écrit et basé sur une table de Vigenère.

 

w'etnmrptem: <<vdiv govn jmay gfmm pw aooxbyweipi mx hps fnxeyps evvw rztsz ipczrjopqa ? nemv xinxeuoze zp pbmbmytpfm iy ptrbbm tkfr pwbijtr eza kkzdjza>>

 

La clé de votre programme sera une entrée de chaine. Dans notre exemple il s’agira de LABVIEW (en majuscules). Ça c'est original...

 

Le code devra être suffisamment complet pour être réutilisé. Avec au minimum une entrée et une sortie.

Ainsi l’entrée sera une commande chaine dans laquelle il est possible de copier-coller un texte chiffré. La sortie un indicateur qui présente le résultat en clair (peut être en majuscules ou minuscules). Cependant, il faudra prendre en compte la ponctuation, espaces et les caractères spéciaux, qui ne sont pas dans les lettres de l’alphabet. Il suffira de les replacer au même endroit dans le décodage.

Dans votre code en dehors de ces deux objets d'E/S, vous pouvez ajouter tout ce qui vous semble nécessaire.

 

En peu de temps et d’astuces tout le monde devrait y arriver.

 

Un gagnant sera tiré au sort (avec un jeu de hasard) parmi les bonnes réponses avec un code validé. Il gagnera un max des goodies.

 

Pour participer envoyez simplement votre code LabVIEW nommé CH49_votre pseudo.vi (peu importe la version) avant le 2 Mai 2018 sur mon adresse emmanuel.roset@ni.com.

Pensez à envoyer un message du type "code envoyé" (ou tout autre message) sur la communauté pour que je puisse regarder dans mes Emails au cas où.

 

Ceux qui veulent aller plus loin peuvent faire l’inverse et encoder un texte s’ils le souhaitent.

Les codes seront mis en ligne à la fin du mois.

 

J'ajoute la face avant du code de _Bleses qui contient une animation très ludique Smiley Happy beau boulot de partage !

Exemple.png

 

 

Download All
Comments
ben64
Trusted Enthusiast
Trusted Enthusiast
on

Peut-on utiliser les vi des librairies OpenG pour les challenges?

emmanuel-fr
Member
Member
on

Bonjour, non pas de OpenG ou de DLL, ni de Nœuds mathématiques, juste les fonctions natives. Le but est le partage du code et les bonnes pratiques d'écriture classiques. Smiley Happy

ben64
Trusted Enthusiast
Trusted Enthusiast
on

C'est compris, merci.

ben64
Trusted Enthusiast
Trusted Enthusiast
on

Code envoyé, j'espère que cela me permettra de participer au tirage pour obtenir des goodies!

Didier_Bleses
Member
Member
on

Code envoyé

PhilB58
Active Participant
Active Participant
on

Mais pas si viiite! Voilà seulement que je vois qu'il y a un nouveau challenge 🙂
J'espère que je trouverai plus de temps que le mois passé! 😞

guillaumeMa
Member
Member
on

Code envoyé

emmanuel-fr
Member
Member
on

Bonjour,

J'avais oublié d'indiquer de nommer le fichier CH49_votre pseudo.vi sinon j'ai du mal a relier le pseudo avec votre Email. Merci !

Ça peux aider pour recontacter l'auteur gagnant !! Smiley Happy

emmanuel-fr
Member
Member
on

Merci Didier_Bleses pour le code avec une super animation de la table, un partage de code qui va être apprécié Smiley Wink

PhilB58
Active Participant
Active Participant
on

Code envoyé Smiley Wink

Et comme ce sont toujours des goodies, je ne participe pas au tirage Smiley Happy

Alahel17
Member
Member
on

Code envoyé Smiley Very Happy

Chpere
Member
Member
on

Code envoyé

ben64
Trusted Enthusiast
Trusted Enthusiast
on

Sur la page Wikipedia sur Chiffre de Vigenère on y précise qu'il y a eu une période où des passages entiers d'oeuvre littéraire étaient utilisés pour chiffrer les plus grands secrets. Voici donc une version modifié de mon code permettant d'utiliser de tel passages comme clé.

 

Code envoyé.

Julien_V.
Active Participant
Active Participant
on

Bonjour,

 

Code envoyé.

Cordialement,

Julien V.

[FIRST]

[LabVIEW Programming]


[FIRST]

ML927
Active Participant
Active Participant
on

Hello,

 

Code envoyé 😉

CLAMaxime -- Kudos are a great way to say thank you
Yacine26
Member
Member
on

Bonjour,

 

Code envoyé.

 

Cordialement,
Yacine26
Damien21
Member
Member
on

Bonjour,

Code envoyé

Damien M
Ingénieur moyens d'essais | Centum-Adeneo

emmanuel-fr
Member
Member
on

Bonjour,

Bientôt les résultats et le tirage, ne vous inquiétez pas

(un peu busy )

 

Emmanuel

emmanuel-fr
Member
Member
on

C'est le moment de publier les résultats et codes et de voir si tout le monde est dans la liste des participants :

 

1 Ch49_Chiffre_Vigenère_Ben64 OK  
2 Challenge49_Bleses OK  
3 CH49_guillaumeMa OK  
4 CH49_Alahel17 OK  
5 CH49_Chpere OK  
6 CH49_Julien_V OK  
7 CH49_ML927 OK  
8 CH49_Yacine26.vi OK  
9  CH_49_Damien21 OK  
       
  CH49_PhilB58.vi OK à déjà gagné

 

Si tout le monde est présent alors tirage Mercredi en utilisant les chiffres du Loto.

Les codes sont en pièce jointe de l'énoncé

ML927
Active Participant
Active Participant
on

Chapeau Bleses, magnifique travail d'animation ! Smiley Happy

CLAMaxime -- Kudos are a great way to say thank you
emmanuel-fr
Member
Member
on

Bon, il est temps de regarder le tirage du loto de mercredi. Surtout le numéro chance, c'est celui que nous utilisons quand il y a moins de 10 candidats.

MERCREDI 18/06/2018 18 11 38 17 46 numéro chance 8

 

Donc...... c'est Yacine26 qui recevra des petits cadeaux goodies surprise tel que clé USB en forme de chassis CompactRIO et autres calculettes, tapis de souris LabVIEW etc...

 

Bravo a lui

Et merci a tous pour les participations et partages de codes

 

 

Yacine26
Member
Member
on

Merci beaucoup !

🙂

Bravo également aux autres participants 😉

 

Contributors