Proposal for Apache Commons Crypto Package
Providing Java based optimized and high performance cryptographic IO streams for
the applications who wants to implement the data encryption. It also provides cipher
level API to use. It does provide the openssl API integration and provide the fallback
mechanism to use JCE when openssl library unavailable.
(Note: Please note that Commons Crypto doesn’t
implement the cryptographic algorithm such as AES directly. It wraps to Openssl or JCE
which implement algorithms.)
(1) Scope of the Package
This proposal is to create a package of cryptographic IO classes with the integration
of Openssl library.
It focuses on AES-NI optimizations mainly and it can be extended to other algorithms
based on demand from the users later.
(1.5) Interaction With Other Packages
IO Commons Crypto relies on standard JDK 7 (or later) APIs for production
deployment and on OpenSSL 1.0.1c devl libraries. It utilizes the JUnit unit testing
framework, but this is of interest only to developers of the component.
The functionality provided by Commons Crypto is currently in use by Apache Hadoop
and Apache Spark, and both of those communities have expressed interest in changing
their dependency to be on the central Commons Crypto package once it exists.
(2) Initial Source of the Package
The initial classes came from the Apache Hadoop.
The proposed package name for the new component is
(3) Required Apache Commons Resources
- Git Repository - New repository
- Mailing List - Discussions will take place on the general email@example.com
To help list subscribers identify messages of interest,
it is suggested that the message subject of messages about this component
be prefixed with [Crypto].
- JIRA - New component "Crypto" under the "Commons" project.
- Confluence FAQ - New category “commons-crypto" (when available).
(4) Initial Committers
- Aaron T Myers (firstname.lastname@example.org, Apache Hadoop PMC, one of the original Crypto dev team in Apache Hadoop)
- Andrew Wang (email@example.com, Apache Hadoop PMC, one of the original Crypto dev team in Apache Hadoop)
- Chris Nauroth (firstname.lastname@example.org, Apache Hadoop PMC and active reviewer)
- Colin P. McCabe (email@example.com, Apache Hadoop PMC, one of the original Crypto dev team in Apache Hadoop)
- Dapeng Sun (firstname.lastname@example.org, Apache Sentry Committer, Chimera contributor)
- Dian Fu (email@example.com, Apache Sqoop Committer, Chimera contributor)
- Dong Chen (firstname.lastname@example.org, Apache Hive Committer,interested on Chimera)
- Ferdinand Xu (email@example.com, Apache Hive Committer, Chimera contributor)
- Haifeng Chen (firstname.lastname@example.org, Chimera lead and code contributor)
- Marcelo Vanzin(Apache Spark Committer, Chimera contributor)
- Uma Maheswara Rao G(email@example.com, Apache Hadoop PMC, One of Crypto dev/review in Apache Hadoop)
- Yi Liu (firstname.lastname@example.org, Apache Hadoop PMC, One of Crypto dev/review in Apache Hadoop)