You are on page 1of 26

JAVA CRYPTOGRAPHY

ARCHITECTURE
1 Submitted by:- Mohit Agarwal
06cse030
CRYPTOGRAPHY
 Hidden writing

 Used to protect information

 Can ensure confidentiality


o Integrity and Authenticity too
cont..

2
 Cryptography -: to achieve encoding messages to
make them no-readable.

………

3
 Cryptanalysis-: technique of decode no-readable into readable.

....

4
 Cryptology-: combination of cryptography and
cryptanalysis.

5
BASIC CRYPTOGRAPHIC FUNCTIONS
 Private/Public Key Pair
Generation
 Secret Key Generation

 Hash Functions

 Digital Signatures

 Random Number
Generation
 Encryption/Decryption

6
SECRET, PUBLIC KEY CRYPTOGRAPHY
AND HASH FUNCTIONS

 Secret Key Cryptography (SKC): Uses a single


key for both encryption and decryption
 Public Key Cryptography (PKC): Uses one key
for encryption and another for decryption
 Hash Functions: Uses a mathematical
transformation to irreversibly "encrypt"
information

7
8
ADVANTAGES OF JAVA IN CRYPTOGRAPHY

 Develop programs more quickly


 Avoid platform dependencies

 Write once, run anywhere

 Distribute software more easily

9
JAVA CRYPTOGRAPHIC

TWO MAIN TECHNOLOGIES-

 Java Cryptographic Architecture (JCA) - It is a set of


classes that provide cryptographic capabilities to
java programs.
 Java cryptographic Extension (JCE)- Whereas JCE is
not the part of core Java JDK. For this request
special licensing.

10
JAVA CRYPTOGRAPHIC
ARCHITECTURE
 JCA is the part of core java framework.
 Security API in JDK 1.1 introduced the JCA.
 It’s provide the basic cryptographic functionalities
to programmer using java language.
 Cryptographic functionalities such as- access
control, permissions, key pairs, message digests
and digital signatures.
 In order to achieve this, the JCA package consists
of a number of classes, called as engine classes.

11
ENGINE CLASSES
 It is a logical representation of cryptographic
functionality.
 Such as:-

Message digest
Digital signature
Key generator
Random number

12
ENGINE CLASS

13
TYPES OF ENGINE CLASSES

14
SIGNATURE CLASS
 public abstract class Signature extends SignatureSpi
 Used to provide applications the functionality of a
digital signature algorithm
 Provides implementation independent algorithms
 There are two ways to request a signature algorithm
object:-
 Specifying an algorithm name
 Specifying both algorithm name and package provider

15
DIGITAL SIGNATURE
Public key cryptography is also used to provide
digital signatures.

signing
plaintext signed message

private key

verification
signed message plaintext

public key

16
KEYSTORE
 Manage secret keys, key pairs and digital
certificates
 A password-protected database
 stores private key and its associated public key
certificate
 Can contain trusted certificates
 Each entry is identified by an alias
 An alias may identify the purpose of the key. i.e.
signMyEmails

17
MESSAGE DIGEST
public abstract class MessageDigest extends
MessageDigestSpi
Also known as “hash function” or “one-way
transformation”.
Transforms a message of any length and
computes a fixed length string.
We want it to be hard to guess what the
message was given only the digest.
 Guessing is always possible.

18
MESSAGE DIGEST

19
ENCRYPTING DATA
 This class is called as Cipher class

 Javax.cryptro.Cipher

It provides an interface to encrypt and decrypt


data
either in arrays within the program or as that data
is read or written through Java’s stream
interfaces

20
ENCRYPTION
 Encryption is the
process of feeding Plaintext
plaintext and key
into a function and
getting ciphertext
Encryption
output Function
 Ciphertext is
“garbage” unless
decrypted

21
DECRYPTION
 Decryption is the
process of feeding
ciphertext and a key
into another
function and getting
original plaintext
output Decryption
Function

Plaintext 22
RANDOM NUMBER GENERATOR
 It is used to create cryptographic keys and in
some cases to encrypt or sign data.

 Its value could not be predicted

 PRNG(Pseudo Random Number Generator) is


used by computers to generate endless
sequence of random numbers

23
REFERENCE
 www.google.com
 www.wikipedia.org

 www.scribd.com

 http://www.oreilly.com/catalog/javacrypt/chapter/ch06.

24
THANK YOU!!!!!

25
Q/A
26

You might also like