(gcrypt.info.gz) Architecture
Info Catalog
(gcrypt.info.gz) Utilities
(gcrypt.info.gz) Top
(gcrypt.info.gz) Self-Tests
13 Architecture
***************
This chapter describes the internal architecture of Libgcrypt.
Libgcrypt is a function library written in ISO C-90. Any compliant
compiler should be able to build Libgcrypt as long as the target is
either a POSIX platform or compatible to the API used by Windows NT.
Provisions have been take so that the library can be directly used from
C++ applications; however building with a C++ compiler is not supported.
Building Libgcrypt is done by using the common `./configure && make'
approach. The configure command is included in the source distribution
and as a portable shell script it works on any Unix-alike system. The
result of running the configure script are a C header file
(`config.h'), customized Makefiles, the setup of symbolic links and a
few other things. After that the make tool builds and optionally
installs the library and the documentation. See the files `INSTALL'
and `README' in the source distribution on how to do this.
Libgcrypt is developed using a Subversion(1) repository. Although
all released versions are tagged in this repository, they should not be
used to build production versions of Libgcrypt. Instead released
tarballs should be used. These tarballs are available from several
places with the master copy at <ftp://ftp.gnupg.org/gcrypt/libgcrypt/>.
Announcements of new releases are posted to the
<gnupg-announce@gnupg.org> mailing list(2).
[image src="libgcrypt-modules.png" alt="Libgcrypt subsystems" ]
Figure 13.1: Libgcrypt subsystems
Libgcrypt consists of several subsystems (
fig:subsystems.) and all these subsystems provide a public API; this
includes the helper subsystems like the one for S-expressions. The API
style depends on the subsystem; in general an open-use-close approach
is implemented. The open returns a handle to a context used for all
further operations on this handle, several functions may then be used
on this handle and a final close function releases all resources
associated with the handle.
Menu
* Public-Key Subsystem Architecture About public keys.
* Symmetric Encryption Subsystem Architecture About standard ciphers.
* Hashing and MACing Subsystem Architecture About hashing.
* Multi-Precision-Integer Subsystem Architecture About big integers.
* Prime-Number-Generator Subsystem Architecture About prime numbers.
* Random-Number Subsystem Architecture About random stuff.
---------- Footnotes ----------
(1) A version control system available for many platforms
(2) See `http://www.gnupg.org/documentation/mailing-lists.en.html'
for details.
Info Catalog
(gcrypt.info.gz) Utilities
(gcrypt.info.gz) Top
(gcrypt.info.gz) Self-Tests
automatically generated by
info2html