cyassl re-port with cellular comms, PSK test
Dependencies: VodafoneUSBModem_bleedingedge2 mbed-rtos mbed-src
dsa.h
00001 /* dsa.h 00002 * 00003 * Copyright (C) 2006-2012 Sawtooth Consulting Ltd. 00004 * 00005 * This file is part of CyaSSL. 00006 * 00007 * CyaSSL is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * CyaSSL is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 00020 */ 00021 00022 00023 #ifndef NO_DSA 00024 00025 #ifndef CTAO_CRYPT_DSA_H 00026 #define CTAO_CRYPT_DSA_H 00027 00028 #include <cyassl/ctaocrypt/types.h> 00029 #include <cyassl/ctaocrypt/integer.h> 00030 #include <cyassl/ctaocrypt/random.h> 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00036 00037 enum { 00038 DSA_PUBLIC = 0, 00039 DSA_PRIVATE = 1 00040 }; 00041 00042 /* DSA */ 00043 typedef struct DsaKey { 00044 mp_int p, q, g, y, x; 00045 int type; /* public or private */ 00046 } DsaKey; 00047 00048 00049 CYASSL_API void InitDsaKey(DsaKey* key); 00050 CYASSL_API void FreeDsaKey(DsaKey* key); 00051 00052 CYASSL_API int DsaSign(const byte* digest, byte* out, DsaKey* key, RNG* rng); 00053 CYASSL_API int DsaVerify(const byte* digest, const byte* sig, DsaKey* key, 00054 int* answer); 00055 00056 CYASSL_API int DsaPublicKeyDecode(const byte* input, word32* inOutIdx, DsaKey*, 00057 word32); 00058 CYASSL_API int DsaPrivateKeyDecode(const byte* input, word32* inOutIdx, DsaKey*, 00059 word32); 00060 00061 #ifdef __cplusplus 00062 } /* extern "C" */ 00063 #endif 00064 00065 #endif /* CTAO_CRYPT_DSA_H */ 00066 #endif /* NO_DSA */ 00067
Generated on Thu Jul 14 2022 00:25:23 by 1.7.2