Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Monoalphabetic Substitučná šifry v kódu v jazyku Java

V kryptografiu , šifra je matematická metóda pre transformáciu správy takým spôsobom , aby sa stali nečitateľné nikomu inému , než jeho zamýšľané publikum . Šifry a crytography sa stali nevyhnutnou súčasťou komunikácie v sieti . Aj keď existuje mnoho foriem šifrovanie , oni všetci pochádzajú z histórie šifier vzniku sa datuje do starovekého Ríma , a vytvorenie prvej monoalphabetic šifry . Po príklade Caesara , môže programátor implementovať monoalphabetic šifru v programovacom jazyku , ako je Java . Monoalphabetic Striedanie

dešifranti odkazujú na kódy, ktoré sa vzťahujú na jednu transformáciu celej správy ako " monoalphabetic . " Tieto kódy zvyčajne trvá jednoduchý algoritmus , ktorý vykonáva transformáciu , a potom platí , že algoritmus pre každý znak v správe . Povaha algoritmu nezáleží, tak ako to zostáva konzistentné po celú dobu šifrovanie správy . Najjednoduchšie bude pracovať na jednom znaku naraz , zatiaľ čo iní môžu používať viac znakov postaviť šifru .
Caesar Cipher a Hill Cipher

Najjednoduchšie monoalphabetic šifra je Caesar Cipher , vynašiel Julius Caesar skryť správy z jeho nepriateľov . Caesarovho šifra jednoducho priradí číselnú hodnotu písmen , a potom sa rozhodne kompenzovať . Toto posunutie posunie hodnotu písmen , a tak sa perie správu . Ak čitateľ vie , offset , môžete si jednoducho obnoviť hodnoty a prečítať pôvodnú správu . Hill Cipher , na druhej strane , pomocou matice znakov a hodnoty na určovanie šifrovanie . Napríklad , Hill posun kľúč 2x2 hodnôt bude trvať dva znaky naraz z matice a posunúť ich hodnotu .
Caesar Cipher v Jave

Caesar Cipher v Jave zahŕňa stanovenie posun , a potom sa presúva hodnotu každé písmeno reťazca tým , že posun . Programátor môže vytvoriť zoznam listov porovnať pôvodnú správu proti šifrovacieho kľúča , a potom prekladať túto správu v šifrovacím šifrovanie . Potom , šifrovanie stáva otázkou jednoduchého navyše :

trieda Caesar {

public static void main ( String [ ] args ) {

String message = " hghajdvudbu " ; string temp = " abcdefghijklmnopqrstuvwxyz " ; int offset = 3 ; string prekladať = new string ( ) ;

for ( int i = 0 ; i < s.length ( ) ; i + + ) {

String t = Character.toString ( message.charAt ( i ) ) ; int index = temp.indexOf ( t ) , index + = offset % 26 ; String pridať = Character.toString ( temp.charAt ( index ) ) ;

prekladať + = pridať , System.out.println ( prekladať ) ;

} } }
2x2 Hill Cipher v Jave

Hill šifra používa maticové kľúče pre násobenie hodnôt v texte , aby bolo možné vytvoriť šifru . V jednoduchom prípade , 2x2 matice by boli použité na vytvorenie šifrovací kľúč . Programátor by potom nutné použiť dva znaky zo správy naraz , aby sa správne vypočítať preložený messae , ako je znázornené v nasledujúcom kóde :

String message = " hghajdvudbu " ; String temp = " abcdefghijklmnopqrstuvwxyz " String prekladať = new String ( ) ;

int key [ ] [ ] = new int [ 2 ] [ 2 ] ;

tlačidlo [ 0 ] [ 0 ] = 1 ; tlačidlo [ ,"0 ] [ 1 ] = 2 , tlačidlo [ 1 ] [ 0 ] = 3 , tlačidlo [ 1 ] [ 1 ] = 4 , celým

int letterone = 7 ; int lettertwo = 6 ; celým

int nletterone = ( letterone * tlačidlo [ 0 ] [ 0 ] ) + ( letterone * tlačidlo [ 0 ] [ 1 ] ) ; int nlettertwo = ( lettertwo * klávesa [ 1 ] [ 0 ] ) + ( lettertwo * klávesa [ 1 ] [ ,"1 ] ) ;

prekladať = Character.toString ( temp.charAt ( nletterone % 26 ) ) + Character.toString ( temp.charAt ( nlettertwo % 26 ) ) ;


Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené