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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

歡迎再次來到“碼靈半導(dǎo)體CFW32C7UL系列產(chǎn)品應(yīng)用介紹”連載專題。通過上期對CFW32C7UL系列國密算法SM3和真隨機數(shù)發(fā)生器TRNG的介紹,相信您對CFW32C7UL系列國密硬件模塊有了更進一步的了解。今天我們繼續(xù)介紹CFW32C7UL系列另外兩個非常重要的加解密算法:分組加密算法SM4和非對稱加密算法SM2。那么SM2和SM4國密模塊又是如何使用的?它們加解密的速度如何呢?帶著這些問題,今天我們詳細介紹下CFW32C7UL系列的SM2和SM4模塊及其具體使用方法。


一、SM4分組算法模塊
SM4屬于對稱加密算法,由國家密碼管理局于2012年3月21日發(fā)布的無線局域網(wǎng)標準的分組數(shù)據(jù)算法。顧名思義,對稱加密(也叫私鑰加密)指加密和解密使用相同密鑰的加密算法。對這兩個操作使用單個KEY使其成為一個簡單的過程,因此稱為“對稱”。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。與非對稱加密算法相比,對稱加密的速度要快得多,需要的計算能力更少,在互聯(lián)網(wǎng)中不需降低互聯(lián)網(wǎng)速度。意味著,當加密的數(shù)據(jù)量很大時,對稱加密是一個不錯的選擇。另外同類的對稱加密方法還有AES,RC4,DES,3DES,RC5,RC6等。
SM4算法是一個分組算法,該算法的分組長度為128比特,密鑰長度為128比特。加密算法與密鑰擴展算法都采用32輪非線性迭代結(jié)構(gòu)。解密算法與加密算法的結(jié)構(gòu)相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。在碼靈半導(dǎo)體CFW32C7UL系列中SM4算法是通過硬件方式實現(xiàn)的。
下面我們具體介紹下CFW32C7UL 系列SM4算法的使用方法。
開發(fā)模式一:裸機SDK

在這里插入圖片描述


SM4 算法流程圖
① 設(shè)置SM4密鑰接口
void SM4_SetKey(uint32_t *keyin, uint32_t *ivin, uint32_t mode, uint8_t swap_en,uint8_t mask_en)
函數(shù)參數(shù)
keyin:128bit密鑰指針
Ivin :CBC工作模式時的初始向量(使用CBC模式需要配置)
mode :SM4模式選擇
swap_en :SWAP模式使能, 即大小端配置
mask_en :隨機掩碼使能
使用范例
SM4_SetKey(key1,iv1_null,SM4_ECB_MODE,SM4_SWAP_DISABLE,SM4_MASK_DISABLE);
使用ECB模式,不使能SWAP模式,不使能隨機掩碼,key1為密鑰,iv1_null 為空
② 加解密接口
void SM4_DRV_CPU(uint32_t *datain, uint32_t *dataout, uint32_t length, uint8_t enc, uint8_t vsm4_en)
函數(shù)參數(shù):
Datain: 數(shù)據(jù)輸入指針
Dataout:數(shù)據(jù)輸出指針
Length :數(shù)據(jù)長度(length = bit長度 \128)
Enc: 加密/解密模式
vsm4_en: 偽SM4運算使能
使用范例
加密過程:
SM4_DRV_CPU (plain, result, 1, SM4_ENCRYPTION, SM4_VSM4_DISABLE);
明文為plain,輸出的密文為result, 數(shù)據(jù)長度為128bit ,加密模式,不使能偽sm4運算
解密過程:
SM4_DRV_CPU (result, decryp, 1, SM4_DECRYPTION,SM4_VSM4_DISABLE);
輸入密文為result,輸出的明文為decryp, 數(shù)據(jù)長度為128bit,解密模式,不使能偽sm4運算
開發(fā)模式二:Linux SDK
通過操作linux系統(tǒng)中/dev/wokoo_sm4 ,就可以進行SM4分組加解密算法的運算。
① SM4算法底層接口
open:打開設(shè)備節(jié)點
read:讀取加解密后的數(shù)據(jù)
write:寫入key數(shù)據(jù)和需要加解密的數(shù)據(jù)
ioctl:啟動加解密操作
② 接口描述
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,其它失敗
ioctl:
函數(shù)原型:static long uac_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
參數(shù):file:文件名,cmd:控制參數(shù),arg:其它參數(shù)
返回值:成功0,其它失敗
③ 使用示例
fd = open("/dev/wokoo_sm4", O_RDWR); 打開sm4節(jié)點
write(fd, &sm4_data, sizeof(struct sm4_data_t)); 寫入明文/密文
ioctl(fd, SM4_DIR_ENCRYPT/ SM4_DIR_DECRYPT, NULL); 選擇加密/解密
read(fd, sm4_data.dataout, sizeof(sm4_data.dataout)); 讀出加密/解密的結(jié)果
CFW32C7UL系列 SM4算法的效率
我們通過輸入128KB明文數(shù)據(jù),執(zhí)行加解密運算后輸出加解密運算結(jié)果,并記錄下含接口數(shù)據(jù)傳輸?shù)男酒ぷ鲿r長,得到CFW32C7UL系列 SM4算法的效率。
SM4接口加密運算(ECB模式)

在這里插入圖片描述

SM4接口解密運算(ECB模式)

在這里插入圖片描述

可以看到,碼靈半導(dǎo)體CFW32C7UL系列的SM4算法效率可以達到64Mbps。

二、SM2公鑰算法模塊
SM2屬于非對稱加密算法,是國家密碼管理局于2010年12月17日發(fā)布的橢圓曲線公鑰密碼算法。與對稱加密方法相反,非對稱加密涉及多個密鑰,用于數(shù)據(jù)的加密和解密,是在數(shù)學(xué)上彼此相關(guān)的兩個不同的加密密鑰,即:公開密鑰(簡稱公鑰)和私有密鑰(簡稱私鑰)。公鑰與私鑰是一對,如果用公鑰對數(shù)據(jù)進行加密,只有用對應(yīng)的私鑰才能解密。非對稱加密與與對稱加密相比,在加密和解密花費的時間更長、速度相對較慢,比較適合對少量數(shù)據(jù)處理的應(yīng)用場景。
SM2算法是基于ECC橢圓曲線算法,CFW32C7UL系列支持硬件PKI,ECC,DIV大數(shù)運算,同時SM2算法是通過軟件與硬件相結(jié)合的方式實現(xiàn),是一種安全性極高和效率極高的公鑰算法。同類算法如:RSA、Elgamal、背包算法、Rabin、D-H、ECC等。
下面我們具體介紹下CFW32C7UL系列 SM2算法的具體使用方法。
開發(fā)模式一:裸機SDK
① 產(chǎn)生密鑰對函數(shù)
GM_GenSM2keypair(uint32_t prikey[],uint32_t *Q_X,uint32_t *Q_Y)
函數(shù)參數(shù):
prikey: SM2私鑰數(shù)據(jù)
Q_X :公鑰 X坐標
Q_Y :公鑰 Y坐標
使用范例
GM_GenSM2keypair(prikey,public_keyX,public_keyY);
生成并獲取私鑰prikey,公鑰(public_keyX,public_keyY)
② SM2加密函數(shù)
GM_SM2Encrypt(uint32_t *encrydata, uint32_t *endatalen,uint32_t *plain, uint32_t plainlen, uint32_t *pub_X,uint32_t *pub_Y)
函數(shù)參數(shù)
encrydata:密文數(shù)據(jù)
endatalen:密文長度
plain:明文數(shù)據(jù)
plainlen:明文長度
pub_X:公鑰坐標X
pub_Y:公鑰坐標Y
使用范例
GM_SM2Encrypt(&endata[0],&endataLen,plain,plainlen,public_keyX,public_keyY)
使用公鑰public_key 加密明文plain,輸出密文endata。

③ SM2解密函數(shù)
GM_SM2Decrypt(uint32_t *DecDate, uint32_t DecDatelen,uint32_t *input , uint32_t inlen,uint32_t *pri_key )
函數(shù)參數(shù)
DecDate: 解密出來的明文數(shù)據(jù)
DecDatelen: 解密出來的明文長度
input: 輸入的密文
inlen: 輸入的密文長度
pri_key : 私鑰數(shù)據(jù)
使用范例
GM_SM2Decrypt(&dedata[0], plainlen, endata, endataLen, prikey);
使用私鑰 pricey 解密密文endata 輸出明文 dedata。

開發(fā)模式二:Linux SDK
通過操作linux系統(tǒng)中/dev/wokoo_sm2 ,可以進行SM2加解密算法的運算。
① SM2算法底層接口
open:打開設(shè)備節(jié)點
read:讀取加解密后的數(shù)據(jù)或私鑰和公鑰對
write:寫入明文數(shù)據(jù)
ioctl:設(shè)置是加密還是解密操作
② 接口描述
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,其它失敗
ioctl:
函數(shù)原型:static long uac_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
參數(shù):file:文件名,cmd:控制參數(shù),arg:其它參數(shù)
返回值:成功0,其它失敗
③ 使用示例
sm2_fd = open("/dev/wokoo_sm2", O_RDWR); 打開sm2節(jié)點
ioctl(sm2_fd, SM2_DIR_KEY, NULL); 設(shè)置讀取私鑰和公鑰對
read(sm2_fd, &sm2_data.prikey, sizeof(sm2_data.prikey) + sizeof(sm2_data.public_keyX) + sizeof(sm2_data.public_keyY));讀取私鑰和公鑰
write(sm2_fd, &sm2_data.plain, sizeof(sm2_data.plain)); 寫入明文/密文
ioctl(sm2_fd, SM2_DIR_ENCRYPT/ SM2_DIR_DECRYPT, NULL); 選擇加密/解密
read(sm2_fd, &sm2_data.en_data, 256); 讀取解密/解密結(jié)果
CFW32C7UL 系列SM2算法的效率

在這里插入圖片描述

三、加密算法的選擇
由于非對稱加密算法的運行速度比對稱加密算法的速度慢很多,當需要對大量的數(shù)據(jù)進行加密時,建議采用對稱加密算法,以提高加解密速度。對稱加密算法的密鑰管理是一個復(fù)雜的過程,密鑰的管理直接決定著他的安全性,因此當數(shù)據(jù)量很小時,我們可以考慮采用非對稱加密算法。
因?qū)ΨQ加密算法不能實現(xiàn)簽名,因此簽名時使用非對稱算法。在實際的操作過程中,我們通常采用的方式是:采用非對稱加密算法管理對稱算法的密鑰,然后用對稱加密算法加密數(shù)據(jù),這樣我們就集成了兩類加密算法的優(yōu)點,既實現(xiàn)了加密速度快的優(yōu)點,又實現(xiàn)了安全方便管理密鑰的優(yōu)點。
通過以上對CFW32C7UL系列 SM2和SM4算法模塊的介紹,相信您對國密模塊的使用有更深入的了解。碼靈半導(dǎo)體CFW32C7UL系列除了支持國密算法外,同樣也支持國際常見的通用加解密算法,如AES和SHA算法,這部分算法也是通過硬件實現(xiàn)。那么它們在CFW32C7UL系列中是如何具體使用呢?讓我們帶著這些問題,在下期中去探尋吧。

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

    關(guān)注

    459

    文章

    52464

    瀏覽量

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

    關(guān)注

    146

    文章

    17961

    瀏覽量

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

    關(guān)注

    0

    文章

    415

    瀏覽量

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

    關(guān)注

    0

    文章

    24

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

    和精度能夠滿足光模塊在不同工況下的性能檢測要求,在光通訊行業(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廈門工博會,引領(lǐng)行業(yè)芯生態(tài)

    伙伴共同探討工控領(lǐng)域的最新發(fā)展趨勢和技術(shù)創(chuàng)新。本次展會上,半導(dǎo)體展示了CF110x系列EtherCAT從站控制器芯片及全系產(chǎn)品開發(fā)板。該
    的頭像 發(fā)表于 05-13 17:13 ?543次閱讀
    <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廈門工博會,引領(lǐng)行業(yè)芯生態(tài)

    瓷(GUOCI)F系列貼片電容

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

    部署WoSign SSLRSA雙證書,實現(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 ?377次閱讀
    部署WoSign SSL<b class='flag-5'>國</b><b class='flag-5'>密</b>RSA雙證書,實現(xiàn)<b class='flag-5'>國</b><b class='flag-5'>密</b>HTTPS加密

    云平臺如何部署WoSign SSL“RSA雙證書”

    阿里云WoSign品牌SSL證書是阿里云平臺熱銷的國產(chǎn)品牌證書之,支持簽發(fā)密合規(guī)的SM2算法SSL證書以及全球信任的RSA算法SSL證書
    的頭像 發(fā)表于 03-18 17:03 ?323次閱讀
    云平臺如何部署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

    海康威視發(fā)布多模態(tài)大模型搜存儲系列產(chǎn)品

    多模態(tài)大模型為安防行業(yè)帶來重大技術(shù)革新,基于觀瀾大模型技術(shù)體系,海康威視將大參數(shù)量、大樣本量的圖文多模態(tài)大模型與嵌入式智能硬件深度融合,發(fā)布多模態(tài)大模型搜存儲系列產(chǎn)品——搜NVR、
    的頭像 發(fā)表于 02-18 10:33 ?668次閱讀

    N32A455xxL7系列產(chǎn)品簡介

    電子發(fā)燒友網(wǎng)站提供《N32A455xxL7系列產(chǎn)品簡介.pdf》資料免費下載
    發(fā)表于 01-22 15:37 ?0次下載
    N32A455xxL<b class='flag-5'>7</b><b class='flag-5'>系列產(chǎn)品</b>簡介

    看懂2025年功率半導(dǎo)體市場展望

    。我們估計了 2025 年最有趣的重點領(lǐng)域。 1. 賦能數(shù)據(jù)中心未來 在人工智能的持續(xù)發(fā)展推動下,數(shù)據(jù)中心市場正在經(jīng)歷場巨大的轉(zhuǎn)變。隨著計算半導(dǎo)體市場到 2025 年將飆升至驚人的 2390 億美元,電力輸送需求從每機架 30 千瓦飆升至 100 千瓦以
    的頭像 發(fā)表于 11-22 11:02 ?5046次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>看懂</b>2025年功率<b class='flag-5'>半導(dǎo)體</b>市場展望

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

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

    半導(dǎo)體精彩亮相EtherCAT中國路演2024,以全新EtherCAT產(chǎn)品賦能工控應(yīng)用!

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

    EtherCAT 中國路演2024 | 半導(dǎo)體與您相約!

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

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

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

    【展會預(yù)告】半導(dǎo)體@上海工博會(IAS)

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

    半導(dǎo)體攜眾多產(chǎn)品及EtherCAT方案精彩亮相2024深圳國際電子展

    作為亞太地區(qū)頗具影響力的前沿科技成果展會,elexcon2024深圳國際電子展已于8月27日盛大開幕,半導(dǎo)體攜帶最新產(chǎn)品以及豐富的行業(yè)應(yīng)用解決方案精彩亮相。2024深圳國際電子展于
    的頭像 發(fā)表于 08-30 12:44 ?1020次閱讀
    <b class='flag-5'>碼</b><b class='flag-5'>靈</b><b class='flag-5'>半導(dǎo)體</b>攜眾多<b class='flag-5'>產(chǎn)品</b>及EtherCAT方案精彩亮相2024深圳國際電子展
    主站蜘蛛池模板: 日日添天天做天天爱 | 看黄色一级毛片 | 最近国语剧情视频在线观看 | 福利片午夜 | 天天色色网 | 在线观看免费av网站 | 天天干在线观看 | 高h 男男 | 午夜三级福利 | 欧美三级黄色 | 免费欧洲美女与动zooz | 亚洲一区二区免费在线观看 | 精品久久久久久久免费加勒比 | 国产真实偷乱视频在线观看 | 亚洲 成人 欧美 自拍 | 久久婷婷国产一区二区三区 | 欧美性xxxx巨大黑人猛 | 黄页网址免费观看18网站 | 性欧美高清精品videos | 国产深夜福利在线观看网站 | 理论片毛片| 亚洲欧美日韩在线观看你懂的 | 精品视频一区在线观看 | 欧美巨大xxxx做受中文字幕 | 国产伦精品一区二区三区 | 四虎影院的网址 | 亚洲午夜顶级嘿嘿嘿影院 | 亚洲第一成人影院 | 性做久久久久久免费观看 | 久青草国产观看在线视频 | 色妞在线| 天天操天天干天天透 | 在线观看免费xx高清视频 | 亚洲最大色网站 | 日韩在线视频一区 | xxxx日本69xxxxx | 中日韩一级片 | 97色在线 | 男男扒开后菊惩罚 | 狼狼狼色精品视频在线播放 | 亚洲一区二区三区在线 |