Provided by: libbobcat-dev_5.02.00-1build1_amd64 bug


       FBB::ISymCryptStream - Istream performing symmetric encryption


       #include <bobcat/isymcryptstream>
       Linking option: -lbobcat -lcrypto


       FBB::ISymCryptStream  objects  may  be  used  to  encrypt  or  decrypt information that is
       available on a separate std::istream.

       The class ISymCryptStream is a class template, using a  FBB::CryptType  template  non-type
       parameter. Objects of the class FBB::ISymCryptStream<FBB::ENCRYPT> encrypt the information
       they  receive,  objects  of  the  class  FBB::ISymCryptStream<FBB::DECRYPT>  decrypt   the
       information they receive.

       All  symmetric  encryption  methods defined by the OpenSSL library that can be selected by
       name may be used in combination with EncryptBuf objects. To select a particular encryption
       method  an identifier is passed to the constructor. E.g., "aes-128-cbc" indicating the AES
       (Rijndael) method, using 128 bit sized keys and blocks using `cbc’ mode (see below for  an

       Refer   to  the  isymcryptstreambuf(3bobcat)  man-page  for  a  description  of  available
       encryption methods.


       All constructors, members, operators and manipulators, mentioned  in  this  man-page,  are
       defined in the namespace FBB.


       FBB::ISymCryptStreambuf (private),


       o      ISymCryptStream<CryptType>(  std::istream &in,        char const *type, std::string
              const &key,  std::string const &iv, size_t bufSize = 100,    size_t filterBufSize =
              1000, ENGINE *engine = 0):
              This    constructor    initializes    a   std::istream   providing   it   with   an
              FBB::ISymCryptStreambuf  stream  buffer.   The   ISymCryptStreambuf’s   constructor
              receives all arguments that are passed to this constructor.

              - ISymCryptStream<ENCRYPT> objects perform encryption;
              ISymCryptStream<DECRYPT> objects perform decryption;
              -  ISymCryptStream<CryptType>  objects  obtain the bytes to encrypt or decrypt from
              std::istream &in;
              - The encryption method to use is specified by the type parameter.  E.g.,  "bf-cbc"
              selects the Blowfish Cipher Block Chaining method;
              - The symmetric key to use is specified by the key parameter;
              - The initialization vector is specified by the iv parameter;
              -   The   FBB::ISymCryptStreambuf  internally  used  buffer  will  contain  bufSize
              characters. The default value is the smallest value that is used.  When  a  smaller
              bufSize value is specified, the default value is used;
              -   The   internally   used  IFilterBuf  is  initialized  with  a  buffer  of  size
              filterBufSize, using a lower bound of 100;
              - The parameter ENGINE can be used to specify a hardware  acceleration  engine,  as
              supported  by  the  used  encryption/decryption  method. Its default argument value
              indicates that no hardware acceleration is available.

       Copy and move constructors (and assignment operators) are not available.


       Since the class uses public derivation from std::istream, all members of this class can be


       #include "../isymcryptstream"

       #include <iostream>

       using namespace std;
       using namespace FBB;

       int main()
           ISymCryptStream<ENCRYPT> encryptor(cin, "bf-cbc",
                                           "1234567890", "1234567890");

           ISymCryptStream<DECRYPT> decryptor(encryptor, "bf-cbc",
                                           "1234567890", "1234567890");

           cout << decryptor.rdbuf();


       bobcat/isymcryptstream - defines the class interface


       bobcat(7), isymcryptstreambuf(3bobcat)


       Sep/Oct   2013:   due   to   a   change   in   library   handling   by   the  linker  (cf.                               and  libraries  that are indirectly required are
       no longer automatically linked to your program.  With  BigInt  this  is  libcrypto,  which
       requires programs to link to both bobcat and crypto.


       o      bobcat_5.02.00-x.dsc: detached signature;

       o      bobcat_5.02.00-x.tar.gz: source archive;

       o      bobcat_5.02.00-x_i386.changes: change log;

       o      libbobcat1_5.02.00-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_5.02.00-x_*.deb:  debian  package holding the libraries, headers and
              manual pages;

       o public archive location;


       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.


       This is free software, distributed under the terms  of  the  GNU  General  Public  License


       Frank B. Brokken (