# Poco

# namespace Crypto

## Overview

Classes: Cipher, CipherFactory, CipherImpl, CipherKey, CipherKeyImpl, CryptoIOS, CryptoInputStream, CryptoOutputStream, CryptoStreamBuf, CryptoTransform, OpenSSLInitializer, RSACipherImpl, RSADigestEngine, RSAKey, RSAKeyImpl, X509Certificate

## Classes

### class Cipher

Represents the abstract base class from which all implementations of symmetric/assymetric encryption algorithms must inherit.

### class CipherFactory

A factory for Cipher objects.

### class CipherImpl

An implementation of the Cipher class for OpenSSL's crypto library.

### class CipherKey

CipherKey stores the key information for decryption/encryption of data.

### class CipherKeyImpl

An implementation of the CipherKey class for OpenSSL's crypto library.

### class CryptoIOS

The base class for CryptoInputStream and CryptoOutputStream.

### class CryptoInputStream

This stream transforms all data passing through it using the given CryptoTransform.

### class CryptoOutputStream

This stream transforms all data passing through it using the given CryptoTransform.

### class CryptoStreamBuf

This stream buffer performs cryptographic transformation on the data going through it.

### class CryptoTransform

This interface represents the basic operations for cryptographic transformations to be used with a CryptoInputStream or a CryptoOutputStream.

### class OpenSSLInitializer

Initalizes the OpenSSL library.

### class RSACipherImpl

An implementation of the Cipher class for assymetric (public-private key) encryption based on the the RSA algorithm in OpenSSL's crypto library.

### class RSADigestEngine

This class implements a Poco::DigestEngine that can be used to compute a secure digital signature.

### class RSAKey

This class stores an RSA key pair, consisting of private and public key.

### class RSAKeyImpl

class RSAKeyImpl

### class X509Certificate

This class represents a X509 Certificate.