CPC-POWER :
CPC-SOFTS
(Base de données) -
CPCArchives
(Articles) -
NGServers
(Hébergement)
Accueil
19613 PROGRAMMES
PROTECTIONS
Dumpeurs
9588 commentaires
Liens
Contact
Donations
FORUM
Session end : 12h00m00s
Hide picture Sexe : OFF
Donations 2024 : 920.48 €
5733
© Amstrad Magazine (
1987
)
 
Crypto
NOTICE / MANUAL
PDF (1)
TXT (1)
NOTICE PDF n° 1 (1.17 Mo)
Listing
NOTICE TEXTE n° 1 (5.28 Ko)
Crypto * Amstrad Magazine 20 - mars 1987 ------ J.L.Morel Si vos disquettes contiennent des donnees confidentielles (fichiers ASCII, ecrans, programmes... ) CRYPTO permet de les mettre a l'abri des regards indiscrets. CRYPTO est un programme de codage d'une face complete de disquette. Il rend totalement illisible celle-ci, catalogue compris. Ecrit en langage machine, il est rapide (moins de deux minutes pour coder / decoder 178ko) et accepte les formats DATA ou SYSTEM. Note : le programme ne gere pas le lecteur B:. Le principe du codage --------------------- Le programme lit une piste de la disquette et l'ecrit dans un tampon en memoire; puis il code chacun des octets de ce tampon et recopie ensuite la piste sur le disque. Quand les quarante pistes ont ete traitees, les donnees initiales ont ete remplacees oar des cides incoherents. Seul un decocage adequat permet de retrouver les donnees initiales. Le codage de chaque octet du tampon utilise la fonction logique XOR. Par exemple, pour coder l'octet &41 (correspondant a la lettre A en ASCII) avec la valeur &E6, on calcule : &41 XOR &E6 = &A7. Pour verifier ce resultat, taper au clavier en mode direct : ? HEX$(&41 XOR &E6) puis <ENTER>. L'ordinateur repond : A7. Pour retrouver l'octet initial il faut savoir que celui-ci a ete code avec la valeur &E6; on calcule : &A7 XOR &E6 = &41 (verifiez-le !). Ainsi, le meme procede qui a servi au codage sert au decodage. Naturellement, si on codait tous les octets avec la meme valeur &E6 le secret serait bien mal garde ! Pour durcir le code, on change cette valeur a chaque octet code suivant une loi complexe. L'ideal serait d'utiliser une sequence aleatoire (systeme dit "a cle aleatoire une fois"). Le resultat serait alors totalement inviolable, mais la sequence a retenir pour le decodage aurait la meme longueur que le message a coder (ici 182 272 caracteres !). Pour palier cet inconvenient, on utilise un generateur pseudo-aleatoire qui, une fois initialise par l'utilisateur, va produire une suite de valeurs pour le codage. Le generateur utilise par CRYPTO est du type a congruence lineaire. Sans etre le meilleur au point de vue "imprevibilite", il a l'avantage d'etre rapide et d'avoir une periode suffisament longue pour empecher une attaque statistique du code. Le programme Basic ------------------ Pour permettre l'ecriture du programme par des lecteurs ne possedant pas d'assembleur, celui-ci est propose en DATA dans un programme BASIC, qui le chargera en memoire. Le programme verifie chaque ligne de DATA grace a une somme de controle. Si une erreur est detectee, le programme s'arrete et le numero de la ligne fautive est affiche. Il faut la corriger avec la commande EDIT puis relancer le programme. Quand tout se deroule bien, le programme demande si l'ordinateur est un CPC 464 ou un 664-6128. RĂ©pondre suivant le cas. Le programme cree alors sur disque le fichier CRYPTO.BIN. Le disque contenant CRYPTO etant dans le lecteur, on le lance par : RUN"CRYPTO" <ENTER> Le programme demande alors la cle de codage / decodage. C'est une chaine de caracteres alphanumeriques (dont il faudra imperativement se souvenir) qui sert a initialiser le generateur aleatoire. Ensuite, on place dans le lecteur le disque a coder et on appuie sur <ENTER>. Le codage commence alors et le numero de la piste en cours de traitement est affiche. En cas d'erreur, le programme affiche un message : suivre alors les indications donnees. Quand le codage est termine, on retourne sous Basic. On peut alors demander un catalogue de la disquette : on obtient generalement n'importe quoi : la disquette est illisible. Pour decoder, il suffit de relancer CRYPTO avec exactement la meme cle de codage. L'operation terminee, on doit retrouver le catalogue initial et la disquette doit etre a nouveau lisible. Mise en garde ------------- CRYPTO modifiant directement les donnees sur la disquette, les donnees initiales figurant sur celle-ci sont effacees. L'auteur ne connait aucun moyen simple pour retrouver ces donnees si on a oublie la cle ! Amnesiques, abstenez- vous ! En particulier, il est prudent de conserver une disquette "claire" contenant CRYPTO. Pour bien initialiser le generateur aleatoire, il est preferable d'utiliser une cle d'au moins huit caracteres. Noter que le programme distingue les majuscules des minuscules et que tous les caracteres dont le code ASCII est compris entre 32 et 127 sont valides. Sans etre indecryptable par un gros systeme, CRYPTO permet de proteger effica- cement et rapidement vos disquettes. Pour les lecteurs interesses par la cryptographie, signalons les ouvrages suivants : * David Kahn : "La guerre des codes secrets" 1980 InterEdition Paris (une etude historique passionnante, des hieroglyphes a l'ordinateur). * Romain Roubaty : "ABC de cryptographie avec programmes en Basic" 1984 Masson (tous les codes classiques avec des programmes de decryptement). * Evangelos Kranakis : "Primality and Cryptography" 1986 Wiley-Teubner Series in Computer Science. (le point actuel sur la question, en anglais, pour ceux que les mathetiques n'effraient pas !. J.L.Morel
CPC-POWER/CPCSOFTS
, programmation par
Kukulcan
© 2007-2024 tous droits réservés.
Reproduction sans autorisation interdite. Tous les titres utilisés appartiennent à leurs propriétaires respectifs.
Hébergement Web, Mail et serveurs de jeux haute performance