diff options
author | Nick Bofferding <bofferdn@us.ibm.com> | 2017-05-18 16:05:16 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-05-24 23:34:00 -0400 |
commit | fcaea7edd10cc3a0f4535437af3fc1d91f827404 (patch) | |
tree | f4fa37935e7df27e70409e941a70cb118e66c8fe /src/include/securerom | |
parent | 77cb3c7e269c5fa9d0687d19c3b9908493e4b17c (diff) | |
download | talos-hostboot-fcaea7edd10cc3a0f4535437af3fc1d91f827404.tar.gz talos-hostboot-fcaea7edd10cc3a0f4535437af3fc1d91f827404.zip |
Update sha512 algorithm to correct license
Change-Id: Ib671bc08cf7912ef1bee11505c9c5d4dc662b453
RTC: 172339
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40731
Reviewed-by: Timothy R. Block <block@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/securerom')
-rwxr-xr-x | src/include/securerom/contrib/LICENSE_PROLOG | 49 | ||||
-rw-r--r-- | src/include/securerom/contrib/sha512.H | 85 | ||||
-rw-r--r-- | src/include/securerom/sha512.H | 33 |
3 files changed, 137 insertions, 30 deletions
diff --git a/src/include/securerom/contrib/LICENSE_PROLOG b/src/include/securerom/contrib/LICENSE_PROLOG new file mode 100755 index 000000000..25de7a314 --- /dev/null +++ b/src/include/securerom/contrib/LICENSE_PROLOG @@ -0,0 +1,49 @@ +This is an automatically generated prolog. + +$SOURCE_BEGIN_TAG $filename $SOURCE_END_TAG + +OpenPOWER $projectName Project + +$copyrightStr $copyrightYear +$copyright_Contributors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied. See the License for the specific language governing +permissions and limitations under the License. + +Copyright (c) 2000-2001, Aaron D. Gifford +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +3. Neither the name of the copyright holder nor the names of + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR +CONTRIBUTOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES \(INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION\) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +\(INCLUDING NEGLIGENCE OR OTHERWISE\) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/src/include/securerom/contrib/sha512.H b/src/include/securerom/contrib/sha512.H new file mode 100644 index 000000000..9ae4310f8 --- /dev/null +++ b/src/include/securerom/contrib/sha512.H @@ -0,0 +1,85 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/securerom/contrib/sha512.H $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* Copyright (c) 2000-2001, Aaron D. Gifford */ +/* All rights reserved. */ +/* */ +/* Redistribution and use in source and binary forms, with or without */ +/* modification, are permitted provided that the following conditions */ +/* are met: */ +/* 1. Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* 2. Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the */ +/* distribution. */ +/* 3. Neither the name of the copyright holder nor the names of */ +/* contributors may be used to endorse or promote products derived */ +/* from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTOR(S) ``AS IS'' */ +/* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, */ +/* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A */ +/* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR */ +/* CONTRIBUTOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ +/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ +/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ +/* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ +/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ +/* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/* */ +/* IBM_PROLOG_END_TAG */ +#ifndef SHA512_H +#define SHA512_H + +#define SHA512_BLOCK_LENGTH 128 +#define SHA512_DIGEST_LENGTH 64 + +#include <stdlib.h> + +typedef uint8_t __attribute__((aligned(8))) \ + sha2_hash_t[ SHA512_DIGEST_LENGTH / sizeof(uint8_t) ]; + +typedef uint8_t sha2_byte; /* Exactly 1 byte */ +typedef uint32_t sha2_word32; /* Exactly 4 bytes */ +typedef uint64_t sha2_word64; /* Exactly 8 bytes */ + +typedef struct _SHA512_CTX +{ + uint64_t state[8]; + uint64_t bitcount[2]; + uint8_t buffer[SHA512_BLOCK_LENGTH]; +} SHA512_CTX; + +extern "C" +void SHA512_Init(SHA512_CTX* context); +extern "C" +void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len); +extern "C" +void SHA512_Final(SHA512_CTX* context, sha2_hash_t *result); +extern "C" +void SHA512_Hash(const sha2_byte *data, size_t len, sha2_hash_t *result); + +#endif diff --git a/src/include/securerom/sha512.H b/src/include/securerom/sha512.H index ef0fa3160..461a42ebd 100644 --- a/src/include/securerom/sha512.H +++ b/src/include/securerom/sha512.H @@ -22,35 +22,8 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -#ifndef SHA512_H -#define SHA512_H - -#define SHA512_BLOCK_LENGTH 128 -#define SHA512_DIGEST_LENGTH 64 - -#include <stdlib.h> - -typedef uint8_t __attribute__((aligned(8))) \ - sha2_hash_t[ SHA512_DIGEST_LENGTH / sizeof(uint8_t) ]; - -typedef uint8_t sha2_byte; /* Exactly 1 byte */ -typedef uint32_t sha2_word32; /* Exactly 4 bytes */ -typedef uint64_t sha2_word64; /* Exactly 8 bytes */ - -typedef struct _SHA512_CTX -{ - uint64_t state[8]; - uint64_t bitcount[2]; - uint8_t buffer[SHA512_BLOCK_LENGTH]; -} SHA512_CTX; - -extern "C" -void SHA512_Init(SHA512_CTX* context); -extern "C" -void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len); -extern "C" -void SHA512_Final(SHA512_CTX* context, sha2_hash_t *result); -extern "C" -void SHA512_Hash(const sha2_byte *data, size_t len, sha2_hash_t *result); +#ifndef __SHA512_H +#define __SHA512_H +#include <securerom/contrib/sha512.H> #endif |