Programme de Cryptographie Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème

Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Tout 82

Ven 29 Mar 2024 - Bienvenue,

Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe



Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Programme de Cryptographie EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
Programme de Cryptographie EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
Programme de Cryptographie EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Programme de Cryptographie EmptyVen 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Programme de Cryptographie EmptyVen 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Programme de Cryptographie EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Programme de Cryptographie EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Programme de Cryptographie EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Programme de Cryptographie EmptyJeu 15 Déc 2016 - 10:24 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois
Aucun utilisateur

Le Deal du moment : -23%
EVGA SuperNOVA 650 G6 – Alimentation PC 100% ...
Voir le deal
77.91 €

Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Programme de Cryptographie

4 participants

Aller en bas  Message [Page 1 sur 1]

1Programme de Cryptographie Empty Programme de Cryptographie Mar 29 Avr 2014 - 16:50

pito2901

pito2901
Passioné
Passioné

Salut à tous !

Voilà j'aimerais créer un programme pour convertir un texte en un langage codé

Sachant que chaque lettre sera converti en chiffre (avec A=1, B=2, Z=26), puis je souhaiterais choisir un nombre quelconque que l'on additionnera, genre 3, puis remettre les lettres correspondantes :

démonstration :

ZEBRE → 26.05.02.18.05

On ajoute 3

29.08.05.21.08, comme on a 29, on fait 29-26=3 ce qui donne :

03.08.05.24.08 → CHEUH

Évidemment je souhaiterai faire l'inverse, c'est à dire rentrer les nombres, le chiffre d'addition qui a été utilisé, puis il m'affiche le texte. C'est comme un programme de conversion...

Est-ce qu'un tel programme est possible sur Ti 82 Stats.fr  Question

Merci pour votre aide.



Dernière édition par pito2901 le Mer 30 Avr 2014 - 23:32, édité 1 fois

http://www.clictune.com/id=179469

2Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 17:46

Wistaro

Wistaro
Passioné
Passioné

Si tu veux, j'ai fait un programme qui permet de crypter/décrypter graphiquement un message écrit...

Pour ta méthode, je pense que c'est réalisable

https://www.youtube.com/user/Wistaro

3Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 18:05

pito2901

pito2901
Passioné
Passioné

Wistaro a écrit:permet de crypter/décrypter graphiquement un message écrit...

Qu'est ce que tu entends par là ?

http://www.clictune.com/id=179469

4Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 18:41

Wistaro

Wistaro
Passioné
Passioné

Tu rentre du texte, comme sur mon programme "TxTprint", il s'enregistre dans des pics.

Ensuite, tu peux crypter ce texte. L'image va être brouillée, en quelque sorte. Il sera impossible de trouver du texte, tu ne verras que des formes géométriques et des signes sans significations.

Un autre programme te permet de décrypter cette image étrange et de retrouver le texte d'origine

https://www.youtube.com/user/Wistaro

5Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 19:18

Linkakro

Linkakro
----------------------
----------------------

Stocker la chaîne dans une image est hors propos à cause de la demande initiale de cryptage numérique circulaire.
Néanmoins je confirme la possibilité du stockage d'une chaîne dans une Image.
Spoiler:

Le cryptage circulaire est simple à coder, surtout en TI-Basic, malgré l'étape circulaire. Je désigne par circulaire ou modulo ou encore wrapping le fait de ramener 27 à 1 quand on ajoute 1 à 26.
La conversion de la chaîne de caractères en nombres est plus pénible en TI-Basic.
Code:
ClrList L1 // cela suffira, pas besoin de dimensionner
Input Str1
Prompt A
"ABCD...Z->Str2
//bijection de chaque token à un nombre
length(Str1->L
For(X,1,L
sub(Str1,X,1) // un token
inString(Str2,Ans) // valeur associée au token
A+Ans // somme
Ans-26int((Ans-1)/26) // circulaire (modulo 26 des lettres), que tu codes comme tu veux
Ans->L1(X) //stockage de l'image de la valeur associée au token
End
" "->Str1
//bijection de la liste à la chaîne
For(X,1,L
Str1+sub(Str2,L1(X),1->Str1 // concatène
End
Str1 //résultat
J'optimise avec les opérations et fonctions des listes.
Code:
Input Str1
Prompt A
"ABCD...Z->Str2
length(Str1->L
A+seq(inString(Str2,sub(Str1,X,1)),X,1,L->L1 // extraction de chaque caractère puis ajoute A à chacun
L1-26int((L1-1)/26->L1 // circulaire (modulo 26 des lettres) de chaque terme de L1
" "->Str1
For(X,1,L
Str1+sub(Str2,L1(X),1->Str1 // concatène
End
Str1 //résultat
Evidemment on peut optimiser encore avec Ans au lieu de quelques instances de L1 mais comme ça tout le monde voit que c'est une liste.
On peut optimiser des choses différentes sachant que les bornes de fin des For() et seq() ne sont calculé qu'une seule fois en TI-Basic. Par exemple lire la longueur sans L ou encore utiliser une seule variable pour X et L.

EDIT : correction de la ligne du seq(). Deux fragments de code copiés n'étaient pas du tout à leur place dans le code.
Correction des modulos du calcul circulaire et ajout de la mention des 26 lettres.
Correction de la fin du seq() dont "L" manquait.



Dernière édition par Linkakro le Mar 29 Avr 2014 - 23:01, édité 3 fois

6Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 21:19

pito2901

pito2901
Passioné
Passioné

Dans le deuxième code, il me met erreur syntaxe avant le →L1 à la cinquième ligne, tu as sûrement oublié quelque chose.

et petite question, pourquoi mettre seulement ABCD ?

http://www.clictune.com/id=179469

7Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 22:31

Linkakro

Linkakro
----------------------
----------------------

J'avais copiés des fragments de code de l'autre programme n'importe comment. Modifié.
J'écris ABCD car je suis paresseux et que tu devines la suite. Et les modulos doivent être adaptés selon le nombre de caractères possibles.

Je signale maintenant que mes solutions basées sur la liste L1 ne supportent que 999 tokens maximum.
Il faut parcourir la chaîne une seule fois et calculer pour chaque token.
Code:
Input Str1
Prompt A
"ABCD...Z->Str2
" "->Str3
length(Str1->L
//bijection de chaque token à un nombre
For(X,1,L
sub(Str1,X,1
A+inString(Str2,Ans
Ans-26int((Ans-1)/26
Str3+sub(Str2,Ans,1->Str3
End
sub(Str3,2,L // résultat
Je vous épargne l'optimisation de ranger Str3 à la fin de Str1 (voire même progressivement dans Str1).

EDIT :
Suppression d'un ClrList innutile.
Ajout de l'affectation de L qui est nécessaire pour la dernière sous-chaine sub().



Dernière édition par Linkakro le Mer 30 Avr 2014 - 21:11, édité 1 fois

8Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 22:55

pito2901

pito2901
Passioné
Passioné

J'ai toujours erreur syntaxe avant le →L1 à la cinquième ligne

Rien à voir...:

http://www.clictune.com/id=179469

9Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 23:03

Linkakro

Linkakro
----------------------
----------------------

Cette fois j'avais oublié le L pour la borne de fin de la fonction seq().
Tant que j'y suis, je teste chaque programme dans la foulée. (et je cherche)

réponse au "Rien à voir...":

10Programme de Cryptographie Empty Re: Programme de Cryptographie Mar 29 Avr 2014 - 23:19

pito2901

pito2901
Passioné
Passioné

Il met erreur argument après sub(Str1,X,1

Rien à voir...:

http://www.clictune.com/id=179469

11Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 11:24

m@thieu41

m@thieu41
----------------------
----------------------

Une erreur argument?  Question 
Je ne comprends pas: la syntaxe de sub c'est bien: sub(Chaine,debut,longueur), donc là tu respectes les arguments...
A la rigueur une erreur domaine si la valeur de X n'est pas correcte, ou indéfini si Str1 est vide, mais sinon...

Tu as bien rentré la ligne?
Donne la valeur de Str1 et de X, sait on jamais...

12Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 12:04

pito2901

pito2901
Passioné
Passioné

J'ai mis A pour Str1 et 3 pour X

http://www.clictune.com/id=179469

13Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 12:28

m@thieu41

m@thieu41
----------------------
----------------------

Mais A n'est pas une chaine, donc c'est sur que ça ne marchera pas...

Si tu voulais dire la variable A: ce n'est pas possible, il faut que tu utilises une variable de chaine à la place ([var],[7]).
Si tu voulais la lettre A comme chaine: il faut mettre des guillemets: sub("A",3,1), mais dans ce cas c'est absurde: tu auras une erreur domaine...

A moins que tu veilles dire que str1 contienne "A" et X=3, dans ce cas ton erreur n'est pas logique, tu aurais du avoir une erreur dimension...

14Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 12:52

pito2901

pito2901
Passioné
Passioné

Je comprends pas...

Il me met ? donc je tape A pour qu'il soit dans la chaîne 1
Ensuite il met A? donc je mets 3
et là il met erreur argument, mais je me rends compte qu'on ne définie rien pour X

http://www.clictune.com/id=179469

15Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 13:44

m@thieu41

m@thieu41
----------------------
----------------------

X correspond au numéro de la lettre du mot, il est géré par la boucle for:
For(X,1,length(Str1

Input mets les guillemets nécessaires aux chaines, donc normalement pas de problème à ce niveau.

Donc ton erreur me parait bizarre, donne moi les valeurs de Str1 et de X après l'erreur stp.


[EDIT] Ceci a été corrigé par Linka par édition.
Par contre Linka:
Code:
sub(Str3,2,L // résultat
Je ne vois nul part que tu initialises L...
Code:
sub(Str3,2,lenght(Str1 // résultat



Dernière édition par m@thieu41 le Mer 30 Avr 2014 - 21:12, édité 1 fois

16Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 14:05

pito2901

pito2901
Passioné
Passioné

Et bien chaîne 1 → A
Et X → 1

http://www.clictune.com/id=179469

17Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 14:43

m@thieu41

m@thieu41
----------------------
----------------------

Et ça fait une erreur?

Bizarre...

Essaye (sur l'écran standard hors programme) la commande:
sub("A",1,1

18Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 14:45

pito2901

pito2901
Passioné
Passioné

erreur syntaxe sur le premier 1, sub → c'est bien suite( ?

http://www.clictune.com/id=179469

19Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 14:50

m@thieu41

m@thieu41
----------------------
----------------------

Aïe le problème vient de là Wink
sub = sous-chaine en français.

Regarde sur le manuel fait par Persalteas/Linka si tu as un doute à propos d'une traduction : http://www.tout82.org/t151-catalogue-du-ti-basic-z80

suite = seq
seq(expression,variable,debut,fin
permet d'obtenir une suite calculée à partir de expression en fonction de variable allant de debut à fin.
Ex:
suite(A²,A,1,3
Donne:
{1,4,9

20Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 15:02

pito2901

pito2901
Passioné
Passioné

Maintenant erreur type donnée après Rép-26ent((Rép-1)/26→L1

http://www.clictune.com/id=179469

21Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 15:45

m@thieu41

m@thieu41
----------------------
----------------------

Code:
sub(Str1,X,1
A+inString(Str2,Ans
Ans-26int((Ans-1)/26
Il n'y a pas : Rép-26ent((Rép-1)/26→L1
Enlève →L1
En effet, l'algo de Linka procède ainsi:
Il isole la lettre;
Il calcule son numéro (en rajoutant ce qui doit être rajouté);
Il en déduit la lettre correspondante et la stocke à la suite du mot codé.

Don nul besoin de liste. (contrairement au 2nd prgm qu'il avait proposé).

22Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 17:50

pito2901

pito2901
Passioné
Passioné

Bravo à vous deux ! Merci.

EDIT : Encore un problème → il m'affiche que le codage de la première lettre, on ne peut pas entrer un texte entier ?

http://www.clictune.com/id=179469

23Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 20:21

m@thieu41

m@thieu41
----------------------
----------------------

Tu as bien mis le For et le End?
Code:
For(X,1,length(Str1
...
End

24Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 21:03

pito2901

pito2901
Passioné
Passioné

Oui.

http://www.clictune.com/id=179469

25Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 21:15

m@thieu41

m@thieu41
----------------------
----------------------

Heu... tu as sur ta calto le dernier code de Linka après sa dernière édition?
Je préfère demander vu que Linka a édité afin de corriger l'affichage du résultat.

Si oui:
donne moi la valeur de X et de L après l'utilisation du prgm (ainsi que la chaine saisie en entrée).

26Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 21:26

Linkakro

Linkakro
----------------------
----------------------

J'avais bien commis diverses erreurs d'étourderies qui sont maintenant corrigées, et j'ai tout testé moi-même.

seq(=suite(
sub(=sous-chaîne(
inString=carChaîne(
int=partEnt
iPart=ent(

J'imagine que tu peux avoir confondu Str1 et Str3 dans les calculs de longueur length(Str1) et L.

27Programme de Cryptographie Empty Re: Programme de Cryptographie Mer 30 Avr 2014 - 23:28

pito2901

pito2901
Passioné
Passioné

int j'ai juste mis partEnt, j'édite mon programme et je vous dis. ← c'était une autre erreur de traduction
puis j'ai oublié la ligne de commande qui définie la longueur de la chaîne stockée dans L...

Voilà, à présent ça fonctionne merci beaucoup !

Je poste ce programme dans les programmes des internautes.

http://www.clictune.com/id=179469

Contenu sponsorisé



Revenir en haut  Message [Page 1 sur 1]

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum