GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  ISYMCRYPTSTREAM (3)

NAME

FBB::ISymCryptStream - Istream performing symmetric encryption

CONTENTS

SYNOPSIS

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

DESCRIPTION

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., \(dqaes-128-cbc\(dq indicating the AES (Rijndael) method, using 128 bit sized keys and blocks using ‘cbc\(cq mode (see below for an explanation).

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

NAMESPACE

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

INHERITS FROM

FBB::ISymCryptStreambuf (private),
std::istream

CONSTRUCTOR

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\(cqs 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., \(dqbf-cbc\(dq 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 IFilterStreambuf is initialized with a buffer of size filterBufSize, using a lower bound of 100;
- The parameter ENGINE can be used to specify a hardware accelleration engine, as supported by the used encryption/decryption method. Its default argument value indicates that no hardware accelleration is available.

INHERITED MEMBERS

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

EXAMPLE

#include \(dq../isymcryptstream\(dq

#include <iostream>

using namespace std; using namespace FBB;

int main() { ISymCryptStream<ENCRYPT> encryptor(cin, \(dqbf-cbc\(dq, \(dq1234567890\(dq, \(dq1234567890\(dq);

ISymCryptStream<DECRYPT> decryptor(encryptor, \(dqbf-cbc\(dq, \(dq1234567890\(dq, \(dq1234567890\(dq);

cout << decryptor.rdbuf(); }

FILES

bobcat/isymcryptstream - defines the class interface

SEE ALSO

bobcat(7), isymcryptstreambuf(3bobcat)

BUGS

Sep/Oct 2013: due to a change in library handling by the linker (cf. http://fedoraproject.org/wiki/UnderstandingDSOLinkChange and https://wiki.debian.org/ToolChain/DSOLinking) 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.

DISTRIBUTION FILES

o bobcat_3.25.01-x.dsc: detached signature;
o bobcat_3.25.01-x.tar.gz: source archive;
o bobcat_3.25.01-x_i386.changes: change log;
o libbobcat1_3.25.01-x_*.deb: debian package holding the libraries;
o libbobcat1-dev_3.25.01-x_*.deb: debian package holding the libraries, headers and manual pages;
o http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

Bobcat is an acronym of ‘Brokken\(cqs Own Base Classes And Templates\(cq.

COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).

Search for    or go to Top of page |  Section 3 |  Main Index


libbobcat-dev_3&.25&.01-x&.tar&.gz FBB::ISYMCRYPTSTREAM (3bobcat) 2005-2015

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.