Beginning Cryptography with Java

Sold by John Wiley & Sons
2
Free sample

Beginning Cryptography with Java

While cryptography can still be a controversial topic in the programming community, Java has weathered that storm and provides a rich set of APIs that allow you, the developer, to effectively include cryptography in applications-if you know how.

This book teaches you how. Chapters one through five cover the architecture of the JCE and JCA, symmetric and asymmetric key encryption in Java, message authentication codes, and how to create Java implementations with the API provided by the Bouncy Castle ASN.1 packages, all with plenty of examples. Building on that foundation, the second half of the book takes you into higher-level topics, enabling you to create and implement secure Java applications and make use of standard protocols such as CMS, SSL, and S/MIME.

What you will learn from this book

  • How to understand and use JCE, JCA, and the JSSE for encryption and authentication
  • The ways in which padding mechanisms work in ciphers and how to spot and fix typical errors
  • An understanding of how authentication mechanisms are implemented in Java and why they are used
  • Methods for describing cryptographic objects with ASN.1
  • How to create certificate revocation lists and use the Online Certificate Status Protocol (OCSP)
  • Real-world Web solutions using Bouncy Castle APIs

Who this book is for

This book is for Java developers who want to use cryptography in their applications or to understand how cryptography is being used in Java applications. Knowledge of the Java language is necessary, but you need not be familiar with any of the APIs discussed.

Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Read more
Collapse

About the author

David Hook has been writing software in a variety of domains and languages for the last 20 years. He has worked with Java since 1995, originally doing medical imaging before moving into cryptography and security a year or so later. In April 2000, he co-founded the open source Bouncy Castle cryptography project and has played an active role in it ever since. He currently works as a freelance consultant, mainly in Java, doing the odd bit of lecturing and writing on the side. When he is not using his spare time to work on Bouncy Castle, he spends it pursuing his other interest in computer graphics. He lives in Melbourne, Australia, with his most patient wife Janine and a cat named Hamlet, who really seems to think he’s a little cryptographer in a fur coat. David can be reached at dgh@bund.com.au.
Read more
Collapse
4.0
2 total
Loading...

Additional Information

Publisher
John Wiley & Sons
Read more
Collapse
Published on
Nov 2, 2005
Read more
Collapse
Pages
484
Read more
Collapse
ISBN
9780471757016
Read more
Collapse
Read more
Collapse
Best For
Read more
Collapse
Language
English
Read more
Collapse
Genres
Computers / Information Technology
Computers / Software Development & Engineering / General
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
This book covers the most essential techniques for designing and building dependable distributed systems. Instead of covering a broad range of research works for each dependability strategy, the book focuses only a selected few (usually the most seminal works, the most practical approaches, or the first publication of each approach) are included and explained in depth, usually with a comprehensive set of examples. The goal is to dissect each technique thoroughly so that readers who are not familiar with dependable distributed computing can actually grasp the technique after studying the book.

The book contains eight chapters. The first chapter introduces the basic concepts and terminologies of dependable distributed computing, and also provide an overview of the primary means for achieving dependability. The second chapter describes in detail the checkpointing and logging mechanisms, which are the most commonly used means to achieve limited degree of fault tolerance. Such mechanisms also serve as the foundation for more sophisticated dependability solutions. Chapter three covers the works on recovery-oriented computing, which focus on the practical techniques that reduce the fault detection and recovery times for Internet-based applications. Chapter four outlines the replication techniques for data and service fault tolerance. This chapter also pays particular attention to optimistic replication and the CAP theorem. Chapter five explains a few seminal works on group communication systems. Chapter six introduces the distributed consensus problem and covers a number of Paxos family algorithms in depth. Chapter seven introduces the Byzantine generals problem and its latest solutions, including the seminal Practical Byzantine Fault Tolerance (PBFT) algorithm and a number of its derivatives. The final chapter covers the latest research results on application-aware Byzantine fault tolerance, which is an important step forward towards practical use of Byzantine fault tolerance techniques.

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 providersThe Sun key management toolsMessage digests, digital signatures, and certificates (X509v3)Block and stream ciphersImplementations of the ElGamal signature and cipher algorithmsA network talk application that encrypts all data sent over the networkAn email application that encrypts its messagesCovers JDK 1.2 and JCE 1.2.
©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.