wayposey Posté(e) 10 avril 2018 Signaler Share Posté(e) 10 avril 2018 Bonjour, bonsoir à tous, Je suis actuellement en terminale S et j'ai comme projet en isn de faire un programme qui permet de crypter decrypter du chiffrement affine. Pour faire simple voila en quoi consiste le chiffrement affine :Le chiffre Affine utilise une fonction de chiffrement par addition et multiplication (comme la fonction mathématiques affine) qui fait correspondre à une lettre L (de rang x dans un alphabet de 26 lettres) une autre lettre de rang (ax + modulo 26. J'ai donc commencer un programme seulement la partie crytage pour le moment mais je ne comprends pas pourquoi il ne fonctionne pas. Je veux par exemple transformer la phrase "lhomme" avec les coefficients "a" et "b" respectivement égaux à 7 et 13 mon programme m'affiche "CAXJJF" alors que quand je le fais à la main je trouve: "MKHTTP" si quelqu'un à une idée je suis preneur code: void main() { clear(); int MessageInter []; MessageInter = new int [100]; //Taille limitée à 100 pour le message à crypter int i,c,a,b; c = readInt("Tapez: 1 pour Cryptage | 2 pour Décryptage" ); a = readInt("quelle valeur de a voulez vous prendre?" ); b = readInt("quelle valeur de b voulez vous prendre" ); char alphabet_code [] []; //déclaration du tableau alphabet_code = new char [2] [100]; // deux colones 100 ligne if (c ==1) { String MessageClair; // Déclaration des variables String MessageCode = ""; //vaut 0 println("Texte à crypter ?" ); // Demande du message e MessageClair = readString(); // demande le message a coder println("Le message à crypter est" + "\n" + MessageClair); // On sépare chaque caractère du message et on met son code ascii décalé de 65 dans le tableau for (i =0; i <= MessageClair.length() -1; i ++) { //message en lettre transformé en chiffre MessageInter = (int)(MessageClair.charAt(i)); } for (i =0; i <= MessageClair.length() -1; i ++) { MessageCode = MessageCode + (char)((((a * MessageInter) -65 + %26) +65); //prend la première lettre transformée //de chiffre fais - 65 //(pour mettre a=0) puis clef donne le décalage , //modulo 26 pour etre compris dans l'alphabet + 65 pour repasser en ascii } // Affichage du résultat. println("Le cryptogramme est" + "\n" + MessageCode); } } isn cryptage.java Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pyrithe Posté(e) 11 avril 2018 Signaler Share Posté(e) 11 avril 2018 Bonjour, Je déplace le sujet dans la section Développement. Merci de passer par la section "Présentation" aussi. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MathTek Posté(e) 11 avril 2018 Signaler Share Posté(e) 11 avril 2018 Hello, vu que tu es en terminale, il est important que tu utilise les bons mots. On ne dit pas crypter ! Je te laisse consulter ce site si tu veux plus d'infos: https://chiffrer.info/ Et passe le a tes profs parce que malheureusement je penses qu'il ne le savant pas non plus ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
wayposey Posté(e) 11 avril 2018 Auteur Signaler Share Posté(e) 11 avril 2018 Il y a 14 heures, Pyrithe a dit : Bonjour, Je déplace le sujet dans la section Développement. Merci de passer par la section "Présentation" aussi. Merci je suis nouveau je savais pas Il y a 11 heures, MathTek a dit : Hello, vu que tu es en terminale, il est important que tu utilise les bons mots. On ne dit pas crypter ! Je te laisse consulter ce site si tu veux plus d'infos: https://chiffrer.info/ Et passe le a tes profs parce que malheureusement je penses qu'il ne le savant pas non plus ... Désolé pour l'erreur haha Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés