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

对称块加密上下文类定义 更多...

#include <symmetric_block_cipher_ctx.h>

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

Public 类型

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

Public 成员函数

virtual CryptoService::Uptr GetCryptoService () const noexcept=0
 获取加密服务实例 更多...
 
virtual ara::core::Result< void > SetKey (const SymmetricKey &key, CryptoTransform transform=CryptoTransform::kEncrypt) noexcept=0
 在加密算法上下文中设置(部署)密钥 更多...
 
virtual ara::core::Result< CryptoTransformGetTransformation () const noexcept=0
 获取转换的配置“方向”:加密或解密 更多...
 
virtual ara::core::Result< void > Reset () noexcept=0
 清除上下文中参数 更多...
 
virtual ara::core::Result< ara::core::Vector< ara::core::Byte > > ProcessBlocks (ReadOnlyMemRegion in) const noexcept=0
 处理消息的初始部分(该部分与块大小对齐) 更多...
 
virtual ara::core::Result< ara::core::Vector< ara::core::Byte > > ProcessBlock (ReadOnlyMemRegion in, bool suppressPadding=false) const 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_23700
符合标准
yes
非标原因
N/A
种类
class
符号
ara::crypto::cryp::SymmetricBlockCipherCtx
范围
namespace ara::crypto::cryp
基类
CryptoContext
分类
ara
头文件
注解
N/A
模板参数
N/A

在文件 第 行定义.

成员类型定义说明

◆ Uptr

对称块加密上下文唯一智能指针类型

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

在文件 第 行定义.

成员函数说明

◆ GetCryptoService()

virtual CryptoService::Uptr ara::crypto::cryp::SymmetricBlockCipherCtx::GetCryptoService ( ) const
pure virtualnoexcept

获取加密服务实例

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
加密服务实例唯一智能指针
注解
N/A
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23702
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ GetTransformation()

virtual ara::core::Result<CryptoTransform> ara::crypto::cryp::SymmetricBlockCipherCtx::GetTransformation ( ) const
pure virtualnoexcept

获取转换的配置“方向”:加密或解密

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
加密或解密
注解
[Error]: CryptoErrc::kUninitializedContext 没有进行初始化
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23711
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ ProcessBlock()

virtual ara::core::Result<ara::core::Vector<ara::core::Byte> > ara::crypto::cryp::SymmetricBlockCipherCtx::ProcessBlock ( ReadOnlyMemRegion  in,
bool  suppressPadding = false 
) const
pure virtualnoexcept

处理消息的最后部分

模板参数
N/A
参数
[in]in输入数据缓存
[in]suppressPadding如果为true,该方法不采用填充,因此输入缓存必须与块大小对齐;
[out]N/A
[in,out]N/A
返回
处理后的数据
注解
[Error]: CryptoErrc::kInvalidInputSize 如果输入缓冲区的大小不能被块大小整除
[Error]: CryptoErrc::kUninitializedContext 上下文没有初始化
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23716
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ ProcessBlocks()

virtual ara::core::Result<ara::core::Vector<ara::core::Byte> > ara::crypto::cryp::SymmetricBlockCipherCtx::ProcessBlocks ( ReadOnlyMemRegion  in) const
pure virtualnoexcept

处理消息的初始部分(该部分与块大小对齐)

模板参数
N/A
参数
[in]in输入数据缓存
[out]N/A
[in,out]N/A
返回
处理后的数据
注解
[Error]: CryptoErrc::kInvalidInputSize 如果输入缓冲区的大小不能被块大小整除
[Error]: CryptoErrc::kUninitializedContext 上下文没有初始化
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23715
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ Reset()

virtual ara::core::Result<void> ara::crypto::cryp::SymmetricBlockCipherCtx::Reset ( )
pure virtualnoexcept

清除上下文中参数

参数
[in]N/A
[out]N/A
[in,out]N/A
返回
N/A
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kUninitializedContext 上下文尚未初始化
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23712
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara

◆ SetKey()

virtual ara::core::Result<void> ara::crypto::cryp::SymmetricBlockCipherCtx::SetKey ( const SymmetricKey key,
CryptoTransform  transform = CryptoTransform::kEncrypt 
)
pure virtualnoexcept

在加密算法上下文中设置(部署)密钥

模板参数
N/A
参数
[in]key密钥对象
[in]transform“方向”指示符:加密/解密
[out]N/A
[in,out]N/A
返回
N/A
注解
[Error]: CryptoErrc::kLogicFault 处理逻辑错误
[Error]: CryptoErrc::kIncompatibleObject 提供的密钥对象属于其他CryptoProvider实例
[Error]: CryptoErrc::kInvalidArgument 设置的方向指示符不支持
[Error]: CryptoErrc::kUsageViolation 如果与此上下文关联的转换类型(考虑到转换指定的方向)被所提供的密钥对象的“允许使用”限制所禁止
错误码偏差项
N/A
异常
N/A
Swsid
SWS_CRYPT_23710
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
reentrant
Fireandforget
no
错误
N/A
头文件
异常安全
noexcept
分类
ara