Šifrovanie poskytuje jednu z najlepších metód na zabezpečenie digitálnych údajov. Šifrovanie umožňuje používateľovi zahmlievať údaje pomocou kódu, ktorý môže dešifrovať iba používateľ alebo iní dôveryhodní jednotlivci. Nie je prekvapením, že programovacie jazyky ako Java, ktoré sa používajú na správu sieťovej prevádzky a sieťových rozhraní, majú vstavané knižnice na podporu šifrovania údajov. V knižniciach Java existuje veľa šifrovacích štandardov, vrátane štandardu AES 256.
Šifrovanie AES
Advanced Encryption Standard bol stanovený v roku 2002 Národným inštitútom pre štandardy a technológie ako štandard pre šifrovanie údajov. Šifrovanie AES používa šifrovací algoritmus Rijndael, ktorý zahŕňa substitučné a permutačné metódy na vytvorenie šifrovaných údajov zo správy. Štandardy AES sú široko používané na šifrovanie v podnikoch a vládach. Implementácia môže byť zložitá pre tých, ktorí nie sú oboznámení s kryptografiou, ale mnohé programovacie jazyky vrátane Java obsahujú knižnice, ktoré používateľom sprístupňujú technológiu šifrovania.
Video dňa
256-bitové šifrovanie
Pri šifrovaní správ sa generuje „kľúč“. Vo väčšine schém verejného šifrovania verejné a súkromné kľúče spolupracujú, aby sa zabezpečilo, že používatelia môžu zdieľať šifrované údaje. AES 256 je symetrický kľúčový algoritmus, čo znamená, že ten istý kľúč šifruje a dešifruje správu. Príslušný kľúč bude reprezentovaný 256 bitmi, čo znamená, že niekto, kto by sa pokúsil preniknúť do správy, by musel zistiť hodnotu 256-bitového kľúča. Technológia na dešifrovanie 256-bitového kľúča v primeranom čase ešte nebola vynájdená.
Knižnice Java AES 256
Java Encryption API šifruje správy a vytvára kľúče pre programátora cez rozhranie s metódami šifrovacích tried. Programátori vytvoria správu na zašifrovanie, importujú správne šifrovacie knižnice a potom použijú metódy v týchto knižniciach na určenie metódy šifrovania, vygenerovanie kľúčov a zašifrovanie správy. Šifrovacie knižnice obsahujú aj spôsoby dekódovania zašifrovaných správ pomocou rovnakého šifrovacieho kľúča.
Príklady
Jednoduchý príklad kódovania Java ukazuje, ako používať šifrovacie knižnice so špecifikáciou AES 256. Nasledujúci text ukazuje, ako vytvoriť šifrovacie, kľúčové a šifrovacie objekty v jazyku Java na zašifrovanie správy:
importovať java.security.; importovať javax.crypto.; import javax.crypto.spec.; importovať java.io.;
class Encrypt{ public static void main (String[] args) vyvoláva výnimku {
String message="Message to Decode";
KeyGenerator key = KeyGenerator.getInstance("AES"); key.init (256);
SecretKey s = key.generateKey(); byte[] raw = s.getEncoded();
SecretKeySpec sskey= new SecretKeySpec (raw, "AES");
Šifra c = Šifra.getInstance("AES");
cipher.init (Cipher. ENCRYPT_MODE, kľúč);
byte[] zašifrované = c.doFinal (message.getBytes()); System.out.println("šifrovaný reťazec: " + asHex (šifrované));
} }