blob: 3c69d85ecbac7956a525b2e188943b46193259a3 [file] [log] [blame]
Heiko Schocheredaf9b12014-03-03 12:19:26 +01001/*
2 * Copyright (c) 2013, Andreas Oetken.
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5*/
6
7#ifndef _RSA_CHECKSUM_H
8#define _RSA_CHECKSUM_H
9
10#include <errno.h>
11#include <image.h>
Jeroen Hofsteebfe88fe2014-06-12 22:27:12 +020012#include <u-boot/sha1.h>
13#include <u-boot/sha256.h>
Heiko Schocheredaf9b12014-03-03 12:19:26 +010014
Heiko Schocher4b817562014-03-03 12:19:27 +010015extern const uint8_t padding_sha256_rsa4096[];
Heiko Schocheredaf9b12014-03-03 12:19:26 +010016extern const uint8_t padding_sha256_rsa2048[];
17extern const uint8_t padding_sha1_rsa2048[];
18
Ruchika Gupta2c8987f2015-01-23 16:01:59 +053019/**
20 * hash_calculate() - Calculate hash over the data
21 *
22 * @name: Name of algorithm to be used for hash calculation
23 * @region: Array having info of regions over which hash needs to be calculated
24 * @region_count: Number of regions in the region array
25 * @checksum: Buffer contanining the output hash
26 *
27 * @return 0 if OK, < 0 if error
28 */
29int hash_calculate(const char *name,
30 const struct image_region region[], int region_count,
31 uint8_t *checksum);
Heiko Schocheredaf9b12014-03-03 12:19:26 +010032
33#endif