Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

yarrow.h File Reference

yarrow.h File Reference

Yarrow PRNG. More...

Go to the source code of this file.

Data Structures

struct  YarrowContext
 Yarrow PRNG context. More...

Functions

error_t yarrowInit (YarrowContext *context)
 Initialize PRNG context.
void yarrowRelease (YarrowContext *context)
 Release PRNG context.
error_t yarrowSeed (YarrowContext *context, const uint8_t *input, size_t length)
 Seed the PRNG state.
error_t yarrowAddEntropy (YarrowContext *context, uint_t source, const uint8_t *input, size_t length, size_t entropy)
 Add entropy to the PRNG state.
error_t yarrowRead (YarrowContext *context, uint8_t *output, size_t length)
 Read random data.
void yarrowGenerateBlock (YarrowContext *context, uint8_t *output)
 Generate a random block of data.
void yarrowFastReseed (YarrowContext *context)
 Reseed from the fast pool.
void yarrowSlowReseed (YarrowContext *context)
 Reseed from the slow pool.

Detailed Description

Yarrow PRNG.

License

Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneSSL Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

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.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file yarrow.h.


Function Documentation

error_t yarrowAddEntropy ( YarrowContext context,
uint_t  source,
const uint8_t *  input,
size_t  length,
size_t  entropy 
)

Add entropy to the PRNG state.

Parameters:
[in]contextPointer to the PRNG context
[in]sourceEntropy source identifier
[in]inputPointer to the input data
[in]lengthLength of the input data
[in]entropyActual number of bits of entropy
Returns:
Error code

Definition at line 133 of file yarrow.c.

void yarrowFastReseed ( YarrowContext context )

Reseed from the fast pool.

Parameters:
[in]contextPointer to the PRNG context

Definition at line 284 of file yarrow.c.

void yarrowGenerateBlock ( YarrowContext context,
uint8_t *  output 
)

Generate a random block of data.

Parameters:
[in]contextPointer to the PRNG context
[out]outputBuffer where to store the output block

Definition at line 262 of file yarrow.c.

error_t yarrowInit ( YarrowContext context )

Initialize PRNG context.

Parameters:
[in]contextPointer to the PRNG context to initialize
Returns:
Error code

Definition at line 60 of file yarrow.c.

error_t yarrowRead ( YarrowContext context,
uint8_t *  output,
size_t  length 
)

Read random data.

Parameters:
[in]contextPointer to the PRNG context
[out]outputBuffer where to store the output data
[in]lengthDesired length in bytes
Returns:
Error code

Definition at line 205 of file yarrow.c.

void yarrowRelease ( YarrowContext context )

Release PRNG context.

Parameters:
[in]contextPointer to the PRNG context

Definition at line 89 of file yarrow.c.

error_t yarrowSeed ( YarrowContext context,
const uint8_t *  input,
size_t  length 
)

Seed the PRNG state.

Parameters:
[in]contextPointer to the PRNG context
[in]inputPointer to the input data
[in]lengthLength of the input data
Returns:
Error code

Definition at line 107 of file yarrow.c.

void yarrowSlowReseed ( YarrowContext context )

Reseed from the slow pool.

Parameters:
[in]contextPointer to the PRNG context

Definition at line 317 of file yarrow.c.