久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

信息安全:RSA-2048性能

 開心果NeedCar 2023-11-14 發(fā)布于上海

提到RSA,,我們自然而然的會想到"非對稱加密算法",,相比于對稱加密算法(Symmetric-key algorithm),非對稱加密算法不必?fù)?dān)心公鑰傳輸被截獲的問題,。對稱加密算法使用相同密鑰進(jìn)行加密,、解密操作,如果密鑰被截獲,,第三方就可以隨意偽造信息,。而對于非對稱加密算法,密鑰成對出現(xiàn),即:公鑰,、私鑰唯一配對,,私鑰由信任中心或者密鑰對生成方保存,私鑰信息不外泄,,而對應(yīng)的公鑰可以傳輸給多個目標(biāo),,如果傳輸?shù)臄?shù)據(jù)被篡改,接收方則無法驗證通過,,確保了數(shù)據(jù)不會被偽造,。

本文,和大家分享RSA-2048算法性能的Topic,。

1,、RSA-2048與公鑰、私鑰關(guān)系

使用RSA-2048算法,,離不開公鑰和私鑰,,在實際的項目中,尤其Bootloader更新Application程序中,,收到的信息是信任中心或者上位機加簽過的摘要信息,,需使用提前存儲在Bootloader中的公鑰,對摘要信息解密,,也就是"驗簽",。不太理解這個過程的小伙伴,可以參考前文《信息安全:軟件認(rèn)證,,知識點梳理》。

數(shù)據(jù)加簽和驗簽的流程示意如下:

  1. 對原始數(shù)據(jù)進(jìn)行Hash計算(eg:SHA-256),,得到Hash Value(eg:32 Byte),,這個Hash Value稱為明文;
  2. 使用私鑰+加密算法(eg:RSA-2048)對明文進(jìn)行加密處理(也就是簽名),,生成密文(摘要信息,,eg:256Byte);
  3. 云端或者上位機將原始數(shù)據(jù)和密文傳輸給MCU;
  4. MCU使用配對的公鑰+加密算法(eg:RSA-2048)對密文進(jìn)行解密處理,,得到明文1,。同時,MCU端使用相同的Hash算法對原始數(shù)據(jù)進(jìn)行Hash計算,,得到明文2,,如果明文1==明文2,驗證成功,,反之,,驗證失敗,。
但是,如上的過程中,,如果明文沒有變化,,是不是意味著每次加密后的密文也沒有變化?:如果明文沒有隨機填充機制,,或者填充數(shù)據(jù)固定,,每次生成的密文會相同。如果密文沒有變化,,那么,,攻擊者就有可能通過密文最終逆向出明文,怎么辦呢,?:通過添加隨機Padding值機制,,防止生成相同的密文。

2,、RSA-PSS機制

為了防止生成相同的密文,,人們想出了RSA-PSS( Probabilistic Signature Scheme)填充機制,RSA-PSS機制相對于RSA-PKCS#1 v1.5(PKCS:Public Key Cryptography Standards),,簽名機制更安全,。

(一)RSA-PSS填充機制

如上圖,RSA-PSS填充和計算具體過程如下:

  1. 將明文(M)進(jìn)行Hash計算,,得到mHash,,同時添加填充值和隨機值(Salt)得到M’;

  2. 對M'進(jìn)行二次Hash計算,,得到哈希值H,,DB配合MGF函數(shù)得到MaskedDB,加上截斷符號0xbc得到EM,;

  3. 之后對EM進(jìn)行RSA加密計算,,得到密文EM'用于傳輸,這樣,,即可避免密文的重復(fù)性,。

(二)RSA-PKCS#v1.5填充模式

如上圖,,RSA-PKCS#v1.5填充模式固定,,如果明文確定,則計算的密文相同,,所以,,相比之下,RSA-PSS填充規(guī)則更安全,。
(三)RSA-PSS驗簽機制

采用RSA-PSS填充機制,,驗簽的流程就不是簡單的解密后對比Hash值,,如上圖:
  1. 私鑰+RSA-2048對EM加密,生成密文EM';
  2. 接收端通過公+RSA-2048對EM'解密,,得到EM,;
  3. 在EM中提取哈希值H1,通過明文M進(jìn)行兩次Hash計算得到H2,;
  4. 比對H1與H2,,相同,驗證通過,,反之,,失敗。
提示:非對稱算法選擇RSA-2048,。

3,、基于RSA-2048-PSS的性能測試

我們知道,,MCU級的芯片,,目前,,多數(shù)硬件還不支持RSA-2048算法,只能由軟件實現(xiàn),,對于軟件實現(xiàn),就看各家實現(xiàn)的性能如何,。本文進(jìn)行一個非對稱對比實驗:
  • HSM端:主頻100MHz,,CPU為ARM Cortex M3,,集成RSA-2048_B算法,。
  • Host端:主頻300MHz,,CPU為Tricore 1.6P集成RSA-2048_A算法。
兩者對相同的明文(M)進(jìn)行驗證,。計算結(jié)果如下所示(計算10次取平均值):

如上結(jié)果:RSA-2048_A算法,,計算一次(驗簽)用時約277ms,RSA-2048_B算法,,計算一次用時約65ms,。雖然兩者CPU主頻不同,但是,,優(yōu)秀的RSA-2048_B算法表現(xiàn)出了更優(yōu)秀的計算性能,。

參考資料:

(1)https://zhuanlan.zhihu.com/p/56678361

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多