Semidrive E3 MCAL3.1 Crypto Hash 算法

一、模塊概念

1、Autosar 架構


圖 (1)

BSW:

服務層

ECU  抽象層

驅動就是 MCAL,微控制器抽象層(硬體抽象層),實現硬體軟隔離。

2、整體框架

       基於架構設計的功能實現,可以滿足一個加密對象中一次只能處理一個 job,多個加密對象可以並發執行的要求。

3、E3 crypto 目前支持的主要加解密算法有:

  • HASH
  • AES
  • RSA

本文主要講解 HASH 算法的概念,配置,實現及運行。

二、配置&Demo

1、EB 配置

主要包含兩方面的配置:

Key 的配置:包括 “CryptoKey”,”CryptoKeyType”,”CryptoKeyElement”,用來配置使用的 KEY。

Driver Object 的配置:包括 “CryptoDriverObject”,”CryptoPrimitives”,用來配置支持的算法。

Key Configuration

先配置 key elements:

Key elements 間是獨立的。

Key elements

圖(2) Key elements

Key type 中包含了一個 key 的組成,一個 key type 中可以包含了多個 key element。

Key type

圖(3) Key type

Key 就是有一個 Key Type 的具體實例。

在 CryptoKeyTypeRef 中綁定 Key Type 作為一個實例使用。

Crypto Key

圖(4) Crypto Key

Driver Object Configuration

        Crypto Primitives 定義了一些支持算法的集合(比如上圖中 Hash 算法的集合)。 後續的 Driver Object 將會包含一些定義在此的一些算法。以下是 Hash 支持的一些算法。

CryptoPrimitives

圖(5) CryptoPrimitives

        Driver Object 是用來運行加密算法的實體,加密操作的 Job 會指定到對應的 Driver Object 上運行。一 個 Driver Object 包含同一系列的算法。

Driver Object

圖(6)Driver Object

2、Demo 解析及運行

        hash 函數是一種將任意長度的數據映射為固定長度數據的算法。hash 函數通常用於生成數據的摘要或指紋,以便對數據進行快速比較或驗證數據的完整性。hash 函數的一個重要特性是單向性,即無法從 hash 值還原出原始數據。

        在密碼學和計算機編程中,digest 通常指的是哈希(hash)或摘要(digest)的結果。哈希函數是一種將任意大小的數據塊(也稱為消息或輸入)映射為固定大小的位串(也稱為哈希值、哈希摘要或簡單地稱為摘要)的函數。這個固定大小的位串通常比原始數據小得多,並且對於不同的輸入數據,哈希函數應該產生不同的哈希值(或至少在統計上很難產生相同的哈希值)。

圖(7)

圖 (8)

示例Log

圖 (9) 示例Log

三、參考文獻

《 SemiDrive_E3_MCU_eHSM_MCAL使用手冊_Rev01.00 》

《SemiDrive_E3_MCAL_User_Guide_Rev03.03 》





歡迎在博文下方留言評論,我們會及時回復您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com   
作者:紫色


更多資訊,請掃碼關注我們!


★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論