Em criptografia , uma cifra é uma técnica matemática para transformar uma mensagem de tal forma a torná-lo ilegível para qualquer um que não seja o seu público-alvo. Cifras e crytography tornaram-se uma parte essencial da rede de comunicações . Embora existam muitas formas de criptografia , todos eles derivam de uma história da criação cifra que remonta à Roma antiga, ea criação da primeira cifra monoalfabética . Seguindo o exemplo da cifra de César , o programador pode implementar uma cifra monoalfabética em uma linguagem de programação , como Java. Monoalfabética Substituições  
 criptógrafos se referir a cifras que se aplicam uma única transformação de uma mensagem inteira como " monoalfabética . " Essas cifras costumam levar um algoritmo simples que executa uma transformação , e , em seguida, aplicar o algoritmo para cada caracteres na mensagem. A natureza do algoritmo realmente não importa , tanto quanto ele permanece consistente durante toda a criptografia da mensagem. O mais simples vai funcionar em um personagem de cada vez, enquanto outros podem usar vários personagens para construir a cifra. 
 Caesar Cipher e Hill Cipher 
 
 O mais simples cifra monoalfabética é a cifra de Caesar , inventado por Júlio César para ocultar mensagens de seus inimigos. A cifra de César simplesmente atribui um valor numérico às letras, e então decide um offset. Este deslocamento desloca o valor das cartas , e assim codifica a mensagem . Se o leitor sabe o deslocamento , ela pode simplesmente restaurar os valores e ler a mensagem original. O monte Cifra , por outro lado , utiliza matrizes de caracteres e os valores para determinar a encriptação . Por exemplo, um monte de compensar chave de valores 2x2 levaria dois personagens de cada vez a partir da matriz e mudar seu valor. 
 Caesar Cipher em Java 
 
 a cifra de Caesar em Java envolve determinar um deslocamento, e , em seguida, mudando o valor de cada letra de uma string por esse deslocamento. O programador pode criar uma lista de cartas para comparar a mensagem original com a chave de codificação e , em seguida, traduzir essa mensagem na criptografia cifra. Em seguida , a criptografia torna-se uma questão de simples adição : 
 
 classe César { 
 
 void main ( String [ ] args ) { public static 
 
 Cordas mensagem = " hghajdvudbu "; Cordas temp = " abcdefghijklmnopqrstuvwxyz "; int offset = 3; Cordas traduzir = new string () ; 
 
 for (int i = 0; i < s.length (); i + +) { 
 
 Cordas t = Character.toString ( message.charAt (i)) ; int index = temp.indexOf (t); índice + = deslocamento% 26; Cordas add = Character.toString ( temp.charAt (index) ); 
 
 traduzir + = adicionar ; System.out.println ( traduzir ); 
 
 }}} 
 2x2 Colina Cipher em Java 
 
 The Hill Cipher usa uma chave de matriz para multiplicar valores no texto , a fim de criar a cifra. Em um caso simples , uma matriz de 2x2 seria usado para criar uma chave de cifra . O programador , então, necessidade de utilizar dois personagens da mensagem de cada vez , a fim de calcular corretamente o messae traduzido , conforme ilustrado no código a seguir : 
 
 Cordas mensagem = " hghajdvudbu "; Cordas temp = " abcdefghijklmnopqrstuvwxyz " Cordas traduzir = new string () ; 
 
 int tecla [ ] [] = new int [ 2] [2 ]; 
 
 tecla [ 0] [0] = 1; tecla [ ,"0] [1] = 2; tecla [ 1] [ 0] = 3; tecla [ 1] [1 ] = 4; 
 
 int letterone = 7; int lettertwo = 6; 
 
 int nletterone = ( letterone * tecla [ 0] [0] ) + ( letterone * tecla [ 0] [1] ); int nlettertwo = ( lettertwo tecla * [1] [ 0] ) + ( lettertwo tecla * [1] [ ,"1] ); 
 
 traduzir = Character.toString ( temp.charAt ( nletterone % 26 ) ) + Character.toString ( temp.charAt ( nlettertwo % 26 ) );