| Apache Commons Crypto 1.1.0 |
| RELEASE NOTES |
| |
| The Apache Commons Crypto team is pleased to announce the release of Apache Commons Crypto 1.1.0 |
| |
| Apache Commons Crypto is a cryptographic library optimized with AES-NI (Advanced Encryption |
| Standard New Instructions). It provides Java API for both cipher level and Java stream level. |
| Developers can use it to implement high performance AES encryption/decryption with the minimum |
| code and effort. Please note that Crypto doesn't implement the cryptographic algorithm such as |
| AES directly. It wraps to Openssl or JCE which implement the algorithms. |
| |
| Features |
| -------- |
| |
| 1. Cipher API for low level cryptographic operations. |
| 2. Java stream API (CryptoInputStream/CryptoOutputStream) for high level stream encryption/decryption. |
| 3. Both optimized with high performance AES encryption/decryption. (1400 MB/s - 1700 MB/s throughput in modern Xeon processors). |
| 4. JNI-based implementation to achieve comparable performance to the native C/C++ version based on OpenSsl. |
| 5. Portable across various operating systems (currently only Linux/MacOSX/Windows); |
| Apache Commons Crypto loads the library according to your machine environment (it checks system properties, `os.name` and `os.arch`). |
| 6. Simple usage. Add the commons-crypto-(version).jar file to your classpath. |
| |
| |
| Export restrictions |
| ------------------- |
| |
| This distribution includes cryptographic software. |
| The country in which you currently reside may have restrictions |
| on the import, possession, use, and/or re-export to another country, |
| of encryption software. BEFORE using any encryption software, |
| please check your country's laws, regulations and policies |
| concerning the import, possession, or use, and re-export of |
| encryption software, to see if this is permitted. |
| See <http://www.wassenaar.org/> for more information. |
| |
| The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), |
| has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, |
| which includes information security software using or performing |
| cryptographic functions with asymmetric algorithms. |
| The form and manner of this Apache Software Foundation distribution makes |
| it eligible for export under the License Exception |
| ENC Technology Software Unrestricted (TSU) exception |
| (see the BIS Export Administration Regulations, Section 740.13) |
| for both object code and source code. |
| |
| The following provides more details on the included cryptographic software: |
| |
| * Commons Crypto use [Java Cryptography Extension](http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html) provided by Java |
| * Commons Crypto link to and use [OpenSSL](https://www.openssl.org/) ciphers |
| |
| Minor release (Java 8 and OpenSSL 1.1.1) |
| |
| Changes in this version include: |
| |
| New features: |
| o CRYPTO-59: Support Galois/Counter Mode (GCM). |
| o CRYPTO-131: Provide FAQ page. |
| o CRYPTO-139: Add support for AARCH64. |
| o CRYPTO-139: Make org.apache.commons.crypto.stream.input.Input extend Closeable. |
| o CRYPTO-139: Make org.apache.commons.crypto.stream.output.Output extend Closeable. |
| |
| Fixed Bugs: |
| o CRYPTO-125: CryptoOutputStream does not call write in a loop when underlying channel works in non-block mode. |
| o CRYPTO-134: CipherByteBufferExample should not truncate the string |
| o CRYPTO-137: Error compiling on Win64 with Mingw. |
| o CRYPTO-138: CipherByteArrayExample fails on OpenSSL 1.1.0g with java.lang.UnsatisfiedLinkError: EVP_CIPHER_CTX_cleanup. |
| o CRYPTO-141: Errors in native code can leave Java wrappers in bad state. |
| o CRYPTO-141: Intermittent Failure in GCMCipherTest#testGcmTamperedData() #105. Thanks to Alex Remily. |
| |
| Changes: |
| o Add support for ARM. |
| o Add support for ARM-HF. |
| o Reset JAVA_HOME for aarch64 and ppc builds. Turn off maven-enforcer for Xenial builds #104. Thanks to Geoffrey Blake. |
| o Update maven-checkstyle-plugin 3.0.0 -> 3.1.1. |
| o Update commons-parent 51 -> 52. |
| o Update maven-resources-plugin 3.1.0 -> 3.2.0. |
| o Update Apache CLIRR to JApiCmp. |
| o Update FindBugs to SpotBugs. |
| |
| |
| Testing: |
| - darwin64-x86_64-cc; OpenSSL 1.1.1g; thanks to Gary Gregory, Alex Remily. |
| - debian-amd64; OpenSSL 1.0.1f; thanks to Gary Gregory. |
| - debian-amd64; OpenSSL 1.1.1g; thanks to Bruno P. Kinoshita. |
| - Linux x86_64; OpenSSL 1.1.1; thanks to Alex Remily. |
| - Windows 64 (mingw64); OpenSSL 1.1.1d; thanks to Alex Remily. |
| - linux-aarch64; OpenSSL 1.0.2k-fips; thanks to Geoffrey Blake. |
| - debian-arm64; OpenSSL 1.1.1f; thanks to Geoffrey Blake. |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-crypto/changes-report.html |
| |
| For complete information on Apache Commons Crypto, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Commons Crypto website: |
| |
| https://commons.apache.org/proper/commons-crypto/ |
| |
| Download page: https://commons.apache.org/crypto/download_crypto.cgi |
| |
| ----------------------------------------------------------------------------- |
| |
| Apache Commons Crypto 1.0.0 |
| RELEASE NOTES |
| |
| The Apache Commons Crypto team is pleased to announce the release of Apache Commons Crypto 1.0.0 |
| |
| Apache Commons Crypto is a cryptographic library optimized with AES-NI (Advanced Encryption |
| Standard New Instructions). It provides Java API for both cipher level and Java stream level. |
| Developers can use it to implement high performance AES encryption/decryption with the minimum |
| code and effort. Please note that Crypto doesn't implement the cryptographic algorithm such as |
| AES directly. It wraps to Openssl or JCE which implement the algorithms. |
| |
| Features |
| -------- |
| |
| 1. Cipher API for low level cryptographic operations. |
| 2. Java stream API (CryptoInputStream/CryptoOutputStream) for high level stream encryption/decryption. |
| 3. Both optimized with high performance AES encryption/decryption. (1400 MB/s - 1700 MB/s throughput in modern Xeon processors). |
| 4. JNI-based implementation to achieve comparable performance to the native C/C++ version based on OpenSsl. |
| 5. Portable across various operating systems (currently only Linux/MacOSX/Windows); |
| Apache Commons Crypto loads the library according to your machine environment (it checks system properties, `os.name` and `os.arch`). |
| 6. Simple usage. Add the commons-crypto-(version).jar file to your classpath. |
| |
| |
| Export restrictions |
| ------------------- |
| |
| This distribution includes cryptographic software. |
| The country in which you currently reside may have restrictions |
| on the import, possession, use, and/or re-export to another country, |
| of encryption software. BEFORE using any encryption software, |
| please check your country's laws, regulations and policies |
| concerning the import, possession, or use, and re-export of |
| encryption software, to see if this is permitted. |
| See <http://www.wassenaar.org/> for more information. |
| |
| The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), |
| has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, |
| which includes information security software using or performing |
| cryptographic functions with asymmetric algorithms. |
| The form and manner of this Apache Software Foundation distribution makes |
| it eligible for export under the License Exception |
| ENC Technology Software Unrestricted (TSU) exception |
| (see the BIS Export Administration Regulations, Section 740.13) |
| for both object code and source code. |
| |
| The following provides more details on the included cryptographic software: |
| |
| * Commons Crypto use [Java Cryptography Extension](http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html) provided by Java |
| * Commons Crypto link to and use [OpenSSL](https://www.openssl.org/) ciphers |
| |
| Initial release |
| =============== |
| The initial release is known to build on Linux, MacOS/X and Windows (using MinGW). |
| It may build on other systems. |
| Please note that the JNA interface to OpenSSL is a preliminary release. |
| It is relatively slow, but may be of use on systems which aren't yet supported by the JNI code. |
| |
| Changes in this version include: |
| |
| New features: |
| o CRYPTO-68: Enable common code quality reports. |
| o CRYPTO-11: User guide documentation . Thanks to Ke Jia, Jerry Chen. |
| o CRYPTO-12: Rename CryptoInputStream to CipherInputStream and CryptoOutputStream to CipherOutputStream . Thanks to Xianda Ke. |
| o CRYPTO-13: The API differences between apache.commons.crypto and JCE . Thanks to Xianda Ke. |
| o CRYPTO-40: Remove the full qualified package name for shadowed classes . Thanks to Xianda Ke, Jerry Chen. |
| o CRYPTO-42: Remove the header files required for cross platform compilation . Thanks to Dian Fu, Jerry Chen. |
| o CRYPTO-45: Document how to build Commons Crypto . Thanks to Dian Fu, Benedikt Ritter. |
| o CRYPTO-48: Setup site build as defined in commons-parent pom . Thanks to Benedikt Ritter, Dapeng Sun. |
| |
| Fixed Bugs: |
| o CRYPTO-65: Warnings compiling on MacOSX - JNIEXPORT redefined. Thanks to sebb. |
| o CRYPTO-29: Make sure Cipher.ENCRYPT_MODE is consistent with JDK . Thanks to Dian Fu, Sebb. |
| o CRYPTO-30: Mutable fields should be private . Thanks to Ferdinand Xu, Sebb. |
| o CRYPTO-34: JavaSecureRandom should throw Exception if it cannot create the instance . Thanks to Dapeng Sun, Sebb. |
| o CRYPTO-47: Fix build of MAC_OS . Thanks to Dapeng Sun. |
| o CRYPTO-49: CRYPTO-1 Fix build of X86 . Thanks to Dapeng Sun. |
| o CRYPTO-57: Fix build on Mac OS Thanks to Benedikt Ritter. |
| o CRYPTO-61: Fix possible NPE in OpensslCryptoRandom Thanks to Hendrik Saly. |
| o CRYPTO-54: US Export classification and ECCN registration for encryption Thanks to Stian Soiland-Reyes, Jerry Chen, Benedikt Ritter, Gary Gregory. |
| |
| Changes: |
| o CRYPTO-26: Utility classes should not have public constructors . Thanks to Dapeng Sun. |
| o CRYPTO-28: Update the README.md of Apache Commons Crypto . Thanks to Ferdinand Xu, Ke Jia. |
| o CRYPTO-3: Change default cipher as OpensslCipher . Thanks to ferdinand xu. |
| o CRYPTO-31: Make fields final wherever possible . Thanks to Ferdinand Xu, Sebb. |
| o CRYPTO-33: SecureRandom shadows JVM class . Thanks to Xianda Ke, Sebb. |
| o CRYPTO-38: Always use blocks . Thanks to Dapeng Sun, Gary Gregory. |
| o CRYPTO-7: Rename source code in Chimera to Apache name space . Thanks to ferdinand xu. |
| o CRYPTO-62: Add multithreaded related tests Thanks to Hendrik Saly. |
| |
| |
| Historical list of changes: https://commons.apache.org/proper/commons-crypto/changes-report.html |
| |
| For complete information on Apache Commons Crypto, including instructions on how to submit bug reports, |
| patches, or suggestions for improvement, see the Apache Apache Commons Crypto website: |
| |
| https://commons.apache.org/proper/commons-crypto/ |