| Blue fish encryptor |
| Auteur |
Message |
ld
Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
|
Posté le : Mer 16 Mar 2011, 10:51
|
|
|
Et voilà ! V 2.4 Merci Linkakro ! 197 octets au lieu de 405 sans les lignes facultatives ! 
Et çà fonctionne du tonnerre !
Facultatif
| Code | :AxesNAff:Polaire
:"4ln(2téta->r1
:ZMinMax
:Texte(20,55,"BLUEFISH
:Texte(40,30,"ENCRIPTOR
:EffVar r1:Fonct:AxesAff:ZStandard |
| Code | :"ABCDEFGHIJKLMNOPQRSTUVWXYZ?! ',.0123456789->Chaîne0 ----- (Un espace entre ! et ' ).
:Input Chaîne1
:Input "CLEF ",C
:Input "1CODE 2DECODE ",D
:D-3(D=2->D
:C->NbrAléat
:longueur(Chaîne1->L
:" ->Chaîne2 --------- (Un espace entre " et -> ).
:EffEcr
:For(A,1,L
:DentAléat(1,42)+carChaîne(Chaîne0,sous-Chaîne(Chaîne1,A,1
:Chaîne2+sous-Chaîne(Chaîne0,Rép-42partEnt((Rép-1)/42),1->Chaîne2
:Output(8,1,L-A
:End
:Pause chaîne2 |
Str1 = Chaîne1
rand = NbrAléat
randInt = entAléat
length = longueur
inString = carChaîne
sub = sous-Chaîne
int = partEnt
---------------------- Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie |
 |
|
| |
AlexRider38
Autorisation : Membre
Nb de messages : 137
Inscrit le : Ven 26 Mar 2010, 17:13
|
Posté le : Mer 16 Mar 2011, 15:36
|
|
|
poste
+1
|
 |
|
| |
tarken
Autorisation : Membre
Nb de messages : 22
Inscrit le : Mar 15 Sep 2009, 15:04
|
Posté le : Jeu 17 Mar 2011, 19:12
|
|
|
Ouais vas-y ! Ça a l'air d'être du lourd.
|
 |
|
| |
azerty1
Autorisation : Membre
Nb de messages : 438
Inscrit le : Dim 12 Déc 2010, 20:44
|
Posté le : Ven 18 Mar 2011, 15:42
|
|
|
Postes! Cela pourrait évidemment être très utile! 
---------------------- Ti-Connect 64bits
PROTECT |
 |
|
| |
Métalocif
Autorisation : Membre
Nb de messages : 92
Inscrit le : Lun 10 Mai 2010, 19:24
|
Posté le : Ven 18 Mar 2011, 17:13
|
|
|
Du cryptage sur TI? Un grand l.davin !
---------------------- "On ne ment jamais autant qu'avant les élections, pendant la guerre et après la chasse." Clémenceau |
 |
|
| |
harven
Autorisation : Membre
Nb de messages : 99
Inscrit le : Mar 24 Aoû 2010, 10:10
|
Posté le : Ven 18 Mar 2011, 18:11
|
|
|
Moi aussi je suis pour que tu le post mais je ne comprend pas le principe du programme :/
---------------------- Programmer en progression
Loading.....Bip.....Bip.....
Programme terminer
Harven |
 |
|
| |
Akmdad
Autorisation : Membre
Nb de messages : 713
Inscrit le : Mar 22 Jui 2010, 21:03
|
Posté le : Ven 18 Mar 2011, 23:49
|
|
|
poste!!
j'ai dja ait des programmes de cryptages qui ne font que remplacer des lettres a d'autres lettres, puis en mettant le tout a l'envers...
---------------------- retrouvez moi sur twitter!!!
j'ai une ti 82 stats fr et une ti89 titanium  |
 |
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Sam 19 Mar 2011, 8:26
|
|
|
d'habitude je code tout avec le système de césar, ça transforme le message en une suite de chiffres avec lesquels on peut faire tout plein d'opérations mathématiques pour brouiller...
bien sur je ne mets pas les lettres dans l'ordre dans la clé de décryptage, ce serait trop facile...
ps: je vois qu'il y a trois membres sur le fofo... venez sur le tchat!
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Persalteas
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
|
Posté le : Sam 19 Mar 2011, 8:35
|
|
|
bonne idée le mode polaire. on fait de très jolis fonds d'écran avec.
|
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Dim 20 Mar 2011, 23:12
|
|
|
Je suis très curieux de connaître cet algorithme Epates moi !
Tu me donnes envie de bricoler sur ma calcu la même chose que ma spé math sur ordi. Même cela ne sera sûrement pas aussi bien que ton algorithme.
Et j'ai aussi une idée originale que je n'ai pas appliqué comme voulu faute de connaissances en prog d'ordi. Reste à voir si ça sert à quelque chose sur calto.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 11 Juil 2012, 18:30
|
|
|
EDIT 6/8/12 pour ceux qui débarquent : un message de ld (autrefois appelé l.davin) ci-dessus a été supprimmé (par son propriétaire semble-t-il). Il présentait la version initiale du programme.
--------
version 2
| Code | // j'ai supprimmé ce qui me semblait innutile
0->rand // réinitialise les aléatoires // version 2.1
"ABCDEFGHIJKLMNOPQRSTUVWXYZ?! ',.0123456789->Str0
Input Str1
Input "CLEF ",C
1->D
Menu("","CODE",1,"DECODE",2
Lbl 2
2->D
Lbl 1
C->rand // version 2.2
randInt(0,1,C // innutile de faire varier l'intervalle
length(Str1->L
ClrList L1 // nécessaire
For(A,1,L
inString(Str0,sub(Str1,A,1->L1(A // remplace la boucle de recherche
End
If D=1:L1+randInt(1,42,L->L1
If D=2:L1-randInt(1,42,L->L1 // il y avait un L2 au lieu de L1
" "->Str1
ClrHome
For(A,1,L
Str1+sub(Str0,L1(A)-42int((L1(A)-1)/42),1)->Str1 // pseudo modulo (excluant 0)
Output(8,1,L-A
End
Pause Str1 |
Tu comptes sur l'initialisation des aléatoires pour que la liste des constantes ajoûtées à celle du texte soit difficile à prévoir mais unique pour chaque valeur de clé.
Il suffit d'initialiser rand pour que le reste fonctionne. (rand=NbrAléat)
Par "modulo excluant 0" je désigne l'opération que nos deux versions effectuent, et plus particulièrement son expression par la division euclidienne.
Le modulo pouvait aussi être simplifié avec
L1(A)-42(42<L1(A))+42(1>L1(A))
Je propose d'initialiser les aléatoires avec la valeur de la clé.
Ainsi il suffit de supprimmer ma première ligne puis d'écrire C->rand après Input. (voir les commentaires "version 2.1" et "version 2.2")
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mer 11 Juil 2012, 23:52
|
|
|
EDIT 6/8/12 : un message ci-dessus a été supprimé o_O
========
L'algorithme des aléatoires des TI_Z80 demeure inconnu à ce jour mais nous avons effectués diverses recherches.
https://espace-ti.forumactif.com/t699-fonction-rand-comment-fonctionne-t-elle-vraiment?highlight=rand
https://tout82.pages-perso.free.fr/forum/sujet.php?sujet=1043
http:// **un sujet de ce forum que je ne retrouve pas**
========
Hélas "Input rand" ne fonctionne pas.
La fusion des boucle est une excellente idée. (comme quoi c'est une équipe qui permet d'avancer)
Je viens d'avoir l'idée d'associer 1 ou -1 à D pour utiliser D dans un unique calcul au lieu d'utiliser deux If.
version 2.3 (pour une fois pas testée)
| Code | // on pourra remettre les fioritures de présentation
"ABCDEFGHIJKLMNOPQRSTUVWXYZ?! ',.0123456789->Str0
Input Str1
Input "CLEF ",C
1->D
Menu("","CODE",1,"DECODE",2
Lbl 2
-1->D
Lbl 1
C->rand
randInt(0,1,C
length(Str1->L
" "->Str2
ClrHome
For(A,1,L
inString(Str0,sub(Str1,A,1->B
B+DrandInt(1,42->B
Str2+sub(Str0,B-42int((B-1)/42),1)->Str2
Output(8,1,L-A
End
Pause Str1 |
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
ld
Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
|
Posté le : Jeu 12 Juil 2012, 12:41
|
|
|
Et voilà ! V 2.4 Merci Linkakro ! 197 octets au lieu de 405 sans les lignes facultatives ! 
Et çà fonctionne du tonnerre !
Facultatif
| Code | :AxesNAff:Polaire
:"4ln(2téta->r1
:ZMinMax
:Texte(20,55,"BLUEFISH
:Texte(40,30,"ENCRIPTOR
:EffVar r1:Fonct:AxesAff:ZStandard |
| Code | :"ABCDEFGHIJKLMNOPQRSTUVWXYZ?! ',.0123456789->Chaîne0 ----- (Un espace entre ! et ' ).
:Input Chaîne1
:Input "CLEF ",C
:Input "1CODE 2DECODE ",D
:D-3(D=2->D
:C->NbrAléat
:longueur(Chaîne1->L
:" ->Chaîne2 --------- (Un espace entre " et -> ).
:EffEcr
:For(A,1,L
:DentAléat(1,42)+carChaîne(Chaîne0,sous-Chaîne(Chaîne1,A,1
:Chaîne2+sous-Chaîne(Chaîne0,Rép-42partEnt((Rép-1)/42),1->Chaîne2
:Output(8,1,L-A
:End
:Pause chaîne2 |
Str1 = Chaîne1
rand = NbrAléat
randInt = entAléat
length = longueur
inString = carChaîne
sub = sous-Chaîne
int = partEnt
---------------------- Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 12 Juil 2012, 14:04
|
|
|
Bien !
Cependant tu n'as pas besoin de la liste L1 : regarde ma v 2.3 comme exemple.
Tu peux utiliser une variable numérique, ou même Rép/Ans et ne pas préparer la liste.
Lorsque tu veux vider la liste, il est risqué d'utiliser EffVar : il faudra définir la variable avant de pouvoir de nouveau la manipuler.
Il vaut mieux utiliser EffList qui vide la liste.
Je préfère le Menu au Input pour contrôler le codage/décodage, mais fais comme tu veux, ça marche bien comme tu as fais.
V 2.4.2
| Code | AxesNAff
Polaire
"4ln(2téta->r1
ZMinMax
Texte(20,55,"BLUEFISH
Texte(40,30,"ENCRIPTOR
EffVar r1:Fonct:AxesAff:ZStandard
"ABCDEFGHIJKLMNOPQRSTUVWXYZ?! ',.0123456789->Chaîne0
Input Chaîne1
Input "CLEF ",C
Input "1CODE 2DECODE ",D
D-3(D=2->D
C->NbrAléat
longueur(Chaîne1->L
" ->Chaîne2
EffEcr
For(A,1,L
DentAléat(1,42)+carChaîne(Chaîne0,sous-Chaîne(Chaîne1,A,1
Chaîne2+sous-Chaîne(Chaîne0,Rép-42partEnt((Rép-1)/42),1->Chaîne2
Output(8,1,L-A
End
Pause chaîne2 |
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
blg_flg
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
|
Posté le : Ven 13 Juil 2012, 16:02
|
|
|
WOUAH ! Quel beau flood !
Ça m'arrive souvent en ce moment (d'être seul, pas de flooder, hein ), bien que je ne poste pas pour ça. 
J'ai l'impression que tout le monde va sur Espace TI maintenant. 
Et il n'y a pas grand monde sur le chat (voir ma signature) non plus.
|
 |
|
| |
tapenad
Autorisation : Membre
Nb de messages : 197
Inscrit le : Jeu 17 Nov 2011, 13:20
|
Posté le : Ven 13 Juil 2012, 16:44
|
|
|
pareil pour moi: un signe qui ne trompe pas : je vais sur espace ti puis sur tout82 quand je me connecte 
---------------------- L’erreur est humaine, mais pour provoquer une vraie catastrophe, il faut un ordinateur.
je suis premier!!!
je m'aime. |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Ven 13 Juil 2012, 17:45
|
|
|
Je doit être le seul mais... je squatte presque que tout82!
(pour ça que je n'ai rien à faire de mes journées )
Pour le programme je le trouve... Enorme
Associé à https://tout82.pages-perso.free.fr/forum/sujet.php?sujet=3328 de maxence on pourra crypter ses programme
Il reste quand même une ligne de ton programme que je ne comprend qu'à moitié et j'aimerai une confirmation.
| Code |
sous-Chaîne(Chaîne0,Rép-42partEnt((Rép-1)/42)
|
cette ligne soustrait 42 si la valeur est supérieure à 42?
|
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 13 Juil 2012, 17:57
|
|
|
Son équvalent conditionnel (dans le cas précis de ce programme) est :
Rép-42(42<Rép)+42(1>Rép)
Donc oui cela enlève 42 si c'est suppérieur à 42, et cela ajoute 42 si c'est inférieur à 1.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 13 Juil 2012, 22:48
|
|
|
caractère inconnu :
La fonction inString/carChaîne renvoie 0 lorsqu'elle ne trouve pas la seconde chaîne dans la première.
Et le 0 se transforme en 42 lors du modulo d'affichage, d'où le caractère "9" après le décryptage.
Modification d'un programme via un autre :
Il faut de l'assembleur ou coller manuellement une chaine de caractères dans un programme.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
ld
Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
|
Posté le : Lun 16 Juil 2012, 17:56
|
|
|
Question:
Il y a 96 x 64 pixels sur l'écran, soit 6144.
Si on divise ce nombre par 8. Puisqu'il y a 8 bits dans un octet on trouve 768. La taille d'une image est de 764. Cela aurait'il un rapport ?
---------------------- Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie |
 |
|
| |
matrefeytontias
Autorisation : Membre
Nb de messages : 109
Inscrit le : Lun 25 Jui 2012, 15:51
|
Posté le : Lun 16 Juil 2012, 19:22
|
|
|
En fait les images en Basic ne font que 96*63 pixels → 756 octets, plus 8 octets pour le nom. Truc que tous les programmeurs ASM savent 
---------------------- Apprenez l'hexadécimal z80 ! Nan, vous n'êtes pas obligés de vouloir mourir, mais ça peut aider : https://espace-ti.forumactif.com/t576-programmer-en-hexadecimal-c-est-possible |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Lun 16 Juil 2012, 20:04
|
|
|
Matrefeytontias :
Peux-tu m'expliquer pourquoi une image fais 96*63 alors qu'une colonne de pixels est innutilisable en Basic, même avec semble-t-il StorePic et RecallPic ?
l.davin :
J'ai déjà compressé une image en chaine de caractères. C'est terriblement lent mais aussi terriblement léger en base 64 par bytes de 6 bits.
Autre remarque :
Je vois que quelques messages ont été supprimmés dans ce sujet, dont un de flood, mais pas le plus gros flood.
Edit 6/8/12 : d'autres messages, dont des importants, ont été supprimmés, mais il reste encore quelques messages de flood. o_O
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Mer 18 Juil 2012, 21:29
|
|
|
pour les images en basic, le pixel de la 96ème colonne y est, il est juste impossible de l'activer en basic : le bit est à 0 tout simplement. En revanche si on met à 1 le bit en question à l'aide d'un programme en assembleur (ou autre permettant de modifier la mémoire), et qu'en suite on rappelle l'image, le pixel apparaît plein
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
ld
Autorisation : Membre
Nb de messages : 373
Inscrit le : Jeu 23 Sep 2010, 16:05
|
Posté le : Sam 21 Juil 2012, 23:46
|
|
|
VDM
Merci pour vos réponses 
---------------------- Note Éphéméride Chrono Bombrman BlueFishEncryptor Labygénérateur Nord BandeauDeTexte LunarPhase Syracuse Papy-Jump Convertisseur ! SolveurDeSudoku VérificateurDeCodesBanquaire PrgmADiviser CryptageDeVigenere MiniSolv Reed-Solomon Code128Géodésie |
 |
|
| |