import java.security.*; import javax.crypto.*; KeyPairGenerator kpg = KeyPairGenerator.getInstance( "RSA") KeyPair kp = kpg.generateKeyPair() Cipher c = Cipher.getInstance( "RSA"); c.init( Cipher.ENCRYPT_MODE, kp.getPublic()) s = "ahoj" byte[] b = s.getBytes( "UTF-8") 1. byte[] zasifrovano = c.doFinal( b) 2. for( ...) { byte[] aktualni_cast_dat = ... byte[] zasifrovana_cast = c.update( aktualni_cast_dat) } byte[] zbytek_dat = ... byte[] zasifrovana_posledni_cast = c.doFinal( zbytek_dat) // vypis for( byte b: zasifrovano) { System.out.println( b); } //opatrne, neni korektni System.out.println( new String( pole_bytu, "UTF-8") ) ----- Cipher d = Cipher.getInstance( "RSA"); d.init( Cipher.DECRYPT_MODE, kp.getPrivate()) byte[] rozsifrovano = d.doFinal( zasifrovano) String xxx = new String( rozsifrovano, "UTF-8") Arrays.toString( pole_neceho) .... [ a1, a2, ...an] ----- MessageDigest ...m = MessageDigest.getInstance "MD5" "SHA-1"... // update byte[] digest = m.digest( data) ----- // podpis Signature sign = Signature.getInstance( "SHA1withRSA") sign.initSign( ??? ) // sign.update( ...) byte[] documentSignature = sign.sign(...) // overeni podpisu byte[] documentSignature = ... Signature vsign = Signature.getInstance( "SHA1withRSA") vsign.initVerify( ??? ) // vsign.update( ...) boolean result = vsign.verify( documentSignature)