GithubHelp home page GithubHelp logo

jmlboeing747 / lorenz_sz Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 1.46 MB

Programme de chiffrement au nom de la célèbre machine de chiffrement allemande (Pas une réplique)

C# 67.64% HTML 30.54% CSS 0.88% JavaScript 0.05% Inno Setup 0.89%
cipher

lorenz_sz's Introduction

  • 👋 Salut ! Je m'appelle @JMLBoeing747 et je suis très enchanté de vous connaitre !

  • 👀 Je suis intéressé par

    • les avions ✈️ (tant les gros que les petits, les anciens comme les modernes)
    • les trains de tous genres 🚅 :
      • passagers ou fret
      • locomotives ou remorques
      • électriques ou diesel (mais électrique c'est meilleur pour la planète)
    • les métros 🚇 (particulièrement le métro de Montréal)
      • À pneus ou à roues d'acier
      • Avec peu ou beaucoup de monde (s'il y a beaucoup de monde, je préfère être avec des amis)
    • les lignes d'autobus 🚌
    • le REM
    • la musique 🎵 (piano notamment, mais je n'en reste pas là !)
    • les excursions et les explorations urbaines et naturelles ⛰️
    • l'humour (il faudra qu'on se parle si vous voulez en savoir plus)
    • l'histoire
    • les langues
    • les maths 💯 (ouf je l'avais presque oublié celui-là, et pourtant j'en suis un fan)
    • l'art (peintures et dessins au crayon, au pastel, à la mine, au marqueur, à la craie, qui représentent du concret et de l'abstrait)
    • la mécanique ⚙️ (automobile, ferroviaire, aéronautique, ...)
    • et bien sûr, l'informatique. 💻
  • 🌱 Je suis en train d'étudier

    • le merveilleux et mystérieux domaine de l'informatique
    • la cryptologie
    • et sans oublier mon domaine préféré : le génie mécanique.
  • 💞️ Présentement, je collabore avec quelques amis en informatique pour les assister dans leurs TD (travaux dirigés) et TP (Travaux pratiques), en plus de les aider à réaliser certains de leurs rêves programmatiques les plus fous. Mis à part cela, je fais de temps en temps des trucs de programmation et je crée des petits jeux, outils et diverses affaires de la sorte pour m'aider ou pour passer le temps.

  • 📫 Contactez-moi si vous désirez de l'aide ou de l'info sur quelque domaine ou concept mentionné précédemment, et ce sera avec plaisir que je vous répondrerai dans les plus brefs délais, et ce, au meilleur de ma connaissance. Sinon, si ce n'est pas pour me demander de l'aide, apprenez-moi des trucs si l'intuition vous le dit, parce que comme on le dit, on apprend tous les jours, même après notre mort (quoi ?).

Et pourtant, je sais seulement que je ne sais rien (Socrate)

lorenz_sz's People

Contributors

jmlboeing747 avatar kaneda-akira avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

lorenz_sz's Issues

Mode court et long message

Nous pensons diviser le mode chiffrement en deux sous-modes différents :

  • Message court
  • Message long

Le premier s'agit du mode de chiffrement actuellement implémenté dans le programme.

C'est le deuxième qui sera donc à implémenter. Ce dernier permettra de chiffrer un long message qui sera ensuite inscrit dans un fichier texte séparé. Le but est de pouvoir faciliter le transfert du chiffrement d'une longueur considérable au destinataire sans avoir à le copier-coller.
En effet, il s'est révélé que le terminal Windows ne peut coller qu'un maximum de caractères. Ainsi, un long chiffrement copié ne pourrait pas être collé dans son entièreté au sein du terminal, ce qui engendrerait inéluctablement des erreurs de déchiffrement.

Néanmoins, force est de constater que l'idée n'est pas officielle et que d'autres propositions sont présentes sur la table, en cours d'analyse.

Nous invitons à vous manifester si le cœur vous en dit, ou s'il y a une nécessité de clarifier ou d'améliorer le présent Issue.

Migration vers .NET 6.0

Migration de .NET 5.0 vers 6.0

Depuis le dévoilement de la nouvelle version de .NET 6 en novembre 2021, ainsi que de l'approche de la fin du support de .NET 5 pour mai 2022 (voir ce lien), je prévois convertir le programme en cette nouvelle version afin qu'il puisse bénéficier des nouvelles fonctionnalités, tout en étant maintenable pour les prochaines années.

  • Adaptation des fichiers source (s'il y a lieu)
  • Test de compilation avec la plateforme 6.0 (après l'adaptation des fichiers de solution .sln)
  • Sauvegarde de la dernière version compilée du programme sous .NET 5.0 (À voir)

Mise à jour de la documentation lzhelp

Nous devons mettre à jour le fichier d'aide de LORENZ afin d'intégrer les changements à la version 2.0. Il faudra notamment y insérer :

  • Une section sur le fonctionnement de l'historique et des catégories
  • Une section sur les options de chiffrement (répertoire des chiffrements, compression, racines, …)
  • La nouvelle façon de quitter les menus et de terminer l'écriture d'un message (à chiffrer et à déchiffrer)
  • Une section sur les nouveaux fichiers ainsi que les nouveaux paramètres qui y sont inscrits

Normalement, il ne devrait rien manquer en ce qui a trait aux nouvelles fonctionnalités, mais je veillerai à rajouter les points manquants dès le moment que je serai au courant.

Compression du chiffrement

Le chiffrement Lorenz généré pour n'importe quel message demeure bien long.
En effet, pour une simple phrase comme

bonjour

devient, lorsque chiffré

V8HA8SD22HPAPVL2H2FF2VSAPPDPFH288SDSSLV82SHLASPD8DDVLPLF88H2PADP8SAHDDPFPSDVHDAHPDDV28LP2P2PDA8AH8LL8PHVLSP2AH2VFADHADS8PFH88F8HH8LLD8A2VAL2

C'est dans cette optique que j'ai pensé implémenter un algorithme de compression du message avant son chiffrement.

Pour cela, les mots répétés seraient alors remplacés par un caractère ou un ensemble de caractères particulier. Cet ensemble composé d'un caractère spécial de départ contiendra un index de référence au mot répété. Cet index fera référence à une table de compression (la CT ou Compression Table), placée en début de chiffrement.

Historique de messages

Implémentation d'un historique de messages

Bonjour ou bonsoir,
dépendant du moment que vous lisez cela,

Pour ce premier Issue, je désire, sur la demande d'un ami qui est un fervent utilisateur de LORENZ, ajouter une fonctionnalité implémentant un historique de messages, ou, en d'autres mots, un historique de conversation.

Cet historique permettrait de consulter d'anciens messages transmis à l'utilisateur dans un objectif de remémoration.

Toute autre suggestion en lien avec ce Issue est la bienvenue. Je serais ouvert à toute idée pouvant m'aider à réaliser cet ajout.

Message à lignes multiples

Écriture d'un message sur plusieurs lignes

Durant les premiers essais de l'application, j'ai toujours rêvé d'écrire sur plusieurs lignes afin d'inclure des paragraphes de texte à chiffrer.

Toute suggestion est la bienvenue. Je suis ouvert à toute proposition pouvant réaliser cette implémentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.