1/*!\mainpage BeeCrypt C++ API Documentation 2 * 3 * \section intro_sec Introduction 4 * 5 * BeeCrypt started its life when the need for a portable and fast cryptography 6 * library arose at Virtual Unlimited in 1997. I'm still trying to make it 7 * faster, easier to use and more portable, in addition to providing better 8 * documentation. 9 * 10 * \section license_sec License 11 * 12 * BeeCrypt is released under the following license: 13 * 14 * This library is free software; you can redistribute it and/or 15 * modify it under the terms of the GNU Lesser General Public 16 * License as published by the Free Software Foundation; either 17 * version 2.1 of the License, or (at your option) any later version. 18 * 19 * This library is distributed in the hope that it will be useful, 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 * Lesser General Public License for more details. 23 * 24 * You should have received a copy of the GNU Lesser General Public 25 * License along with this library; if not, write to the Free Software 26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 27 * 28 * Legal disclaimer: note that depending on where you are, the use of 29 * cryptography may be limited or forbidden by law. Before using this library, 30 * make sure you are legally entitled to do so. 31 * 32 * \section features_sec Features 33 * 34 * A new feature in version 4.x is the C++ API, built to resemble Java's 35 * security and cryptography API. 36 * 37 * As of version 4.2.0 basic versions of Object and Thread have been 38 * added and should work on any platform offering either POSIX, Solaris 39 * or Win32 threads. Java's Collections system had to be adapted to work 40 * in C++. See the documentation in class beecrypt::util::Collections 41 * 42 * Included in the base provider are broad spectrum of algorithms: 43 * <ul> 44 * <li>AlgorithmParameterGenerator 45 * <ul> 46 * <li>DH 47 * <li>DSA 48 * </ul> 49 * <li>AlgorithmParameters 50 * <ul> 51 * <li>DH 52 * <li>DHAES 53 * <li>DSA 54 * </ul> 55 * <li>Cipher 56 * <ul> 57 * <li>AES 58 * <li>Blowfish 59 * <li>DHAES 60 * </ul> 61 * <li>KeyAgreement 62 * <ul> 63 * <li>DH 64 * </ul> 65 * <li>KeyPairGenerator 66 * <ul> 67 * <li>DH 68 * <li>DSA 69 * <li>RSA 70 * </ul> 71 * <li>Mac 72 * <ul> 73 * <li>HMAC-MD5 74 * <li>HMAC-SHA-1 75 * <li>HMAC-SHA-256 76 * <li>HMAC-SHA-384 77 * <li>HMAC-SHA-512 78 * </ul> 79 * <li>MessageDigest 80 * <ul> 81 * <li>MD5 82 * <li>SHA-1 83 * <li>SHA-256 84 * <li>SHA-384 85 * <li>SHA-512 86 * </ul> 87 * <li>Signature 88 * <ul> 89 * <li>MD5withRSA 90 * <li>SHA1withDSA 91 * <li>SHA1withRSA 92 * <li>SHA256withRSA 93 * <li>SHA384withRSA 94 * <li>SHA512withRSA 95 * </ul> 96 * </ul> 97 * 98 */ 99 100/*!\defgroup CXX_m C++ API 101 */ 102/*!\defgroup CXX_IO_m C++ classes mimicking java.io 103 */ 104/*!\defgroup CXX_LANG_m C++ classes mimicking java.lang 105 */ 106/*!\defgroup CXX_NIO_m C++ classes mimicking java.nio 107 */ 108/*!\defgroup CXX_SECURITY_m C++ classes mimicking java.security 109 */ 110/*!\defgroup CXX_SECURITY_CERT_m C++ classes mimicking java.security.cert 111 */ 112/*!\defgroup CXX_SECURITY_INTERFACES_m C++ classes mimicking java.security.interfaces 113 */ 114/*!\defgroup CXX_SECURITY_SPEC_m C++ classes mimicking java.security.spec 115 */ 116/*!\defgroup CXX_UTIL_m C++ classes mimicking java.util 117 */ 118/*!\defgroup CXX_UTIL_CONCURRENT_m C++ classes mimicking java.util.concurrent 119 */ 120/*!\defgroup CXX_UTIL_CONCURRENT_LOCKS_m C++ classes mimicking java.util.concurrent.locks 121 */ 122/*!\defgroup CXX_CRYPTO_m C++ classes mimicking javax.crypto 123 */ 124/*!\defgroup CXX_CRYPTO_INTERFACES_m C++ classes mimicking javax.crypto.interfaces 125 */ 126/*!\defgroup CXX_CRYPTO_SPEC_m C++ classes mimicking javax.crypto.spec 127 */ 128/*!\defgroup CXX_SECURITY_AUTH_m C++ classes mimicking javax.security.auth 129 */ 130 131/*!\namespace beecrypt::io 132 * \brief Namespace emulating java.io 133 */ 134/*!\namespace beecrypt::lang 135 * \brief Namespace emulating java.lang 136 */ 137/*!\namespace beecrypt::nio 138 * \brief Namespace emulating java.nio 139 */ 140/*!\namespace beecrypt::security 141 * \brief Namespace emulating java.security 142 */ 143/*!\namespace beecrypt::security::cert 144 * \brief Namespace emulating java.security.cert 145 */ 146/*!\namespace beecrypt::security::interfaces 147 * \brief Namespace emulating java.security.interfaces 148 */ 149/*!\namespace beecrypt::security::spec 150 * \brief Namespace emulating java.security.spec 151 */ 152/*!\namespace beecrypt::util 153 * \brief Namespace emulating java.util 154 */ 155/*!\namespace beecrypt::util::concurrent 156 * \brief Namespace emulating java.util.concurrent 157 */ 158/*!\namespace beecrypt::util::concurrent::locks 159 * \brief Namespace emulating java.util.concurrent.locks 160 */ 161/*!\namespace beecrypt::crypto 162 * \brief Namespace emulating javax.crypto 163 */ 164/*!\namespace beecrypt::crypto::interfaces 165 * \brief Namespace emulating javax.crypto.interfaces 166 */ 167/*!\namespace beecrypt::crypto::spec 168 * \brief Namespace emulating javax.crypto.spec 169 */ 170/*!\namespace beecrypt::security::auth 171 * \brief Namespace emulating javax.security.auth 172 */ 173