Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision 3e35b3a1a317d910e87dab1c832d0678a790a8f5 authored by cvs2svn on 15 March 2004, 23:02:56 UTC, committed by cvs2svn on 15 March 2004, 23:02:56 UTC
This commit was manufactured by cvs2svn to create tag
'LEVITTE_before_const'.
3 parent s ec37635 + dfeab06 + 15403de
  • Files
  • Changes
  • e87b771
  • /
  • demos
  • /
  • engines
  • /
  • zencod
  • /
  • hw_zencod.h
Raw File
Cook and download a directory from the Software Heritage Vault

You have requested the cooking of the directory with identifier None into a standard tar.gz archive.

Are you sure you want to continue ?

Download a directory from the Software Heritage Vault

You have requested the download of the directory with identifier None as a standard tar.gz archive.

Are you sure you want to continue ?

Cook and download a revision from the Software Heritage Vault

You have requested the cooking of the history heading to revision with identifier swh:1:rev:3e35b3a1a317d910e87dab1c832d0678a790a8f5 into a bare git archive.

Are you sure you want to continue ?

Download a revision from the Software Heritage Vault

You have requested the download of the history heading to revision with identifier swh:1:rev:3e35b3a1a317d910e87dab1c832d0678a790a8f5 as a bare git archive.

Are you sure you want to continue ?

Invalid Email !

The provided email is not well-formed.

Download link has expired

The requested archive is no longer available for download from the Software Heritage Vault.

Do you want to cook it again ?

Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • content
revision badge
swh:1:rev:3e35b3a1a317d910e87dab1c832d0678a790a8f5
content badge Iframe embedding
swh:1:cnt:415c9a6be8b27a11a7c3bb275049de6935d08b28
hw_zencod.h
/* File : /crypto/engine/vendor_defns/hw_zencod.h */
/* ====================================================================
 * Written by Donnat Frederic (frederic.donnat@zencod.com) from ZENCOD
 * for "zencod" ENGINE integration in OpenSSL project.
 */


 #ifndef	_HW_ZENCOD_H_
#define	_HW_ZENCOD_H_

#include <stdio.h>

#ifdef	__cplusplus
extern "C" {
#endif	/* __cplusplus */

#define ZENBRIDGE_MAX_KEYSIZE_RSA	2048
#define ZENBRIDGE_MAX_KEYSIZE_RSA_CRT	1024
#define ZENBRIDGE_MAX_KEYSIZE_DSA_SIGN	1024
#define ZENBRIDGE_MAX_KEYSIZE_DSA_VRFY	1024

/* Library version computation */
#define	ZENBRIDGE_VERSION_MAJOR(x)	(((x) >> 16) | 0xff)
#define	ZENBRIDGE_VERSION_MINOR(x)	(((x) >>  8) | 0xff)
#define	ZENBRIDGE_VERSION_PATCH(x)	(((x) >>  0) | 0xff)
#define	ZENBRIDGE_VERSION(x, y, z)		((x) << 16 | (y) << 8 | (z))

/*
 * Memory type
 */
typedef struct zencod_number_s {
	unsigned long len;
	unsigned char *data;
} zen_nb_t;

#define KEY	zen_nb_t


/*
 * Misc
 */
typedef int t_zencod_lib_version (void);
typedef int t_zencod_hw_version (void);
typedef int t_zencod_test (void);
typedef int t_zencod_dump_key (FILE *stream, char *msg, KEY *key);


/*
 * Key management tools
 */
typedef KEY *t_zencod_new_number (unsigned long len, unsigned char *data);
typedef int t_zencod_init_number (KEY *n, unsigned long len, unsigned char *data);
typedef unsigned long t_zencod_bytes2bits (unsigned char *n, unsigned long bytes);
typedef unsigned long t_zencod_bits2bytes (unsigned long bits);


/*
 * RSA API
 */
/* Compute modular exponential : y = x**e | n */
typedef int t_zencod_rsa_mod_exp (KEY *y, KEY *x, KEY *n, KEY *e);
/* Compute modular exponential : y1 = (x | p)**edp | p, y2 = (x | p)**edp | p, y = y2 + (qinv * (y1 - y2) | p) * q */
typedef int t_zencod_rsa_mod_exp_crt (KEY *y, KEY *x, KEY *p, KEY *q,
					KEY *edp, KEY *edq, KEY *qinv);


/*
 * DSA API
 */
typedef int t_zencod_dsa_do_sign (unsigned int hash, KEY *data, KEY *random,
				    KEY *p, KEY *q, KEY *g, KEY *x, KEY *r, KEY *s);
typedef int t_zencod_dsa_do_verify (unsigned int hash, KEY *data,
				      KEY *p, KEY *q, KEY *g, KEY *y,
				      KEY *r, KEY *s, KEY *v);


/*
 * DH API
 */
 /* Key generation : compute public value y = g**x | n */
typedef int t_zencod_dh_generate_key (KEY *y, KEY *x, KEY *g, KEY *n, int gen_x);
typedef int t_zencod_dh_compute_key (KEY *k, KEY *y, KEY *x, KEY *n);


/*
 * RNG API
 */
#define ZENBRIDGE_RNG_DIRECT		0
#define ZENBRIDGE_RNG_SHA1		1
typedef int t_zencod_rand_bytes (KEY *rand, unsigned int flags);


/*
 * Math API
 */
typedef int t_zencod_math_mod_exp (KEY *r, KEY *a, KEY *e, KEY *n);




/*
 * Symetric API
 */
/* Define a data structure for digests operations */
typedef struct ZEN_data_st
{
	unsigned int HashBufferSize ;
	unsigned char *HashBuffer ;
} ZEN_MD_DATA ;

/*
 * Functions for Digest (MD5, SHA1) stuff
 */
/* output : output data buffer */
/* input : input data buffer */
/* algo : hash algorithm, MD5 or SHA1 */
/* typedef int t_zencod_hash ( KEY *output, const KEY *input, int algo ) ;
 * typedef int t_zencod_sha_hash ( KEY *output, const KEY *input, int algo ) ;
 */
/* For now separate this stuff that mad it easier to test */
typedef int t_zencod_md5_init ( ZEN_MD_DATA *data ) ;
typedef int t_zencod_md5_update ( ZEN_MD_DATA *data, const KEY *input ) ;
typedef int t_zencod_md5_do_final ( ZEN_MD_DATA *data, KEY *output ) ;

typedef int t_zencod_sha1_init ( ZEN_MD_DATA *data ) ;
typedef int t_zencod_sha1_update ( ZEN_MD_DATA *data, const KEY *input ) ;
typedef int t_zencod_sha1_do_final ( ZEN_MD_DATA *data, KEY *output ) ;


/*
 * Functions for Cipher (RC4, DES, 3DES) stuff
 */
/* output : output data buffer */
/* input : input data buffer */
/* key : rc4 key data */
/* index_1 : value of index x from RC4 key structure */
/* index_2 : value of index y from RC4 key structure */
/* Be carefull : RC4 key should be expanded before calling this method (Should we provide an expand function ??) */
typedef int t_zencod_rc4_cipher ( KEY *output, const KEY *input, const KEY *key,
		unsigned char *index_1, unsigned char *index_2, int mode ) ;

/* output : output data buffer */
/* input : input data buffer */
/* key_1 : des first key data */
/* key_2 : des second key data */
/* key_3 : des third key data */
/* iv : initial vector */
/* mode : xdes mode (encrypt or decrypt) */
/* Be carefull : In DES mode key_1 = key_2 = key_3 (as far as i can see !!) */
typedef int t_zencod_xdes_cipher ( KEY *output, const KEY *input, const KEY *key_1,
		const KEY *key_2, const KEY *key_3, const KEY *iv, int mode ) ;


#undef KEY

#ifdef	__cplusplus
}
#endif	/* __cplusplus */

#endif	/* !_HW_ZENCOD_H_ */
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top