I kryptografi , er et siffer en matematisk teknikk for å transformere en melding på en slik måte som å gjengi det uleselig for andre enn den tiltenkte målgruppen . Ciphers og crytography har blitt en viktig del av nettverkskommunikasjon. Mens mange former for kryptering finnes, de alle stammer fra en historie av chiffer etableringen dateres tilbake til antikkens Roma , og etableringen av den første monoalfabetisk siffer . Etter eksempel på Caesar chiffer , kan programmereren gjennomføre en monoalfabetisk siffer i et programmeringsspråk , for eksempel Java. Monoalfabetisk Innbyttere  
 kryptografer se koder som gjelder en enkelt transformasjon til en hel melding som " monoalfabetisk . " Disse koder tar vanligvis en enkel algoritme som utfører en transformasjon, og deretter bruke denne algoritmen til hver karakter i meldingen . Naturen av algoritmen spiller egentlig ingen rolle , så mye som det er konsekvent gjennom kryptering av meldingen. Det enkleste vil fungere på ett tegn om gangen, mens andre kan bruke flere tegn for å konstruere siffer . 
 Caesar Cipher og Hill Cipher 
 
 Den enkleste monoalfabetisk siffer er Caesar Cipher , oppfunnet av Julius Caesar å skjule meldinger fra sine fiender . Caesar chiffer tildeler rett og slett en numerisk verdi til bokstaver , og deretter bestemmer seg en offset . Dette offset skifter verdien av bokstavene , og dermed forvrenges meldingen. Hvis leseren kjenner offset, kan hun bare nullstille verdiene og lese den opprinnelige meldingen . The Hill Cipher , derimot , bruker matriser av tegn og verdier for å avgjøre kryptering. For eksempel vil en Hill offset nøkkel 2x2 verdier ta to tegn om gangen fra matrisen og skifte sin verdi. 
 Caesar Cipher i Java 
 
 Caesar Cipher i Java innebærer å avgjøre en forskyvning , og deretter skifter verdien av hver bokstav i en streng ved at offset . Programmereren kan lage en liste over bokstaver for å sammenligne den opprinnelige meldingen mot chiffer nøkkelen , og så oversette det melding i chiffer kryptering. Deretter blir kryptering et spørsmål om enkelt tillegg : en 
 klasse Caesar { 
 
 public static void main ( String [] args ) { 
 
 String melding = " hghajdvudbu "; String temp = " abcdefghijklmnopqrstuvwxyz "; int offset = 3; String oversette = new String (); 
 
 for ( int i = 0 ; i < s.length (); i + + ) { 
 < p> String t = Character.toString ( message.charAt ( i) ) ; int index = temp.indexOf (t ) ; index + = offset % 26; String add = Character.toString ( temp.charAt (indeks ) ); 
 
 oversette + = legger til ; System.out.println ( oversetter ) ; 
 
 } } } 
 2x2 Hill Cipher i Java 
 < p > The Hill Cipher bruker en matrise for å multiplisere verdiene i teksten for å skape siffer . I et enkelt tilfelle , ville en 2x2 -matrise brukes til å lage et siffer nøkkel . Programmereren vil da trenge å bruke to bokstaver fra meldingen om gangen for å riktig beregne oversatt messae , som illustrert i følgende kode : 
 
 String melding = " hghajdvudbu "; String temp = " abcdefghijklmnopqrstuvwxyz " String oversette = new String (); 
 
 int key [ ] [ ] = new int [ 2 ] [ 2 ]; 
 
 tast [ 0 ] [ 0 ] = 1 ; key [ ,"0 ] [ 1 ] = 2 , tast [ 1 ] [ 0 ] = 3 , tast [ 1 ] [ 1 ] = 4; 
 
 int letterone = 7 ; int lettertwo = 6 ; 
 
 int nletterone = ( letterone *-tasten [ 0 ] [ 0 ] ) + ( letterone *-tasten [ 0 ] [ 1 ] ); int nlettertwo = ( lettertwo *-tasten [ 1 ] [ 0 ] ) + ( lettertwo *-tasten [ 1 ] [ ,"1 ] ) ; 
 
 oversette = Character.toString ( temp.charAt ( nletterone % 26 ) ) + Character.toString ( temp.charAt ( nlettertwo % 26 ));