Java cryptography architecture

2,049 views

Published on

Java Architecture and Cryptography

Published in: Education, Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,049
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
232
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Java cryptography architecture

  1. 1. JAVA CRYPTOGRAPHY ARCHITECTURE 1 Submitted by:TUFAIL KHAN-100101246 VARUN-1001011254
  2. 2. CRYPTOGRAPHY  Hidden writing  Used to protect information  Can ensure confidentiality o Integrity and Authenticity too cont.. 2
  3. 3.  Cryptography -: to achieve encoding messages to make them no-readable. ……… 3
  4. 4.  Cryptanalysis-: technique of decode no-readable into readable. .... 4
  5. 5.  Cryptology-: combination of cryptography and cryptanalysis. 5
  6. 6. BASIC CRYPTOGRAPHIC FUNCTIONS Private/Public Key Pair Generation  Secret Key Generation  Hash Functions  Digital Signatures  Random Number Generation  Encryption/Decryption  6
  7. 7. 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. 8. 8
  9. 9. ADVANTAGES OF JAVA IN CRYPTOGRAPHY Develop programs more quickly  Avoid platform dependencies  Write once, run anywhere  Distribute software more easily  9
  10. 10. 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
  11. 11. 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
  12. 12. ENGINE CLASSES It is a logical representation of cryptographic functionality.  Such as:Message digest Digital signature Key generator Random number  12
  13. 13. ENGINE CLASS 13
  14. 14. TYPES OF ENGINE CLASSES 14
  15. 15. 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
  16. 16. DIGITAL SIGNATURE Public key cryptography is also used to provide digital signatures. signing plaintext signed message private key signed message verification plaintext public key 16
  17. 17. 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
  18. 18. 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
  19. 19. MESSAGE DIGEST 19
  20. 20. 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
  21. 21. ENCRYPTION Encryption is the process of feeding plaintext and key into a function and getting ciphertext output  Ciphertext is “garbage” unless decrypted  Plaintext Encryption Function 21
  22. 22. DECRYPTION  Decryption is the process of feeding ciphertext and a key into another function and getting original plaintext output Decryption Function Plaintext 22
  23. 23. 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
  24. 24. THANK YOU!!!!! 24

×