blob: 6d374ffff0dc4cc4c61c016d16cfd82020e38c17 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html>
<head>
<title>Proposal for Apache Commons Crypto Package</title>
</head>
<body bgcolor="white">
<div align="center">
<h1>Proposal for <em>Apache Commons Crypto</em> Package</h1>
</div>
<h3>(0) Rationale</h3>
<p>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.</p>
<p>(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.)</p>
<h3>(1) Scope of the Package</h3>
<p>This proposal is to create a package of cryptographic IO classes with the integration
of Openssl library. </p>
<p>It focuses on AES-NI optimizations mainly and it can be extended to other algorithms
based on demand from the users later.</p>
<h3>(1.5) Interaction With Other Packages</h3>
<p><em>IO</em> 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.</p>
<h3>(2) Initial Source of the Package</h3>
<p>The initial classes came from the Apache Hadoop.</p>
<p>The proposed package name for the new component is <code>org.apache.commons.crypto</code>.</p>
<h3>(3) Required Apache Commons Resources</h3>
<ul>
<li>Git Repository - New repository <code>commons-crypto</code>
<li>Mailing List - Discussions will take place on the general <em>dev@commons.apache.org</em>
mailing list.
<br>To help list subscribers identify messages of interest,
it is suggested that the message subject of messages about this component
be prefixed with [Crypto]. </br></li>
<li>JIRA - New component "Crypto" under the "Commons" project.</li>
<li>Confluence FAQ - New category “commons-crypto" (when available).</li>
</ul>
<h3>(4) Initial Committers</h3>
<ul>
<li>Aaron T Myers (atm@apache.org, Apache Hadoop PMC, one of the original Crypto dev team in Apache Hadoop)</li>
<li>Andrew Wang (wang@apache.org, Apache Hadoop PMC, one of the original Crypto dev team in Apache Hadoop)</li>
<li>Chris Nauroth (cnauroth@apache.org, Apache Hadoop PMC and active reviewer)</li>
<li>Colin P. McCabe (cmccabe@apache.org, Apache Hadoop PMC, one of the original Crypto dev team in Apache Hadoop)</li>
<li>Dapeng Sun (sdp@apache.org, Apache Sentry Committer, Chimera contributor)</li>
<li>Dian Fu (dianfu@apache.org, Apache Sqoop Committer, Chimera contributor)</li>
<li>Dong Chen (dongc@apache.org, Apache Hive Committer,interested on Chimera)</li>
<li>Ferdinand Xu (xuf@apache.org, Apache Hive Committer, Chimera contributor)</li>
<li>Haifeng Chen (haifengchen@apache.org, Chimera lead and code contributor)</li>
<li>Marcelo Vanzin(Apache Spark Committer, Chimera contributor)</li>
<li>Uma Maheswara Rao G(umamahesh@apache.org, Apache Hadoop PMC, One of Crypto dev/review in Apache Hadoop)</li>
<li>Yi Liu (yliu@apache.org, Apache Hadoop PMC, One of Crypto dev/review in Apache Hadoop)</li>
</ul>
<br>
</body>
</html>