91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文看懂碼靈半導(dǎo)體CFW32C7UL系列產(chǎn)品應(yīng)用(二): 國密算法●中篇

碼靈半導(dǎo)體 ? 2022-06-06 18:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

在這里插入圖片描述

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54010

    瀏覽量

    466157
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18925

    瀏覽量

    398283
  • MPU
    MPU
    +關(guān)注

    關(guān)注

    0

    文章

    455

    瀏覽量

    51350
  • 掃碼
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    5389
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    加密全解析

    、能源、通信、物聯(lián)網(wǎng)等關(guān)鍵領(lǐng)域。核心特點(diǎn):自主可控、安全合規(guī)、國產(chǎn)化適配,區(qū)別于國際通用的RSA、AES、SHA系列算法、核心
    的頭像 發(fā)表于 01-28 11:15 ?207次閱讀
    <b class='flag-5'>國</b><b class='flag-5'>密</b>加密全解析

    華工科技正式發(fā)布智醫(yī)療智能體系列產(chǎn)品

    1月20日,“華工科技醫(yī)工轉(zhuǎn)化聚焦AI醫(yī)療驅(qū)動(dòng)發(fā)展論壇暨行智遠(yuǎn)新品發(fā)布會(huì)”在華工科技中央研究院圓滿舉行。本次活動(dòng)深度探討醫(yī)工融合發(fā)展路徑,并正式發(fā)布“智·醫(yī)療智能體”系列產(chǎn)品,標(biāo)志著華工科技將產(chǎn)業(yè)級(jí)AI技術(shù)成功跨界應(yīng)用于醫(yī)療
    的頭像 發(fā)表于 01-22 16:48 ?2595次閱讀

    GMSSL:算法SM2、SM3、SM4的高效實(shí)現(xiàn)

    GMSSL是個(gè)支持國家密碼算法算法)的開源密碼工具庫,它提供了與OpenSSL類似的功能,但特別強(qiáng)化了
    的頭像 發(fā)表于 01-05 20:59 ?383次閱讀
    GMSSL:<b class='flag-5'>國</b><b class='flag-5'>密</b><b class='flag-5'>算法</b>SM2、SM3、SM4的高效實(shí)現(xiàn)

    深入淺出GMSSL:掌握SM2、SM3、SM4算法的高效實(shí)踐

    將帶你從零開始,深入理解這三大核心算法在GMSSL中的高效使用方式,幫助你在實(shí)際項(xiàng)目中快速落地安全方案。 本文將以通信定位二合一系列Air780EGH核心板為例,帶你快速上手GMS
    的頭像 發(fā)表于 12-12 18:20 ?619次閱讀
    深入淺出GMSSL:掌握SM2、SM3、SM4<b class='flag-5'>國</b><b class='flag-5'>密</b><b class='flag-5'>算法</b>的高效實(shí)踐

    Cortex-M0+通用 MCU CW32F系列產(chǎn)品介紹

    Cortex-M0+ 通用 MCU CW32F系列家族型號(hào)展示 2021年10月14日,經(jīng)過多年的市場(chǎng)調(diào)研和潛心研發(fā),武漢芯源半導(dǎo)體自主研發(fā)的首款基于 Cortex-M0+ 內(nèi)核微控制器產(chǎn)品
    發(fā)表于 12-12 06:22

    半導(dǎo)體兩款LED芯片榮獲2025年廣東省名優(yōu)高新技術(shù)產(chǎn)品

    近日,廣東省高新技術(shù)企業(yè)協(xié)會(huì)正式發(fā)布《2025年第批廣東省名優(yōu)高新技術(shù)產(chǎn)品名單》,半導(dǎo)體自主研發(fā)的車規(guī)級(jí)LED芯片與垂直LED芯片兩大系列產(chǎn)品
    的頭像 發(fā)表于 12-02 15:10 ?3701次閱讀

    系列算法簡介及SM4算法原理介紹

    、 系列算法簡介 國家商用密碼算法(簡稱
    發(fā)表于 10-24 08:25

    安世半導(dǎo)體推出全新線性LED驅(qū)動(dòng)器系列產(chǎn)品

    安世半導(dǎo)體近期推出了12/16/24通道、每通道100mA驅(qū)動(dòng)能力的線性LED驅(qū)動(dòng)系列產(chǎn)品。該系列產(chǎn)品集成芯片級(jí)ASIL-B功能安全,滿足車燈系統(tǒng)針對(duì)功能安全日漸增加的高要求,非常適用于車外照明中的轉(zhuǎn)向燈、剎車燈、貫穿式尾燈,以
    的頭像 發(fā)表于 09-26 17:35 ?2258次閱讀
    安世<b class='flag-5'>半導(dǎo)體</b>推出全新線性LED驅(qū)動(dòng)器<b class='flag-5'>系列產(chǎn)品</b>

    半導(dǎo)體閃耀工博會(huì),全系EtherCAT芯片與解決方案引領(lǐng)工控創(chuàng)新

    ,與各行業(yè)伙伴深度探討工控領(lǐng)域的最新發(fā)展趨勢(shì)和技術(shù)創(chuàng)新。展會(huì)上,半導(dǎo)體核心展區(qū)亮相了CF110x系列EtherCAT從站控制器芯片及多元?jiǎng)?chuàng)新產(chǎn)品
    的頭像 發(fā)表于 09-23 18:40 ?760次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導(dǎo)體</b>閃耀工博會(huì),全系EtherCAT芯片與解決方案引領(lǐng)工控創(chuàng)新

    從原理到應(yīng)用,讀懂半導(dǎo)體溫控技術(shù)的奧秘

    和精度能夠滿足光模塊在不同工況下的性能檢測(cè)要求,在光通訊行業(yè)的溫控應(yīng)用中發(fā)揮作用。 依托帕爾貼效應(yīng)這科學(xué)原理研發(fā)的高精度半導(dǎo)體溫控產(chǎn)品,通過多樣化的產(chǎn)品配置,在各領(lǐng)域的溫控環(huán)節(jié)中發(fā)揮
    發(fā)表于 06-25 14:44

    半導(dǎo)體攜國產(chǎn)EtherCAT芯片及系列方案聚力2025廈門工博會(huì),引領(lǐng)行業(yè)芯生態(tài)

    伙伴共同探討工控領(lǐng)域的最新發(fā)展趨勢(shì)和技術(shù)創(chuàng)新。本次展會(huì)上,半導(dǎo)體展示了CF110x系列EtherCAT從站控制器芯片及全系產(chǎn)品開發(fā)板。該
    的頭像 發(fā)表于 05-13 17:13 ?1095次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導(dǎo)體</b>攜國產(chǎn)EtherCAT芯片及<b class='flag-5'>系列</b>方案聚力2025廈門工博會(huì),引領(lǐng)行業(yè)芯生態(tài)

    瓷(GUOCI)F系列貼片電容

    瓷F系列防嘯叫、低ESR貼片電容 瓷F系列產(chǎn)品采用特殊陶瓷材料設(shè)計(jì),其由精確的介電材料和適當(dāng)?shù)膶?dǎo)電漿料配制,自動(dòng)化制程的穩(wěn)定生產(chǎn)和嚴(yán)謹(jǐn)?shù)馁|(zhì)量精確管控了介電設(shè)計(jì)厚度、電極完整性以及端
    發(fā)表于 05-09 15:14

    部署WoSign SSLRSA雙證書,實(shí)現(xiàn)HTTPS加密

    我國網(wǎng)絡(luò)安全法規(guī)體系不斷完善,形成了以《網(wǎng)絡(luò)安全法》為核心的立體化法律框架。阿里云數(shù)字證書管理服務(wù)提供國產(chǎn)品牌SSL證書,支持簽發(fā)基于算法的SSL/TLS證書,助力金融、政務(wù)等行業(yè)
    的頭像 發(fā)表于 03-26 10:58 ?849次閱讀
    部署WoSign SSL<b class='flag-5'>國</b><b class='flag-5'>密</b>RSA雙證書,實(shí)現(xiàn)<b class='flag-5'>國</b><b class='flag-5'>密</b>HTTPS加密

    云平臺(tái)如何部署WoSign SSL“RSA雙證書”

    阿里云WoSign品牌SSL證書是阿里云平臺(tái)熱銷的國產(chǎn)品牌證書之,支持簽發(fā)密合規(guī)的SM2算法SSL證書以及全球信任的RSA算法SSL證書
    的頭像 發(fā)表于 03-18 17:03 ?885次閱讀
    云平臺(tái)如何部署WoSign SSL“<b class='flag-5'>國</b><b class='flag-5'>密</b>RSA雙證書”

    先輯半導(dǎo)體HPM6E00系列產(chǎn)品能用來做EtherCAT的主站嗎

    雖然明確說明了先輯半導(dǎo)體HPM6E00系列產(chǎn)品能用來做EtherCAT的從站,但它可以用來做主站嗎,還是說必須用其他芯片做主站呢
    發(fā)表于 03-16 10:16