Download presentation
Presentation is loading. Please wait.
1
Java Assignment Related
2
Message digest MessageDigest class getInstance(“SHA”) to feed in
update(byte []) update(byte) digest(); digest(byte []) Returned as byte array
3
Digesting stream Example Producing byte array
DigestInputStream in = new DigestInputStream( new FileInputStream(args[0]), md); Producing byte array DataOutputStream to ByteOutputStream ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); DataOutputStream dataOut = new DataOutputStream(byteOut); You can do dataOut.writeLong(l) byteOut.toByteArray()
4
Key, KeyGenerator Key: top-level interface for all keys. defines the functionality of all key objects. KeyGenerator: This class provides the functionality of a (symmetric) key generator. static KeyGenerator getInstance(String algorithm) Generates a KeyGenerator object for the specified algorithm. void init(SecureRandom random) Initializes this key generator. SecretKey generateKey() Generates a secret key. KeyGenerator kg = KeyGenerator.getInstance("DES"); kg.init(new SecureRandom()); SecretKey key = kg.generateKey();
5
KeyPairGenerator Examples:
KeyPairGenerator kpg = KeyPairGenerator.getInstance("ElGamal") KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA"); kpg.initialize(1024); KeyPair pair = kpg.genKeyPair(); public PublicKey getPublic() - This method returns the public key. public PrivateKey getPrivate() - This method returns the private key.
6
Cipher, For encryptio/decryption
Assymtric and symmentric key systems static Cipher getInstance(String transformation) Generates a Cipher object that implements the specified transformation. You can use “DES/ECB/PKCS5Padding” void init(int opmode, Key key) Initializes this cipher with a key. public static final int ENCRYPT_MODE public static final int DECRYPT_MODE public final byte[] update (byte []) public final byte[] doFinal()
7
CipherOutputstream CipherInputstream
CipherOutputStream(OutputStream os, Cipher c) Constructs a CipherOutputStream from an OutputStream and a Cipher. void write(byte[] b) Writes b.length bytes from the specified byte array to this output stream. CipherInputStream(InputStream is, Cipher c) Constructs a CipherInputStream from an InputStream and a Cipher. int read(byte[] b) Reads up to b.length bytes of data from this input stream into an array of bytes. void close() Closes this output/input stream and releases any system resources associated with this stream.
8
Big Integer BeigInteger(1, messagebytes) x/y mod z
BigInteger.valueOf(1) x/y mod z x.multiply(y.modPow(kOne.negate(), z)).mod(z) k relatively prime to z k.gcd(z).equals(kOne) == true
9
Java Security API packages
Java.security.cert Java.security.interfaces Java.security.spec Javax.crypto Javax.crypto.interfaces Javax.crypto.spec Some Abbreviations JCA – java cryptographic architecture JCE – java cryptographic extensions Access Control
10
Class or Interface Description java.security.cert.Certificate A cryptographic certificate javax.crypto.Cipher A cipher java.security.Key , java.security.PrivateKey , java.security.PublicKey , javax.crypto.SecretKey A key, used for signing or encryption javax.crypto.KeyAgreement A secret key exchange protocol java.security.KeyFactory Translates public and private keys from one format to another javax.crypto.KeyGenerator Creates keys for symmetric ciphers java.security.KeyPairGenerator Creates pairs of public and private keys for signing or encryption javax.crypto.Mac A Message Authentication Code (MAC) java.security.MessageDigest A cryptographic hash function javax.crypto.SecretKeyFactory Translates secret keys from one format to another java.security.SecureRandom A cryptographically strong random number engine java.security.Signature A digital signature
11
Factory Methods JCA extensively use factory methods
MessageDigest md5; md5 = MessageDigest.getInstance("MD5"); Overloaded version accepts Algorithm & Provider KeyPairGenerator kpg = KeyPairGenerator("ElGamal", "Jonathan"); Cipher, keyGenerator, KeyPairGenerator, MessageDigest, Signature
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.