Dismiss
InnovationQ/InnovationQ Plus content will be updated on Sunday, June 25, 10am ET, with new patent and non-patent literature collections. Click here to learn more.
Browse Prior Art Database

Simple Cryptographic Program Interface (Crypto API) (RFC2628)

IP.com Disclosure Number: IPCOM000003215D
Original Publication Date: 1999-Jun-01
Included in the Prior Art Database: 2000-Sep-13
Document File: 24 page(s) / 55K

Publishing Venue

Internet Society Requests For Comment (RFCs)

Related People

V. Smyslov: AUTHOR

Abstract

This document describes a simple Application Program Interface to cryptographic functions. The main purpose of such an interface is to separate cryptographic libraries from internet applications, thus allowing an independent development of both. It can be used in various internet applications such as [IPsec], [ISAKMP], [IKE], [TLS].

This text was extracted from a ASCII Text document.
This is the abbreviated version, containing approximately 5% of the total text.

Network Working Group V. Smyslov

Request for Comments: 2628 TWS

Category: Informational June 1999

Simple Cryptographic Program Interface (Crypto API)

Status of this Memo

This memo provides information for the Internet community. It does

not specify an Internet standard of any kind. Distribution of this

memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (1999). All Rights Reserved.

Abstract

This document describes a simple Application Program Interface to

cryptographic functions. The main purpose of such an interface is to

separate cryptographic libraries from internet applications, thus

allowing an independent development of both. It can be used in

various internet applications such as [IPsec], [ISAKMP], [IKE],

[TLS].

Table of Contents

1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Objectives of Development . . . . . . . . . . . . . . . . . . 3

2. Cryptoplugin Structure. . . . . . . . . . . . . . . . . . . . . 3

3. Program Interface . . . . . . . . . . . . . . . . . . . . . . . 4

3.1. Cryptoplugin Initialization Function. . . . . . . . . . . . . 4

3.1.1. Description of CryptoPluginInfo structure . . . . . . . . . 6

3.1.2. Description of CryptoAlgInfo structure. . . . . . . . . . . 6

3.2. Cryptoplugin Deinitialization Function. . . . . . . . . . . . 9

3.3. Cryptographic Context Opening Function. . . . . . . . . . . . 10

3.4. Cryptographic Context Reopening Function. . . . . . . . . . . 11

3.5. Cryptographic Context Closing Function. . . . . . . . . . . . 12

3.6. Key Verification Function . . . . . . . . . . . . . . . . . . 12

3.7. Data Transformation Function. . . . . . . . . . . . . . . . . 13

3.7.1. For CRYPTO_TYPE_ENCRYPT Algorithm Type. . . . . . . . . . . 13

3.7.2. For CRYPTO_TYPE_DECRYPT Algorithm Type. . . . . . . . . . . 14

3.7.3. For CRYPTO_TYPE_SIGN Algorithm Type . . . . . . . . . . . . 15

3.7.4. For CRYPTO_TYPE_VERIFY Algorithm Type . . . . . . . . . . . 17

3.7.5. For CRYPTO_TYPE_COMPRESS Algorithm Type . . . . . . . . . . 18

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