Commit | Line | Data |
---|---|---|
2596a09e WJ |
1 | /* algorithm.h - */ |
2 | ||
3 | /* | |
4 | * $Header: /f/osi/h/quipu/RCS/algorithm.h,v 7.1 91/02/22 09:25:23 mrose Interim $ | |
5 | * | |
6 | * | |
7 | * $Log: algorithm.h,v $ | |
8 | * Revision 7.1 91/02/22 09:25:23 mrose | |
9 | * Interim 6.8 | |
10 | * | |
11 | * Revision 7.0 91/01/28 06:26:53 mrose | |
12 | * *** empty log message *** | |
13 | * | |
14 | */ | |
15 | ||
16 | /* | |
17 | * NOTICE | |
18 | * | |
19 | * Acquisition, use, and distribution of this module and related | |
20 | * materials are subject to the restrictions of a license agreement. | |
21 | * Consult the Preface in the User's Manual for the full terms of | |
22 | * this agreement. | |
23 | * | |
24 | */ | |
25 | ||
26 | #ifndef QUIPUALGORITHM | |
27 | #define QUIPUALGORITHM | |
28 | ||
29 | struct PublicKeyAlgorithm { | |
30 | char *name; | |
31 | IFP encrypt; | |
32 | IFP decrypt; | |
33 | IFP read_secret; | |
34 | IFP write_secret; | |
35 | IFP read_public; | |
36 | IFP write_public; | |
37 | IFP pack_encrypted; | |
38 | IFP unpack_encrypted; | |
39 | IFP pack_public; | |
40 | IFP unpack_public; | |
41 | IFP pack_secret; | |
42 | IFP unpack_secret; | |
43 | IFP get_blocksize; | |
44 | IFP free_encrypted; | |
45 | }; | |
46 | ||
47 | struct HashAlgorithm { | |
48 | char *hash_name; | |
49 | IFP hash_block; | |
50 | IFP hash_short; | |
51 | IFP hash_start; | |
52 | IFP hash_end; | |
53 | IFP hash_pack; | |
54 | IFP hash_unpack; | |
55 | IFP hash_blocksize; | |
56 | IFP hash_compare; | |
57 | IFP hash_free; | |
58 | }; | |
59 | ||
60 | struct SignatureAlgorithm { | |
61 | char *sig_name; | |
62 | struct PublicKeyAlgorithm *sig_public; | |
63 | struct HashAlgorithm *sig_hash; | |
64 | }; | |
65 | ||
66 | #endif /* QUIPUALGORITHM */ | |
67 |