cmac: add CMAC interface
Add cmac.h and stubs for cipher-based message authentication code (CMAC).
This commit is contained in:
parent
10a42c1e04
commit
f3f840551a
2 changed files with 70 additions and 0 deletions
41
cmac.h
Normal file
41
cmac.h
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
chronyd/chronyc - Programs for keeping computer clocks accurate.
|
||||||
|
|
||||||
|
**********************************************************************
|
||||||
|
* Copyright (C) Miroslav Lichvar 2019
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of version 2 of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*
|
||||||
|
**********************************************************************
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
Header file for CMAC.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef GOT_CMAC_H
|
||||||
|
#define GOT_CMAC_H
|
||||||
|
|
||||||
|
typedef struct CMC_Instance_Record *CMC_Instance;
|
||||||
|
|
||||||
|
extern unsigned int CMC_GetKeyLength(const char *cipher);
|
||||||
|
extern CMC_Instance CMC_CreateInstance(const char *cipher, const unsigned char *key,
|
||||||
|
unsigned int length);
|
||||||
|
extern unsigned int CMC_Hash(CMC_Instance inst, const unsigned char *in, unsigned int in_len,
|
||||||
|
unsigned char *out, unsigned int out_len);
|
||||||
|
extern void CMC_DestroyInstance(CMC_Instance inst);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
29
stubs.c
29
stubs.c
|
@ -28,6 +28,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "clientlog.h"
|
#include "clientlog.h"
|
||||||
|
#include "cmac.h"
|
||||||
#include "cmdmon.h"
|
#include "cmdmon.h"
|
||||||
#include "keys.h"
|
#include "keys.h"
|
||||||
#include "logging.h"
|
#include "logging.h"
|
||||||
|
@ -410,3 +411,31 @@ NSD_SignAndSendPacket(uint32_t key_id, NTP_Packet *packet, NTP_Remote_Address *r
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !FEAT_SIGND */
|
#endif /* !FEAT_SIGND */
|
||||||
|
|
||||||
|
#ifndef HAVE_CMAC
|
||||||
|
|
||||||
|
unsigned int
|
||||||
|
CMC_GetKeyLength(const char *cipher)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
CMC_Instance
|
||||||
|
CMC_CreateInstance(const char *cipher, const unsigned char *key, unsigned int length)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned int
|
||||||
|
CMC_Hash(CMC_Instance inst, const unsigned char *in, unsigned int in_len,
|
||||||
|
unsigned char *out, unsigned int out_len)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CMC_DestroyInstance(CMC_Instance inst)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* !HAVE_CMAC */
|
||||||
|
|
Loading…
Reference in a new issue