CRYPTAGE ET COMPRESSION PAR PLAGE

John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009 - 7 mars 2007 à 23:35
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009 - 8 mars 2007 à 19:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41780-cryptage-et-compression-par-plage

John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
8 mars 2007 à 19:59
"ondelette de Haar" ??
Rien à voir avec ta source donc oO
mihoubi3333 Messages postés 21 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 juin 2011
8 mars 2007 à 19:48
je vous propose une Format compressé nommée (.comp) comme ça:
1- tous les nombres sont codés sur 7 bits
2- pour decrypter le fichier il faut multiplie chaque nombre par 2 .
exemple A=(200,150,121,100,80,150)coute 6*8bits=48bits
B=(100,75,60,50,40,75) coute6*7bits=42 bits
l'ensemble B est compressé et decompressable par simple multiplication par 2,mais il faut crier un decodeur qui fait la lecture du 7 bits puis la multiplication par deux seulement,
ça est le principe de l'ondelette de Haar,
la differance du couleur entre 120 et 121 est egligeable par ce que on un mixage de R et G et B et le pixel est tres petit
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
8 mars 2007 à 19:37
Oué il suffit d'utiliser un taux de compression de 20% l'image est de qualité et la taille divisée par 5

@John : laisse tomber, c'est pas la peine de discuter
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
8 mars 2007 à 19:19
Sauf que RGB(200,150,121) et (100,75,60), c'est pas du tout les même couleurs ...

Et puis, pour compresser des images, les formats modernes font vraiment mieux que toi, sans pour autant abîmer en apparence l'image.
mihoubi3333 Messages postés 21 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 juin 2011
8 mars 2007 à 19:02
voici l'interet du compression irreversible :
exemple RGB=(200,150,121) representable sur 8bits*3=24 bits, si l'on compresse par division sur 2 on a (100,75,60) representable sur 7bits*3=21bits a condition que l'on connais a prioré qu'il faut multiplie par deux ,on a gagne 3 bits mais on a perdu l'exactutide du couleur blue par ce que 60*2=120 ,l'influence de perte est negligeage devant le gain de 3 bits ,
si la taille du fichier = 1 mega on gangne 1/8 ,
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
8 mars 2007 à 17:49
C'est quoi l'interet de faire une compression irréversibles ?
mihoubi3333 Messages postés 21 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 juin 2011
8 mars 2007 à 16:40
j'ai ajouté une Fonction max_min_stream qui permet d'analyser la plage du stream , alors si la plage <=127 on peut compresser et crypter le stream sans perte d'info mais si la plage > 127 on a dans l'obligation d'utiliser la compression irresversible ,
Pour la chaine éèî

c'est l'impossible de l'impossible de trouver cette chaine mais je vous rappele qu'il existe la compression irreversible avec perte dans la norme JPEG2000 et ce n'est pas obligatoire de recuperer les memes caractères compressés par exemple dans les couleurs on a une degradation de couleur , la source fait la compression des octets (code ascii) mais on peut la changer pour compresser le UTF-8 (liser les word du stream au lieu d'octets)
Finalement , Francky assai d'encourager les autre au moins fait des salutations ou remerciements dans la fin des comentaires ,
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
8 mars 2007 à 09:55
Dis moi un truc si j'écris sous NotePad "éîè" tu es sur que je n'aurais pas de caractères relatifs à la base ASCII ETENDUE ?

En html si jécris éèî

tu es sur que le source n'aura pas de caractères relatifs à la base ASCII ETENDUE ?

Un fichier texte ou html n'est jamais encodé sous cet algorithme : on l'encode en Base 64, en QP, en 'UTF-8', en binaire, en 7-bits, en 8-bits, en zip, en rar mais surement en ton truc.

Si tu réfléchissais un petit peu avant de balancer n'importe quoi comme source, ca t'éviterait d'etre obligé de dire un tissu de bétises.

Mihoubi une fois de plus tu as posté n'importe quoi sans réfléchir (il est grand temps que tu arretes) : tu viens d'en faire la démonstration singlante.
mihoubi3333 Messages postés 21 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 juin 2011
8 mars 2007 à 08:50
la source fait ça :
toujours supprime un ou deux ou trois ... bit a gauche par exemple :
01011010 devient 1011010 et apres decompression devient 01011010
ça est la compression reversible ,
mais si le debut de caractère est un comme (10101010) ici on parle du compression irreversible , le caractère devient (00101010) ,
l'interet de de la source est: notant que tous les caractères des fichiers textes sont inferieure à 127 et les HTML aussi souvent , on peut representer sur 7 bit seulement
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
8 mars 2007 à 07:21
hum ...

alors, vas sur codyx, recherche les methodes :

Données vers binaire (chaine)
Binaire (chaine) vers donnée (binaire vers decimale par exemple)

ça te permettras de remplacer tes deux methodes "bidule machin" par des methodes plus performantes, fiables et souple.


par contre si tu veux te lancer dans plus costaud : Huffman, Burrows-Wheeler
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
8 mars 2007 à 01:17
bon suis assez d accord avec Francky , nomme au moins tes composants c est le minimum !!!
Au fait Francky , pas perd l'nord voit pas Florenth ici mais bien John Dogget ( et oui ils ont le m avatar ! ;) )

Sinon ca peut franchement etre assez marrant comme source ... (enfin moi je trouve !)

Ciao
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
8 mars 2007 à 00:34
De plus tu ne nommes pas tes unités ni tes composants : révise tes bases ca te serait plus utile que de poster tes machins
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
8 mars 2007 à 00:32
Pas étonnant : son source n'est valable que pour la table ASCII. Autrement dit toutes les langues faisant intervenir des accents (donc tous les pays européens) ne peuvent être utilisées : il faut utiliser la table ASCII étendue qui est codée sur 8 bits.

"Si la plage est inferieur a 64 on peut les representer
sur 6 bits" : a bon ca existe une table de 64 caractères ? ca correspond à quel format.

Je confirme les propos de Florenth : on perd des infos meme en utilisant une table ASCII classique (donc les 127 premières caractères).

Evite de mettre de l'ASM si tu peux t'en passer : on est sur Delphifr. Ce n'est pas la première fois.

Tu veux un conseil / un critique : Fais un projet intélligent, utile, correspondant à un vrai projet, plutot que de poster des trucs que tu fais en 5 min et qui n'ont aucun intéret
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
7 mars 2007 à 23:35
Salut.

J'ai fais un test rapide avec le fichier texte contenu dans le zip, ça marche pas top :/

Texte de départ -> Size=992
Compression + cryptage -> Size=880
Décryptage et décompression -> Size=999

Le texte d'origine est perdu, certains caractères ne sont pas reproduit à l'identique on dirait.
Les accents par exemple sont perdu, le caractère "é" est reproduit en "C)".

Et aussi il aurait été sympa de coder la partie assembleur de ta source en Delphi.
Rejoignez-nous