Bouncy Castle FIPS Java API)

Bouncy Castle FIPS Java API)

Legion of the Bouncy Castle Inc. BC-FJA 1.0.2 (Bouncy Castle FIPS Java API) User Guide Date: 05/17/21 Legion of the Bouncy Castle Inc. (ABN 84 166 338 567) https://www.bouncycastle.org Copyright and Trademark Notice This document is licensed under a Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/) Sponsored By https://www.microfocus.com https://www.tripwire.com https://www.vmware.com https://www.cryptoworkshop.com Acknowledgements Crypto Workshop would like to acknowledge that its contribution has largely been made possible through its clients purchasing Bouncy Castle support agreements. The following people and organisations also contributed financially to this project. Organisations: CERTOSS, Inc. Individuals: Bryan Donlan and ForClojureGuy. We would also like to acknowledge the following people and organizations for additional help in putting together this release: Nick Goble, CGI Federal, United States of America. Mark Minnoch and Steve Weymann, KeyPair Consulting, United States of America. To all the above and our anonymous donors, we are grateful. Thanks. Validation testing was performed by Acumen Security. For more information on validation or revalidations of the software contact: Ryan Thomas Laboratory Manager, CISSP, CISA Acumen Security 18504 Office Park Dr Montgomery Village, MD 20886 United States of America For further information about this distribution, or to help support this work further, please contact us at [email protected]. Table of Contents 1 Introduction.......................................................................................................................................7 1.1 About the FIPS Validation.........................................................................................................7 1.2 Use with the BC PKIX, OpenPGP (PG), and SMIME APIs.....................................................7 1.3 Commercial Support..................................................................................................................7 1.4 Using the Module in an Application for FIPS compliance........................................................7 1.5 If you need Changes or Enhancements......................................................................................8 2 Installation.........................................................................................................................................9 2.1 Provider installation into the JRE..............................................................................................9 2.2 Provider installation as a provider for the JSSE......................................................................10 2.3 Provider configuration.............................................................................................................10 3 Cipher Algorithms (Symmetric)......................................................................................................12 3.1 Available in Approved Mode Operation..................................................................................12 3.2 Available in General Operation................................................................................................12 3.3 Paddings Available...................................................................................................................13 3.3 Examples..................................................................................................................................13 3.3.1 AES Encryption using CBC and PKCS5/7Padding.........................................................14 3.3.2 JCE AES Encryption using CBC and PKCS5/7Padding.................................................15 3.3.3 JCE AES Encryption using GCM and an AEADParameterSpec.....................................15 3.3.4 JCE AES Encryption using CTR a short IV....................................................................15 4 Cipher Algorithms (Public Key)......................................................................................................17 4.1 Available in General Operation................................................................................................17 4.2 Paddings Available...................................................................................................................17 4.3 Examples..................................................................................................................................17 4.3.1 JCE RSA with PKCS1 Padding.......................................................................................17 4.3.1 JCE ElGamal with OAEP SHA1 Padding.......................................................................17 5 Key Agreement Algorithms.............................................................................................................19 5.1 Available in Approved Mode Operation..................................................................................19 5.2 Available in General Operation................................................................................................23 5.3 Examples..................................................................................................................................24 5.3.1 Basic Agreement..............................................................................................................24 5.3.2 Basic Agreement with Cofactor.......................................................................................24 5.3.3 Basic Agreement with PRF..............................................................................................24 5.3.4 JCE Basic Agreement.......................................................................................................25 5.3.5 JCE One-pass MQV.........................................................................................................25 5.3.6 JCE One-pass MQV with key confirmation....................................................................25 5.3.7 JCE One-pass Diffie-Hellman Unified (DHU)................................................................26 5.3.8 JCE One-pass DHU with key confirmation.....................................................................26 6 Key Derivation Functions................................................................................................................28 6.1 Available in Approved Mode Operation..................................................................................28 6.2 Available in General Mode Operation.....................................................................................28 6.3 Examples..................................................................................................................................28 6.3.1 Feedback Mode................................................................................................................28 6.3.2 X9.63 KDF.......................................................................................................................29 6.3.3 Scrypt KDF......................................................................................................................29 7 Key Stores.......................................................................................................................................30 7.1 Examples..................................................................................................................................30 7.1.1 BCFKS key store.............................................................................................................30 7.1.2 BCFKS using scrypt.........................................................................................................31 8 Key Transport Algorithms...............................................................................................................32 8.1 Examples..................................................................................................................................32 8.1.1 JCE KTS-KEM-KWS......................................................................................................32 8.1.2 JCE KTS-KEM-KWS in approved mode........................................................................32 9 Key Wrapping Algorithms...............................................................................................................34 9.1 Available in Approved Mode Operation..................................................................................34 9.2 Available in General Operation................................................................................................34 9.3 Examples..................................................................................................................................35 9.3.1 Key Wrapping using RSA................................................................................................35 9.3.2 Key Wrapping using AES................................................................................................36 9.3.3 JCE Key Wrapping using ElGamal..................................................................................36 9.3.4 JCE Key Wrapping using Camellia with padding............................................................36 10 Mac Algorithms.............................................................................................................................38 10.1 Available in Approved Mode Operation................................................................................38

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    71 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us