Les partenaires publicitaires:

Monoalphabétique Remplacement Ciphers dans du code Java

En cryptographie, un chiffre est une technique mathématique pour transformer un message de telle manière à rendre illisibles à toute personne autre que son public cible. Chiffres et la cryptographie sont devenus une partie essentielle de communications réseau. Alors que de nombreuses formes de cryptage existent, ils découlent tous d'une histoire de la création de chiffrement datant de la Rome antique, et la création du premier chiffre monoalphabétique. Suivant l'exemple de l'algorithme de chiffrement César, le programmeur peut mettre en œuvre un chiffrement monoalphabétique dans un langage de programmation, tels que Java.

Monoalphabétique substitutions

  • Cryptographes se réfèrent à des chiffres qui appliquent une seule transformation d'un message entier comme "monoalphabétique." Ces chiffres prennent généralement un algorithme simple qui effectue une transformation, puis appliquer cet algorithme à chaque caractère du message. La nature de l'algorithme n'a pas vraiment d'importance, tant il reste cohérente tout au long du cryptage du message. Le plus simple sera de travailler sur un personnage à la fois, tandis que d'autres pourraient utiliser plusieurs personnages pour construire le chiffrement.

Caesar Cipher et Hill Cipher

  • Le plus simple est le chiffrement monoalphabétique Caesar Cipher, inventé par Jules César pour masquer les messages de ses ennemis. Le chiffrement César attribue simplement une valeur numérique aux lettres, puis décide un décalage. Ce décalage décale la valeur des lettres, et brouille ainsi le message. Si le lecteur connaît le décalage, elle ne peut tout simplement réinitialiser les valeurs et de lire le message d'origine. Le Chiffre de Hill, d'autre part, utilise des matrices de caractères et les valeurs pour déterminer cryptage. Par exemple, une colline clé de valeurs 2x2 compensée prendrait deux caractères à la fois de la matrice et changer leur valeur.

Caesar Cipher en Java

  • Le Caesar Cipher en Java consiste à déterminer un décalage, puis décalant la valeur de chaque lettre d'une chaîne par ce décalage. Le programmeur peut créer une liste de lettres de comparer le message d'origine contre le clé de chiffrement, puis de traduire ce message dans le chiffrement de chiffrement. Ensuite, le cryptage devient une question de simple addition:

    César classe {

    main (String [] args) {public static void

    String message = "hghajdvudbu"-
    Chaîne temp = "abcdefghijklmnopqrstuvwxyz"-
    int compensée = 3-
    Chaîne traduire = new String () -

    for (int i = 0 à i lt; s.length () - i ++) {

     Chaîne t = Character.toString (message.charAt (i)) -
    index int = temp.indexOf (t) -
    index + = décalage% 26-
    Chaîne ajouter = Character.toString (temp.charAt (index)) -


    traduire + = add-
    System.out.println (traduire) -

    }
    }
    }

2x2 Chiffre de Hill en Java

  • Le Chiffre de Hill utilise une clé de matrice pour multiplier les valeurs dans le texte afin de créer le chiffre. Dans un cas simple, une matrice de 2x2 serait utilisée pour créer une clé de chiffrement. Le programmeur devra alors utiliser deux caractères du message à la fois afin de bien calculer le Messae traduit, comme illustré dans le code suivant:

    String message = "hghajdvudbu"-
    Chaîne temp = "abcdefghijklmnopqrstuvwxyz"
    Chaîne traduire = new String () -

    int touche [] [] = new int [2] [2] -

    touche [0] [0] = 1-
    touche [0] [1] = 2
    touche [1] [0] = 3-
    touche [1] [1] = 4-

    int letterone = 7-
    int lettertwo = 6-

    int nletterone = (* letterone touche [0] [0]) + (* letterone touche [0] [1]) -
    int nlettertwo = (lettertwo touche * [1] [0]) + (* lettertwo touche [1] [1]) -

    translate = Character.toString (temp.charAt (nletterone% 26)) + Character.toString (temp.charAt (nlettertwo% 26)) -

» » » » Monoalphabétique Remplacement Ciphers dans du code Java