Logo
中文版
详情联系: neusar-support@reachauto.com
ara::crypto::cryp::RandomGeneratorCtx类 参考abstract

随机数生成上下文类定义 更多...

#include <random_generator_ctx.h>

类 ara::crypto::cryp::RandomGeneratorCtx 继承关系图:
Inheritance graph
ara::crypto::cryp::RandomGeneratorCtx 的协作图:
Collaboration graph

Public 类型

using Uptr = std::unique_ptr< RandomGeneratorCtx >
 随机数生成上下文唯一智能指针类型 更多...
 
- Public 类型 继承自 ara::crypto::cryp::CryptoContext
using AlgId = CryptoAlgId
 供应商指定的加密算法 ID 的类型定义 更多...
 

Public 成员函数

virtual bool Seed (ReadOnlyMemRegion seed) noexcept=0
 使用输入数据设置RNG的内部状态 更多...
 
virtual bool Seed (const SecretSeed &seed) noexcept=0
 使用输入数据设置RNG的内部状态 更多...
 
virtual bool SetKey (const SymmetricKey &key) noexcept=0
 使用输入数据设置RNG的内部状态 更多...
 
virtual bool AddEntropy (ReadOnlyMemRegion entropy) noexcept=0
 通过附加熵更新RNG的内部状态 更多...
 
virtual ara::core::Result< ara::core::Vector< ara::core::Byte > > Generate (std::uint32_t count) noexcept=0
 生成随机数 更多...
 
- Public 成员函数 继承自 ara::crypto::cryp::CryptoContext
virtual ~CryptoContext () noexcept=default
 析构函数 更多...
 
CryptoContextoperator= (const CryptoContext &other)=default
 将另一个CryptoContext拷贝赋值给此实例 更多...
 
CryptoContextoperator= (CryptoContext &&other)=default
 将另一个CryptoContext移动赋值给此实例 更多...
 
virtual CryptoPrimitiveId::Uptr GetCryptoPrimitiveId () const noexcept=0
 读取对象实例的密钥算法 更多...
 
virtual bool IsInitialized () const noexcept=0
 检查加密上下文是否已经初始化 更多...
 
virtual CryptoProviderMyProvider () const noexcept=0
 获取此上下文的Crypto Provider的引用 更多...
 

详细描述

随机数生成上下文类定义

Swsid
SWS_CRYPT_22900
符合标准
yes
非标原因
N/A
种类
class
符号
ara::crypto::cryp::RandomGeneratorCtx
范围
namespace ara::crypto::cryp
基类
CryptoContext
分类
ara
头文件
注解
N/A
模板参数
N/A

在文件 第 行定义.

成员类型定义说明

◆ Uptr

随机数生成上下文唯一智能指针类型

Swsid
SWS_CRYPT_22901
符合标准
yes
非标原因
N/A
种类
type alias
符号
ara::crypto::cryp::RandomGeneratorCtx::Uptr
范围
class ara::crypto::cryp::RandomGeneratorCtx
派生来源
std::unique_ptr<RandomGeneratorCtx>
分类
ara
头文件
注解
N/A

在文件 第 行定义.

成员函数说明

◆ AddEntropy()

virtual bool ara::crypto::cryp::RandomGeneratorCtx::AddEntropy ( ReadOnlyMemRegion  entropy)
pure virtualnoexcept

通过附加熵更新RNG的内部状态

模板参数
N/A
参数
[in]entropy熵值数据
[out]N/A
[in,out]N/A
返回
true 表示使用熵更新内部随机状态成功
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_22914
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Generate()

virtual ara::core::Result<ara::core::Vector<ara::core::Byte> > ara::crypto::cryp::RandomGeneratorCtx::Generate ( std::uint32_t  count)
pure virtualnoexcept

生成随机数

模板参数
N/A
参数
[in]count随机数长度 (最大支持2048)
[out]N/A
[in,out]N/A
返回
生成的随机数数据
注解
[Error]: CryptoErrc::kUninitializedContext 上下文没有初始化
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_22915
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Seed() [1/2]

virtual bool ara::crypto::cryp::RandomGeneratorCtx::Seed ( const SecretSeed seed)
pure virtualnoexcept

使用输入数据设置RNG的内部状态

模板参数
N/A
参数
[in]seed包含种子值对象
[out]N/A
[in,out]N/A
返回
如果为true,表示设置状态成功
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_22912
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Seed() [2/2]

virtual bool ara::crypto::cryp::RandomGeneratorCtx::Seed ( ReadOnlyMemRegion  seed)
pure virtualnoexcept

使用输入数据设置RNG的内部状态

模板参数
N/A
参数
[in]seed种子对象
[out]N/A
[in,out]N/A
返回
如果为true,表示设置状态成功
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_22911
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SetKey()

virtual bool ara::crypto::cryp::RandomGeneratorCtx::SetKey ( const SymmetricKey key)
pure virtualnoexcept

使用输入数据设置RNG的内部状态

模板参数
N/A
参数
[in]key对称密钥对象
[out]N/A
[in,out]N/A
返回
如果为true,表示设置状态成功
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_22913
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara