Java Cryptography Techniques
• Basic language contains cryptographic
features
• Two broad-level aspects
– Java Cryptography Architecture (JCA)
– Java Cryptography Extension (JCE)
Java Cryptography
Java
Cryptography
Java Cryptography Java Cryptography Extension
Architecture (JCA) (JCE)
Fig 8.1
JCA Design
• Keep the interface separate from the
implementation
• One of the key Object Oriented (OO)
features
• Useful to choose a particular provider
Implementation, Interface
Eject
Actual
implementation in
External world Skip
terms of voltages,
(a user of the
signals, currents
audio system)
etc.
- Volume +
- Bass +
Interface Implementation
Fig 8.2
Engine and Provider Classes
Provider 1
DigitalProvider 2
Engine classes Signature
DigitalProvider 3
Digital Message digest
Signature
Signature Algorithm A
Message digest
Message digest Key generation
Algorithm B
Key generation
Key generation …
Algorithm C
…
…
…
Fig 8.3
JCA Engine and Providers
Application Programs needing cryptography services
Java Cryptography Architecture (JCA) engine classes
Provider 1 Provider 2 ••• Provider n
Fig 8.4
MS-CAPI
• Microsoft’s Cryptography Solution
• Integrated with the Windows OS and
Internet Explorer (IE)
• Similar in concept to Java’s solution
MS-CAPI and CSPs
CSP 1
Digital CSP 2
MS-CAPI Methods Signature
Digital CSP 3
Digital Message digest
Signature
Signature Algorithm A
Message digest
Message digest Key generation
Algorithm B
Key generation
Key generation …
Algorithm C
…
…
…
Fig 8.7
MS-CAPI Methods and CSPs
Application Programs needing cryptography services
Microsoft Crypto API (MS-CAPI) methods
CSP 1 CSP 2 ••• CSP n
Fig 8.8
Cryptographic Toolkits
Applications
Toolkit-independent layer
Toolkit layer
Fig 8.10
Unix Password Generation
Concatenate and
Password calculate
message digest
testing
G^7J10
3719
Salt This would be the
third column entry for
user Ana
Fig 8.12