Java Cryptography - Helion
ISBN: 978-14-493-9061-7
stron: 364, Format: ebook
Data wydania: 1998-05-01
Księgarnia: Helion
Cena książki: 126,65 zł (poprzednio: 147,27 zł)
Oszczędzasz: 14% (-20,62 zł)
Cryptography, the science of secret writing, is the biggest, baddest security tool in the application programmer's arsenal. Cryptography provides three services that are crucial in secure programming. These include a cryptographic cipher that protects the secrecy of your data; cryptographic certificates, which prove identity (authentication); and digital signatures, which ensure your data has not been damaged or tampered with.
This book covers cryptographic programming in Java. Java 1.1 and Java 1.2 provide extensive support for cryptography with an elegant architecture, the Java Cryptography Architecture (JCA). Another set of classes, the Java Cryptography Extension (JCE), provides additional cryptographic functionality. This book covers the JCA and the JCE from top to bottom, describing the use of the cryptographic classes as well as their innards.
The book is designed for moderately experienced Java programmers who want to learn how to build cryptography into their applications. No prior knowledge of cryptography is assumed. The book is peppered with useful examples, ranging from simple demonstrations in the first chapter to full-blown applications in later chapters.
Topics include:
- The Java Cryptography Architecture (JCA)
- The Java Cryptography Extension (JCE)
- Cryptographic providers
- The Sun key management tools
- Message digests, digital signatures, and certificates (X509v3)
- Block and stream ciphers
- Implementations of the ElGamal signature and cipher algorithms
- A network talk application that encrypts all data sent over the network
- An email application that encrypts its messages
Covers JDK 1.2 and JCE 1.2.
Osoby które kupowały "Java Cryptography", wybierały także:
- Metoda dziel i zwyci 89,00 zł, (26,70 zł -70%)
- Język C. Kurs video. Praktyczne wprowadzenie do programowania 99,00 zł, (29,70 zł -70%)
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 125,42 zł, (45,15 zł -64%)
- Maven. Kurs video. Automatyzacja tworzenia aplikacji w Javie 98,98 zł, (39,59 zł -60%)
Spis treści
Java Cryptography eBook -- spis treści
- Java Cryptography
- A Note Regarding Supplemental Files
- Preface
- Who Are You?
- About This Book
- Whats Not in This Book
- About the Examples
- Versions
- File Naming
- CLASSPATH
- Variable Naming
- Downloading
- Font Conventions
- Request for Comments
- Acknowledgments
- 1. Introduction
- Secure Systems
- Cryptography
- Platform Security
- Astute Inequalities
- Hello, zoT1wy1njA0=!
- Masher
- SecretWriting
- 2. Concepts
- Confidentiality
- Symmetric Ciphers
- Asymmetric Ciphers
- Hybrid Systems
- Distributing Keys
- Key Agreement Protocols
- Integrity
- Authentication
- Certificates
- Certificate Chains
- Random Numbers
- Algorithms
- Size Does Matter
- Names and Numbers
- MD5
- SHA-1
- HmacMD5 and HmacSHA1
- DSA
- ElGamal signatures
- DES
- DESede
- PBEWithMD5AndDES
- ElGamal ciphers
- DH
- Confidentiality
- 3. Architecture
- Alphabet Soup
- Concept Classes
- API and SPI
- Factory Methods
- Standard Names
- The Provider Architecture
- Key Management
- Summary
- 4. Random Numbers
- SecureRandom
- Self-Seeding
- Keyboard Timing
- Seeder
- Pitfalls
- SeederDialog
- 5. Key Management
- Keys
- Key Generators
- KeyPairGenerator
- KeyGenerator
- Algorithm-Specific Initialization
- Key Translators
- SecretKeySpec
- SecretKeyFactory
- From things to keys
- From keys to things
- KeyFactory
- Key Agreement
- Diffie-Hellman
- javax.crypto.KeyAgreement
- SKIP
- SkipServer
- SkipClient
- Skipper: Multiparty key agreement
- The Identity Key Management Paradigm
- Key Holders
- Principal
- Identity
- Signer
- IdentityScope
- KeyManager
- Key Holders
- The KeyStore Key Management Paradigm
- KeyStore
- Getting
- Loading and saving
- Adding private key entries
- Adding trusted certificate entries
- Retrieving entries
- keytool
- Creating a key pair
- Ubiquitous options and defaults
- Inspecting the keystore
- Generating a CSR
- Importing certificates
- Other options
- Changing the default keystore class
- KeyStore
- 6. Authentication
- Message Digests
- Getting
- Feeding
- Digesting
- One, Two, Three!
- Digest Streams
- Protected Password Login
- Double-Strength Password Login
- MACs
- Setting Up
- Feeding
- Calculating the Code
- For Instance
- Signatures
- Generating a Signature
- Verifying a Signature
- Hancock
- Login, Again
- SignedObject
- Certificates
- java.security.cert.Certificate
- Generating a Certificate
- Verifying a Certificate
- X.509
- Spill
- Certificate Revocation Lists
- Message Digests
- 7. Encryption
- Streams and Blocks
- Block Ciphers
- Padding
- PKCS#5
- Other padding schemes
- Modes
- ECB
- CBC
- PCBC
- CFB
- OFB
- Other modes
- Padding
- Algorithms
- javax.crypto.Cipher
- Getting a Cipher
- Basic Information
- Initializing a Cipher
- Generic
- Name brand
- Feeding Data to a Cipher
- Ciphers Close Relatives
- Cipher Streams
- javax.crypto.SealedObject
- Passphrase Encryption
- Salt and Vinegar
- Test Drive
- Inside Cipher
- SPI
- Setup
- Basic information
- Initializing
- Feeding
- BlockCipher
- CBCWrapper
- CFBWrapper
- SPI
- Hybrid Systems
- PGP
- S/MIME
- SSL
- Sources
- Using the browser
- SET
- 8. Signed Applets
- Renegade
- HotJava
- Prepare a Signer
- Bundle the Applet
- Sign the Applet
- Test the Applet
- Set Up the Browser
- Navigator
- Prepare a Signer
- Ask for Permission
- Sign the Applet
- Bundle the Applet
- Test the Applet
- Set Up the Browser
- Internet Explorer
- Recipe
- Prepare a Signer
- Bundle the Applet
- Sign the Applet
- Test the Applet
- Summary
- 9. Writing a Provider
- Getting Started
- Algorithm Names and Implementations
- A Simple Provider
- An Algorithm by Any Other Name
- Installing the Provider
- Adding the ElGamal Classes
- ElGamal
- Key Pair Generation
- Signature
- Cipher
- Generating Keys
- Key Classes
- ElGamalKeyPairGenerator
- Signature
- Cipher
- Getting Started
- 10. SafeTalk
- Using SafeTalk
- First-Time Setup
- Exporting a Key
- Importing a Key
- Starting a Conversation
- Receiving a Conversation
- Loopback Testing
- Under the Hood
- Architecture
- Session
- SessionServer
- Receiver
- SafeTalk
- Using SafeTalk
- 11. CipherMail
- Using CipherMail
- First-Time Setup
- Preferences
- Keys
- Getting and Reading Mail
- Sending Mail
- First-Time Setup
- Under the Hood
- Architecture
- Message Format
- Message
- POP3
- SMTP
- Composer
- CipherMail
- Using CipherMail
- 12. Outside the Box
- Application Design
- Self-Contained
- Demonstration Software
- Client/Server
- Client Applets
- Access Control
- Decompilers and Bytecode Obfuscation
- Endpoint Security
- File Security
- Serialization
- Deleting Files
- Virtual Memory
- Memory Scanning
- Network Security
- Summary
- Application Design
- A. BigInteger
- B. Base64
- C. JAR
- Creating
- Extracting
- The Manifest
- Signing
- D. Javakey
- Creating
- Inspecting
- Gimme the Keys...
- Certificates
- To and Fro
- Sign of the Times
- The Care and Feeding of Keys
- E. Quick Reference
- Package java.security
- Class java.security.AlgorithmParameters
- Class java.security.AlgorithmParametersSpi
- Class java.security.DigestInputStream
- Class java.security.DigestOutputStream
- Class java.security.Identity
- Class java.security.IdentityScope
- Interface java.security.Key
- Class java.security.KeyFactory
- Class java.security.KeyFactorySpi
- Class java.security.KeyPair
- Class java.security.KeyPairGenerator
- Class java.security.KeyPairGeneratorSpi
- Class java.security.KeyStore
- Class java.security.MessageDigest
- Class java.security.MessageDigestSpi
- Interface java.security.Principal
- Interface java.security.PrivateKey
- Class java.security.Provider
- Interface java.security.PublicKey
- Class java.security.SecureRandom
- Class java.security.Security
- Class java.security.Signature
- Class java.security.SignatureSpi
- Class java.security.SignedObject
- Class java.security.Signer
- Package java.security.cert
- Class java.security.cert.Certificate
- Class java.security.cert.RevokedCertificate
- Class java.security.cert.X509Certificate
- Class java.security.cert.X509CRL
- Interface java.security.cert.X509Extension
- Package java.security.interfaces
- Interface java.security.interfaces.DSAKey
- Interface java.security.interfaces.DSAKeyPairGenerator
- Interface java.security.interfaces.DSAParams
- Interface java.security.interfaces.DSAPrivateKey
- Interface java.security.interfaces.DSAPublicKey
- Package java.security.spec
- Interface java.security.spec.AlgorithmParameterSpec
- Class java.security.spec.DSAParameterSpec
- Class java.security.spec.DSAPrivateKeySpec
- Class java.security.spec.DSAPublicKeySpec
- Class java.security.spec.EncodedKeySpec
- Interface java.security.spec.KeySpec
- Class java.security.spec.PKCS8EncodedKeySpec
- Class java.security.spec.X509EncodedKeySpec
- Package javax.crypto
- Class javax.crypto.Cipher
- Class javax.crypto.CipherInputStream
- Class javax.crypto.CipherOutputStream
- Class javax.crypto.CipherSpi
- Class javax.crypto.KeyAgreement
- Class javax.crypto.KeyAgreementSpi
- Class javax.crypto.KeyGenerator
- Class javax.crypto.KeyGeneratorSpi
- Class javax.crypto.NullCipher
- Class javax.crypto.SealedObject
- Interface javax.crypto.SecretKey
- Class javax.crypto.SecretKeyFactory
- Class javax.crypto.SecretKeyFactorySpi
- Package javax.crypto.interfaces
- Interface javax.crypto.interfaces.DHKey
- Interface javax.crypto.interfaces.DHPrivateKey
- Interface javax.crypto.interfaces.DHPublicKey
- Interface javax.crypto.interfaces.RSAPrivateKey
- Interface javax.crypto.interfaces.RSAPrivateKeyCrt
- Interface javax.crypto.interfaces.RSAPublicKey
- Package javax.crypto.spec
- Class javax.crypto.spec.DESKeySpec
- Class javax.crypto.spec.DESedeKeySpec
- Class javax.crypto.spec.DHGenParameterSpec
- Class javax.crypto.spec.DHParameterSpec
- Class javax.crypto.spec.DHPrivateKeySpec
- Class javax.crypto.spec.DHPublicKeySpec
- Class javax.crypto.spec.IvParameterSpec
- Class javax.crypto.spec.PBEKeySpec
- Class javax.crypto.spec.PBEParameterSpec
- Class javax.crypto.spec.RSAPrivateKeyCrtSpec
- Class javax.crypto.spec.RSAPrivateKeySpec
- Class javax.crypto.spec.RSAPublicKeySpec
- Package java.security
- Index
- About the Author
- Colophon
- Copyright