24
JAVA CRYPTOGRAPHY ARCHITECTURE Submitted by:- TUFAIL KHAN-100101246 VARUN-1001011254 1

Java cryptography architecture

Embed Size (px)

DESCRIPTION

Java Architecture and Cryptography

Citation preview

Page 1: Java cryptography architecture

JAVA CRYPTOGRAPHYARCHITECTURESubmitted by:- TUFAIL KHAN-100101246VARUN-1001011254

1

Page 2: Java cryptography architecture

CRYPTOGRAPHY Hidden writing

Used to protect information

Can ensure confidentialityo Integrity and Authenticity too

cont..

2

Page 3: Java cryptography architecture

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

………

3

Page 4: Java cryptography architecture

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

....

4

Page 5: Java cryptography architecture

Cryptology-: combination of cryptography and cryptanalysis.

5

Page 6: Java cryptography architecture

BASIC CRYPTOGRAPHIC FUNCTIONS Private/Public Key Pair

Generation Secret Key Generation Hash Functions Digital Signatures Random Number

Generation Encryption/Decryption

6

Page 7: Java cryptography architecture

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

Page 8: Java cryptography architecture

8

Page 9: Java cryptography architecture

ADVANTAGES OF JAVA IN CRYPTOGRAPHY

Develop programs more quickly Avoid platform dependencies Write once, run anywhere Distribute software more easily

9

Page 10: Java cryptography architecture

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

Page 11: Java cryptography architecture

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

Page 12: Java cryptography architecture

ENGINE CLASSES It is a logical representation of cryptographic

functionality. Such as:-

Message digestDigital signatureKey generatorRandom number

12

Page 13: Java cryptography architecture

ENGINE CLASS

13

Page 14: Java cryptography architecture

TYPES OF ENGINE CLASSES

14

Page 15: Java cryptography architecture

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

Page 16: Java cryptography architecture

DIGITAL SIGNATUREPublic key cryptography is also used to provide

digital signatures.

signingplaintext signed message

private key

verificationsigned message plaintext

public key

16

Page 17: Java cryptography architecture

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

Page 18: Java cryptography architecture

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

Page 19: Java cryptography architecture

MESSAGE DIGEST

19

Page 20: Java cryptography architecture

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

Page 21: Java cryptography architecture

ENCRYPTION

21

Encryption is the process of feeding plaintext and key into a function and getting ciphertext output

Ciphertext is “garbage” unless decrypted

EncryptionFunction

Plaintext

Page 22: Java cryptography architecture

DECRYPTION

22

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

Function

Plaintext

Page 23: Java cryptography architecture

RANDOM NUMBER GENERATOR

23

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

Page 24: Java cryptography architecture

THANK YOU!!!!!

24