RFC 2628 (rfc2628) - Page 2 of 30
Simple Cryptographic Program Interface (Crypto API)
Alternative Format: Original Text Document
RFC 2628 Crypto API June 1999
3.7.6. For CRYPTO_TYPE_UNCOMPRESS Algorithm Type . . . . . . . . . 18
3.7.7. For CRYPTO_TYPE_HASH Algorithm Type . . . . . . . . . . . . 19
3.7.8. For CRYPTO_TYPE_RANDOM Algorithm Type. . . . . . . . . . . 21
3.8. Cryptographic Context Control Function. . . . . . . . . . . . 22
4. Cryptoplugin Registration Procedure . . . . . . . . . . . . . . 23
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 23
6. References. . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7. Author's Address . . . . . . . . . . . . . . . . . . . . . . . 24
Appendix A. The interface specification as a C header file . . . . 25
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 30
1. Introduction
1.1. Summary
Nowadays internet applications that require cryptographic functions
at the level of operating system kernel, use the method that assumes
the libraries must be compiled/linked together with the module
(driver) which provides product functionality. For the sake of
possibility of independent development of the cryptographic modules
and in order to provide a simple, effective and universal (suitable
for application and as well kernel level of operating system)
solution this specification offers the method to extract encrypting
algorithms to the separate cryptographic modules.
This document describes simple open interface (Crypto API) to
external cryptographic libraries optimized both for the application
and kernel level of the operating system.
1.2. Terminology
Cryptoplugin
Operation system unit (driver, shared library, module) that
provides cryptographic functions via well-defined (but OS-
specific) interface.
Cryptolibrary
Part of cryptoplugin that provides its cryptographic functionality
via Crypto API.
Wrapper
Part of cryptoplugin that provides interfaces translation between
Crypto API and OS-specific interface.
Smyslov Informational