Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ezynq
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
ezynq
Commits
17fc625b
Commit
17fc625b
authored
Dec 27, 2018
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
more headers
parent
6c27f822
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
133 additions
and
0 deletions
+133
-0
sha1.h
u-boot-tree/include/u-boot/sha1.h
+108
-0
sha256.h
u-boot-tree/include/u-boot/sha256.h
+25
-0
No files found.
u-boot-tree/include/u-boot/sha1.h
0 → 100644
View file @
17fc625b
/* SPDX-License-Identifier: LGPL-2.1 */
/**
* \file sha1.h
* based from http://xyssl.org/code/source/sha1/
* FIPS-180-1 compliant SHA-1 implementation
*
* Copyright (C) 2003-2006 Christophe Devine
*/
/*
* The SHA-1 standard was published by NIST in 1993.
*
* http://www.itl.nist.gov/fipspubs/fip180-1.htm
*/
#ifndef _SHA1_H
#define _SHA1_H
#ifdef __cplusplus
extern
"C"
{
#endif
#define SHA1_SUM_POS -0x20
#define SHA1_SUM_LEN 20
#define SHA1_DER_LEN 15
extern
const
uint8_t
sha1_der_prefix
[];
/**
* \brief SHA-1 context structure
*/
typedef
struct
{
unsigned
long
total
[
2
];
/*!< number of bytes processed */
unsigned
long
state
[
5
];
/*!< intermediate digest state */
unsigned
char
buffer
[
64
];
/*!< data block being processed */
}
sha1_context
;
/**
* \brief SHA-1 context setup
*
* \param ctx SHA-1 context to be initialized
*/
void
sha1_starts
(
sha1_context
*
ctx
);
/**
* \brief SHA-1 process buffer
*
* \param ctx SHA-1 context
* \param input buffer holding the data
* \param ilen length of the input data
*/
void
sha1_update
(
sha1_context
*
ctx
,
const
unsigned
char
*
input
,
unsigned
int
ilen
);
/**
* \brief SHA-1 final digest
*
* \param ctx SHA-1 context
* \param output SHA-1 checksum result
*/
void
sha1_finish
(
sha1_context
*
ctx
,
unsigned
char
output
[
20
]
);
/**
* \brief Output = SHA-1( input buffer )
*
* \param input buffer holding the data
* \param ilen length of the input data
* \param output SHA-1 checksum result
*/
void
sha1_csum
(
const
unsigned
char
*
input
,
unsigned
int
ilen
,
unsigned
char
*
output
);
/**
* \brief Output = SHA-1( input buffer ), with watchdog triggering
*
* \param input buffer holding the data
* \param ilen length of the input data
* \param output SHA-1 checksum result
* \param chunk_sz watchdog triggering period (in bytes of input processed)
*/
void
sha1_csum_wd
(
const
unsigned
char
*
input
,
unsigned
int
ilen
,
unsigned
char
*
output
,
unsigned
int
chunk_sz
);
/**
* \brief Output = HMAC-SHA-1( input buffer, hmac key )
*
* \param key HMAC secret key
* \param keylen length of the HMAC key
* \param input buffer holding the data
* \param ilen length of the input data
* \param output HMAC-SHA-1 result
*/
void
sha1_hmac
(
const
unsigned
char
*
key
,
int
keylen
,
const
unsigned
char
*
input
,
unsigned
int
ilen
,
unsigned
char
*
output
);
/**
* \brief Checkup routine
*
* \return 0 if successful, or 1 if the test failed
*/
int
sha1_self_test
(
void
);
#ifdef __cplusplus
}
#endif
#endif
/* sha1.h */
u-boot-tree/include/u-boot/sha256.h
0 → 100644
View file @
17fc625b
#ifndef _SHA256_H
#define _SHA256_H
#define SHA256_SUM_LEN 32
#define SHA256_DER_LEN 19
extern
const
uint8_t
sha256_der_prefix
[];
/* Reset watchdog each time we process this many bytes */
#define CHUNKSZ_SHA256 (64 * 1024)
typedef
struct
{
uint32_t
total
[
2
];
uint32_t
state
[
8
];
uint8_t
buffer
[
64
];
}
sha256_context
;
void
sha256_starts
(
sha256_context
*
ctx
);
void
sha256_update
(
sha256_context
*
ctx
,
const
uint8_t
*
input
,
uint32_t
length
);
void
sha256_finish
(
sha256_context
*
ctx
,
uint8_t
digest
[
SHA256_SUM_LEN
]);
void
sha256_csum_wd
(
const
unsigned
char
*
input
,
unsigned
int
ilen
,
unsigned
char
*
output
,
unsigned
int
chunk_sz
);
#endif
/* _SHA256_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment