En cryptographie , un chiffre est une technique mathématique pour transformer un message de manière à le rendre illisible pour toute personne autre que son public cible . Chiffres et la cryptographie sont devenus une partie essentielle de la communication du réseau. Bien qu'il existe de nombreuses formes de chiffrement, ils proviennent tous d'une histoire de la création de chiffrement qui remonte à la Rome antique, et la création du premier chiffre de monoalphabétique . A l'instar de la chiffre de César , le programmeur peut mettre en œuvre un chiffrement monoalphabétique dans un langage de programmation , comme Java. Remplacements monoalphabétique
cryptographes se réfèrent à chiffrements qui appliquent une transformation unique à 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ères dans le message. La nature de l'algorithme n'a pas vraiment d'importance , tant qu'elle reste cohérente dans le chiffrement du message. Le plus simple vais travailler sur un caractère à la fois , tandis que d'autres peuvent utiliser de multiples personnages pour construire le chiffrement .
Caesar Cipher Cipher et Hill
Le plus simple chiffrement est monoalphabétique le Cipher César , inventé par Jules César pour masquer les messages de ses ennemis . Le chiffre de 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 donc brouille le message . Si le lecteur sait le décalage , elle peut simplement réinitialiser les valeurs et lire le message original. Le Cipher Hill, en revanche , utilise des matrices de caractères et de valeurs pour déterminer le cryptage. Par exemple, une clé de valeurs 2x2 compenser Colline faudrait deux caractères à la fois de la matrice et modifier leur valeur .
Caesar Cipher en Java
le chiffre de César en Java implique la détermination d'un décalage , et ensuite décaler 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 original à la clé de chiffrement , puis de traduire ce message dans le chiffrement de chiffrement . Ensuite , le cryptage devient une question de plus simple:
classe César {
public static void main ( String [] args ) {
de String message = " hghajdvudbu " ; chaîne temp = " ABCDEFGHIJKLMNOPQRSTUVWXYZ " ; int offset = 3; chaîne translate = new String ();
for (int i = 0; i < s.length (); i + +) {
< p > Chaîne t = Character.toString ( message.charAt ( i)); int index = temp.indexOf (t); index + = décalage% 26; cordes add = Character.toString ( temp.charAt (index) ) ;
traduire + signifie ajouter ; System.out.println ( translate ) ;
}}}
2x2 Colline Cipher en Java
le chiffre de la colline utilise une clé de matrice à multiplier les valeurs dans le texte afin de créer l'algorithme de chiffrement . Dans un cas simple , une matrice 2x2 serait utilisé pour créer une clé de chiffrement . Le programmeur devra alors utiliser deux caractères du message à la fois afin de calculer correctement la messae traduit, comme illustré dans le code suivant :
String message = " hghajdvudbu " ; chaîne temp = " abcdefghijklmnopqrstuvwxyz "Chaîne translate = 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]);
traduire = Character.toString ( temp.charAt ( nletterone 26% )) + Character.toString ( temp.charAt ( nlettertwo 26% ) ) ;