在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文看懂碼靈半導體CFW32C7UL系列產品應用(二): 國密算法●中篇

碼靈半導體 ? 2022-06-06 18:06 ? 次閱讀

歡迎再次來到“碼靈半導體CFW32C7UL系列產品應用介紹”連載專題。通過上期對CFW32C7UL系列支持的國密算法種類的介紹,相信您對CFW327UL系列的國密硬件模塊有了初步了解,那么這些國密模塊如何使用?應用是否便捷?加解密的速度如何?帶著這些疑問,我們今天從真隨機數發生器TRNG和SM3算法模塊的調用開始談起。

一、真隨機數發生器TRNG模塊
說到隨機,有兩個必須要搞清楚的概念即“真隨機數生成器”(TRNG)和偽隨機數生成器(PRNG)。大部分計算機程序和語言中的隨機函數,都是偽隨機數生成器,它們都是由確定的算法,通過一個“種子”(如“時間”)來產生“看起來隨機”的結果值。毫無疑問,只要知道算法和種子,或者是之前已經產生了的隨機數,那么就有可能獲得接下來隨機數序列的信息,因此它們帶有可預測性。這種可預測性在密碼學上并不安全,所以我們稱其為“偽隨機”。
與“偽隨機”相對應的是“真隨機”,真正的隨機數僅存在于量子力學中,而我們需要的是一種不可預測的、統計意義上的、高安全性的隨機數。在碼靈半導體CFW32C7UL系列產品中我們提供了四組這種真隨機數源,用以產生真隨機數,同時該功能模塊是采用硬件方式實現的,并且通過了NIST統計檢測程序的隨機性測試。
下面我們具體介紹下CFW32C7UL系列產品的真隨機數發生器TRNG模塊是如何通過碼靈半導體官方提供的SDK函數來進行調用的。目前碼靈半導體官方提供了兩種SDK,即裸機SDK和Linux SDK。
開發模式一:裸機SDK
裸機SDK與提供的freeRTOSuCOS SDK中相同。
① 產生一個真隨機數
調用HAL_TRNG_GetValue()
uint32_t HAL_TRNG_GetValue() 函數返回值為一個真隨機數
② 使用范例
uint32_t random = HAL_TRNG_GetValue();
單個函數看不出硬件實現和軟件實現有什么不同,那下面展現一下函數源碼:
uint32_t HAL_HRNG_GetValue()
{
uint32_t ret;
HRNG->CMPRES = 0x02;
HRNG->CTRL |= (HRNG_CTRL_RNG_EN0 | HRNG_CTRL_RNG_EN1 | HRNG_CTRL_RNG_EN2 | HRNG_CTRL_RNG_EN3 | HRNG_CTRL_SCLK_SEL);
while((HRNG->STATUS& HRNG_STATUS_FIFO_NOT_EMPTY) ==0);
ret= HRNG->LFSR;
return ret;
}
上面所述的就是對寄存器HRNG->CMPRE、HRNG->CTRL進行一個配置后,等待HRNG->STATUS,之后HRNG->LFSR寄存器中取出隨機數。
開發模式二:Linux SDK
通過操作linux系統中/dev/wokoo_trng,就可以進行產生真隨機數。
① TRNG算法底層接口
? open:打開設備節點
? read:讀取隨機數的數據
② 接口描述
? open
函數原型:static int uac_open(struct inode *inode, struct file * file)
參數:file:文件名
返回值:成功0,其它失敗
? read
函數原型:static ssize_t uac_read(struct file * file, char __user *buffer, size_t size , loff_t *p)
參數:file:文件名,buffer:讀出數據緩存,size:讀出數據長度
返回值:成功0,其它失敗
③ 使用示例
trng_fd = open("/dev/wokoo_trng", O_RDWR); //打開trng的節點
read(trng_fd, (unsigned char *)&trng_data, 1); //讀取真隨機數
CFW32C7UL系列的TRNG效率
目前碼靈半導體CFW32C7UL系列產品產生隨機數的速率是75kb/s,每秒可以產生75kb的真隨機數。
二、SM3雜湊硬件算法模塊
SM3算法為國密雜湊算法,數據分組長度為512bit,雜湊值長度為256bit。基本運算流程為:對輸入數據流做填充,構成整數個512bit長度的數據流;再對數據做分組;然后對每個分組做擴展和替換壓縮操作,得到中間的臨時雜湊值,反復進行直到所有分組處理完畢,最后一個計算得到的雜湊值作為整個數據流的最終雜湊值輸出。
開發模式一:裸機SDK
調用SM3_Hash產生SM3 最終hash 值。
void SM3_Hash(uint32_t *pDataIn,uint32_t DataLen,uint32_t *pDigest)
① 函數參數說明
pDataIn: 輸入的數據指針( big endian)
DataLen :數據的bit 長度
pDigest: 輸出的最終hash值
② 使用范例
SM3_Hash (message,32,tempbuf);
//message 是原始數據,數據長度為32,tempbuf是產生的256位hash值
開發模式二:Linux SDK
通過操作linux系統中/dev/wokoo_sm3 ,就可以進行SM3雜湊算法的運算。
① SM3算法底層接口
? open:打開設備節點
? read:讀取加密后的數據
? write:寫入加密的數據
② 接口描述
? Open
函數原型: static int uac_open(struct inode *inode, struct file * file)
參數:file:文件名
返回值:成功0,其它失敗
? Read
函數原型:static ssize_t uac_read(struct file * file, char __user *buffer, size_t size , loff_t *p)
參數:file:文件名,buffer:讀出數據緩存,size:讀出數據長度
返回值:成功0,其它失敗
? Write
函數原型: static ssize_t uac_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
參數:file:文件名,buf:寫入數據緩存,count:寫入數據長度
返回值:成功0,其它失敗
③ 使用示例
sm3_fd = open("/dev/wokoo_sm3", O_RDWR); //打開sm3節點
write(sm3_fd, &sm3_data.datain, sm3_data.datalen); //寫入需雜湊的數據
read(sm3_fd, &sm3_data.dataout, NULL); //讀出雜湊完的結果
CFW32C7UL系列SM3算法的效率
通過輸入128KB數據,完成雜湊運算后輸出運算結果,統計時間如下圖

在這里插入圖片描述

目前碼靈半導體CFW32C7UL系列產品可以實現45Mbps的雜湊速率。
通過以上對CFW32C7UL系列產品的真隨機數發生器TRNG和SM3算法模塊的介紹,相信大家對國密模塊的如何使用有了初步了解,那么SM2和SM4算法在CFW32C7UL系列產品中如何具體使用呢?讓我們帶著這些問題,在下期中繼續探尋吧。
今天的專題就到這兒,更多關于碼靈半導體CFW32C7UL系列產品的介紹,我們下期見!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    50936

    瀏覽量

    424671
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17173

    瀏覽量

    351656
  • MPU
    MPU
    +關注

    關注

    0

    文章

    371

    瀏覽量

    48851
  • 掃碼
    +關注

    關注

    0

    文章

    22

    瀏覽量

    5123
收藏 人收藏

    評論

    相關推薦

    看懂光刻膠的堅膜工藝及物理特性和常見光刻膠

    原文標題:看懂光刻膠的堅膜工藝及物理特性和常見
    的頭像 發表于 11-01 11:08 ?909次閱讀

    半導體精彩亮相EtherCAT中國路演2024,以全新EtherCAT產品賦能工控應用!

    2024年10月21日、23日、25日,2024年EtherCAT中國路演活動分別在北京、武漢和深圳舉辦。半導體攜全新EtherCAT芯片產品和多項解決方案亮相盛會,與業界各領域的
    的頭像 發表于 10-30 08:05 ?285次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>精彩亮相EtherCAT中國路演2024,以全新EtherCAT<b class='flag-5'>產品</b>賦能工控應用!

    EtherCAT 中國路演2024 | 半導體與您相約!

    和應用專家,以及各領域的方案集成商將匯聚堂,共同探討EtherCAT技術領域的最新應用趨勢和創新解決方案。半導體將攜全新EtherCAT從站芯片及多款創新應用方
    的頭像 發表于 10-17 08:04 ?380次閱讀
    EtherCAT 中國路演2024 | <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>與您相約!

    半導體攜EtherCAT芯片亮相2024上海工博會(IAS)

    工業博覽會。工業級芯片提供商半導體攜最新EtherCAT系列芯片及解決方案亮相本次展會,并在ETG聯合展臺(展位:6.1H-D129)帶來產品
    的頭像 發表于 09-26 08:07 ?642次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>攜EtherCAT芯片亮相2024上海工博會(IAS)

    【展會預告】半導體@上海工博會(IAS)

    亮相本次展會,并在ETG聯合展臺(展位:6.1H-D129)帶來產品展示。展品方面,此次半導體將攜CF110x系列EtherCAT從站控
    的頭像 發表于 09-12 08:07 ?283次閱讀
    【展會預告】<b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>@上海工博會(IAS)

    半導體攜眾多產品及EtherCAT方案精彩亮相2024深圳國際電子展

    作為亞太地區頗具影響力的前沿科技成果展會,elexcon2024深圳國際電子展已于8月27日盛大開幕,半導體攜帶最新產品以及豐富的行業應用解決方案精彩亮相。2024深圳國際電子展于
    的頭像 發表于 08-30 12:44 ?542次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>攜眾多<b class='flag-5'>產品</b>及EtherCAT方案精彩亮相2024深圳國際電子展

    紫光芯攜存儲系列產品出席2024慕尼黑上海電子展

    2024年7月8日至10日,西安紫光半導體股份有限公司(簡稱:紫光芯,證券代碼:874451)精彩亮相慕尼黑上海電子展。紫光芯聚焦人
    的頭像 發表于 07-11 11:28 ?782次閱讀

    半導體入選2024年度福建省數字經濟核心產業創新企業

    日前,福建省發展和改革委員會網站公示了“2024年度福建省數字經濟核心產業領域創新企業”名單,廈門半導體技術有限公司(以下簡稱“
    的頭像 發表于 06-18 08:23 ?582次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>入選2024年度福建省數字經濟核心產業創新企業

    半導體邀您相約2024年華南國際工業博覽會

    2024年華南國際工業博覽會將于2024年6月19-21日在深圳國際會展中心(寶安新館)盛大舉行。工業級芯片供應商,半導體將出席此次盛會,并在ETG聯合展臺(展位:12H-A055)帶來最新
    的頭像 發表于 06-14 08:23 ?360次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導體</b>邀您相約2024年華南國際工業博覽會

    協議網關與IPSec VPN技術:保障數據安全傳輸的新途徑

    )是互聯網協議安全的種標準,用于保護網絡通信的安全性和保密性。算法是由中國國家密碼管理局制定的一系列密碼
    的頭像 發表于 05-28 14:24 ?1334次閱讀
    <b class='flag-5'>國</b><b class='flag-5'>密</b>協議網關與IPSec VPN技術:保障數據安全傳輸的新途徑

    美新半導體發布eOIS影像穩定系列產品MSD4100WA

    近日,全球MEMS傳感技術領軍者美新半導體重磅發布了款新的eOIS影像穩定驅動系列產品——MSD4100WA。這款產品集成了高精度、低噪聲的硅基線性霍爾傳感器,為影像穩定系統提供了前
    的頭像 發表于 05-17 10:34 ?595次閱讀

    晶科能源Tiger Neo系列產品榮獲全球首家UL 2000V認證

    近期,晶科能源Tiger Neo系列產品,通過了第三方權威機構UL在今年2月發布的UL61730關于2000V光伏組件的認證要求決議中一系列嚴格的安全和性能評估,被認可能夠承受2000
    的頭像 發表于 03-25 11:18 ?508次閱讀
    晶科能源Tiger Neo<b class='flag-5'>系列產品</b>榮獲全球首家<b class='flag-5'>UL</b> 2000V認證

    Nexperia發布全新模擬開關系列產品

    全球基礎半導體器件領域的領軍企業Nexperia(安世半導體)最近發布了全新的專用于監測和保護1.8V電子系統的4通道和8通道模擬開關系列產品。這創新
    的頭像 發表于 03-11 10:08 ?722次閱讀

    什么是算法?工業網關為什么要支持算法

    工業網關是應用于工業物聯網關的常見通信交換傳輸設備,由于在使用過程中通常涉及工業敏感數據,因此也需要支持算法實現數據加密傳輸,保障工業物聯網安全穩定。
    的頭像 發表于 01-31 16:55 ?1174次閱讀
    什么是<b class='flag-5'>國</b><b class='flag-5'>密</b><b class='flag-5'>算法</b>?工業網關為什么要支持<b class='flag-5'>國</b><b class='flag-5'>密</b><b class='flag-5'>算法</b>?

    安世半導體發布全新兩路輸出LCD偏壓電源系列產品

    安世半導體(Nexperia)近日發布了款全新的兩路輸出LCD偏壓電源系列產品,這款產品具有節省空間和高效率的特性。該系列產品的設計目標是
    的頭像 發表于 01-15 14:23 ?947次閱讀
    主站蜘蛛池模板: 九九re| 亚洲综合色视频| 东北老女人啪啪对白| 国产成人影院在线观看| 94久久国产乱子伦精品免费| 2023天天操| h小视频在线观看网| 免费伦费一区二区三区四区| 超h 高h 污肉男男| 天天看片中文字幕| 青娱乐久草| 国产一级特黄aaa大片| 美女被免费视频的网站| tdg58在线观看| 18videosex欧美69| www狠狠干| 婷婷激情综合网| 2023av网站| 五月综合久久| 欧美一区二区三区黄色| 黄色一级一毛片| 亚洲最新黄色网址| 可以免费播放的在线视频| 亚洲迅雷| 久久99热不卡精品免费观看| 亚欧成人乱码一区二区| 亚洲天堂亚洲天堂| 色狠狠色综合久久8狠狠色| 男女免费在线视频| a天堂中文在线| 免费中国jlzzjlzz在线播放| 综合啪啪| 国产亚洲自在精品久久| 四虎影库在线播放| 狠狠色噜噜狠狠狠狠| 靓装爱神12丝袜在线播放| 扒开双腿爽爽爽视频www| 干美女在线视频| 日本免费人成黄页网观看视频| 2020年亚洲天天爽天天噜| 禁漫羞羞入口|