• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ECC及其改進(jìn)加密算法的性能分析

      2022-11-22 22:31:17李丹霞劉舒婷楊海珊
      中國新通信 2022年16期
      關(guān)鍵詞:加密算法區(qū)塊鏈性能

      李丹霞 劉舒婷 楊海珊

      摘要:為了探討如何解決交易上鏈區(qū)塊鏈網(wǎng)絡(luò)時敏感數(shù)據(jù)的安全性及加密算法性能問題,主要對自主開發(fā)的通用加密組件中的ECC和ECC改進(jìn)加密算法進(jìn)行分析研究,并結(jié)合真實(shí)生產(chǎn)業(yè)務(wù)場景對兩種算法實(shí)施性能實(shí)驗(yàn),論證了ECC改進(jìn)算法得性能優(yōu)勢,為通用組件的應(yīng)用部署及全網(wǎng)推廣提供支撐依據(jù)的同時,也為其它類型算法性能比對提供了測試方法和重要的性能分析數(shù)據(jù)。

      關(guān)鍵詞:區(qū)塊鏈;加密算法;ECC;性能

      一、 引言

      區(qū)塊鏈作為新一代價值互聯(lián)網(wǎng)技術(shù),正在以前所未有的速度擴(kuò)展并影響著我們的生活,改變著當(dāng)前的商業(yè)模式,是數(shù)字經(jīng)濟(jì)發(fā)展的關(guān)鍵新生力量,近年來,被越來越多的政府和企業(yè)青睞和使用,隨著應(yīng)用場景的不斷擴(kuò)展,隱私保護(hù)的要求也逐步凸顯,比如:如何在公開透明的同時保護(hù)交易者的身份和交易的內(nèi)容,為解決區(qū)塊鏈的隱私保護(hù)問題,也涌現(xiàn)出像同態(tài)加密、零知識證明等一系列可以實(shí)現(xiàn)更廣泛、更嚴(yán)格的隱私保護(hù)技術(shù)。

      CMBaaS服務(wù)平臺是中國移動的一個區(qū)塊鏈網(wǎng)絡(luò)項(xiàng)目,用來為公司內(nèi)部提供區(qū)塊鏈服務(wù),主要應(yīng)用于面向涉及多種角色參與的,多系統(tǒng)復(fù)雜流程交互的,有共識目標(biāo)的,對安全性、數(shù)據(jù)一致性要求較高的業(yè)務(wù)場景。主要涉及各專業(yè)公司、31省公司等一對一、一對多、多對多等數(shù)據(jù)交互場景,為保障各交易用戶的隱私信息安全性,在發(fā)起方進(jìn)行交易上鏈前,會對交易敏感信息進(jìn)行加密,落地方只能通過解密獲取到與自己相關(guān)的鏈上數(shù)據(jù),這樣確保任何不相關(guān)的用戶都無法從密文中讀取到有用的信息,使交易相關(guān)用戶可以在設(shè)定范圍內(nèi)讀取有效數(shù)據(jù),為用戶隱私提供了更深層次的保障。為降低各區(qū)塊鏈業(yè)務(wù)交易方重復(fù)開發(fā)加密工具的成本,加快交易上鏈速度和管理的標(biāo)準(zhǔn)化、統(tǒng)一化,研發(fā)了基于ECC、ECC聯(lián)合AES的加密算法(后續(xù)簡稱為ECC改進(jìn)算法)的通用組件,本文主要結(jié)合實(shí)際生產(chǎn)業(yè)務(wù)場景,針對此兩種算法開展性能驗(yàn)證和結(jié)果分析,論證ECC改進(jìn)算法的優(yōu)勢,為算法的應(yīng)用推廣和后續(xù)優(yōu)化提供重要的支持依據(jù)和方向。

      二、 算法簡介

      (一)AES 算法

      高級加密標(biāo)準(zhǔn)(AES,Advanced Encryption Standard)為最常見的對稱加密算法。所謂對稱加密算法也就是加密和解密用相同的密鑰,具體加解密流程如圖1所示。

      AES采用分組密碼,分組密碼也就是把明文分成一組一組的,每組長度相等,每次加密一組數(shù)據(jù),直到加密完整個明文。在AES標(biāo)準(zhǔn)規(guī)范中,分組長度只能是128位。密鑰的長度可以使用128位、192位或256位。密鑰的長度不同,推薦的加密輪數(shù)也不同,具體如表1所示,本文主要針對AES-128進(jìn)行分析。

      (二) ECC算法

      ECC(Elliptic Curves Cryptography)橢圓曲線加密算法是一種非對稱加密算法,所謂非對稱加密算法,就是加密和解密需要2個不同的密鑰,如果用公開密鑰對數(shù)據(jù)進(jìn)行加密,只能用私有密鑰進(jìn)行解密,反之,如果用私有密鑰進(jìn)行加密,也只能用公開密鑰進(jìn)行解密。具體加解密流程見圖二,本文驗(yàn)證的ECC加密算法密鑰長度為256位,主要使用反射解決因美國出口限制,ECC算法的密鑰長度不能超過128位的問題。

      (三)ECC和AES聯(lián)合加密算法

      AES加密算法因加解密密鑰相同,加密速度較快,適合經(jīng)常發(fā)送數(shù)據(jù)的場合,但密鑰傳輸比較麻煩,如果密鑰泄露,存在安全風(fēng)險,ECC加解密算法因加密和解密密鑰不同,加解密速度相對比較慢,適合偶爾發(fā)送數(shù)據(jù)的場合,但密鑰傳輸方便,安全性相對較高。綜合兩種算法的優(yōu)缺點(diǎn),本文加解密通用組件中,基于java語言實(shí)現(xiàn)了一種ECC改進(jìn)加密算法,進(jìn)行優(yōu)劣互補(bǔ),提升加密安全性和速度,具體流程如圖3所示。

      三、算法性能實(shí)驗(yàn)

      本節(jié)主要介紹性能測試實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境、測試流程及測試指標(biāo)計算方法。

      (一)實(shí)驗(yàn)環(huán)境

      實(shí)驗(yàn)設(shè)備:windows10操作系統(tǒng)的計算機(jī);

      設(shè)備配置:內(nèi)存:6c*16G(內(nèi)存);CPU:Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz? 2.59 GHz;

      測試工具:eclipse、Jmeter5.4、jconsole;

      測試對象:ECC算法、ECC改進(jìn)算法。

      (二) 實(shí)驗(yàn)流程

      因區(qū)塊鏈項(xiàng)目的特殊性,各交易上鏈方需對提交的交易數(shù)據(jù)進(jìn)行簽名操作,數(shù)據(jù)下載方下載數(shù)據(jù)后需要進(jìn)行驗(yàn)簽操作,不同業(yè)務(wù)上鏈場景的加解密算法主要限定在通用加解密組件中的ECC、ECC改進(jìn)算法中選擇。故本文主要對這兩種算法的效率和CPU、內(nèi)存資源消耗進(jìn)行實(shí)驗(yàn)對比,為不同業(yè)務(wù)場景選擇,提供支撐依據(jù),不對其他未選定范圍外的加解密算法進(jìn)行對比實(shí)驗(yàn)。

      本次性能測試實(shí)驗(yàn)主要采用ECC、ECC改進(jìn)算法分別對單字段請求(大小為512B、1KB、2KB)、普通文件(大小為10KB、20KB、30KB)、超大文件(512KB、1MB)的明文數(shù)據(jù)進(jìn)行多輪加解密運(yùn)算,取平均處理時間作為最終的測試結(jié)果。

      (三)算法運(yùn)行效率和資源監(jiān)控方法

      本次實(shí)驗(yàn)運(yùn)行效率主要利用Java中的System.currentTimeMillis將算法結(jié)束的計時與算法運(yùn)行前的計時進(jìn)行相減得到算法的運(yùn)行時間。

      Before = System.currentTimeMillis();//算法運(yùn)行開始的計時

      After = System.currentTimeMillis();//算法運(yùn)行結(jié)束的計時

      getHandletime(before,after);//算法運(yùn)行時間

      該計算方法的源碼截圖見圖4和圖5。

      內(nèi)存和CPU等資源利用率主要使用JDK自帶的jconsole進(jìn)行監(jiān)控分析。

      四、實(shí)驗(yàn)場景及性能結(jié)果分析

      (一) 基線場景

      基線場景主要是考慮在單線程的情況下,對2種算法性能表現(xiàn)做個橫向比較,基于實(shí)際生產(chǎn)交易上鏈場景,需加密數(shù)據(jù)主要包含兩種情況:單個請求多個字段的加密(所有字段的總大小不超過2KB)和文件加密(一個文件中包含多條記錄,一般不超過20K,最大不超過1MB級別)。

      基于此背景,設(shè)計三個基線場景(單字段加解密、普通文件加解密、超大文件加解密),對于單字段加解密,最大不超過2KB,此場景可通過512B、1KB、2KB的字段加解密處理時間體現(xiàn)性能;對于普通文件加解密,則是10KB、20KB、30KB;對于超大文件加解密則是512KB、1MB,具體性能指標(biāo)數(shù)據(jù)如表2所示。

      在無壓力的情況下,不同業(yè)務(wù)場景的運(yùn)行效率和內(nèi)存資源占用見表2,同等數(shù)據(jù)大小下,ECC 改進(jìn)算法的內(nèi)存資源占用均低于ECC算法,當(dāng)加密數(shù)據(jù)大小越大時,ECC改進(jìn)算法運(yùn)行效率優(yōu)勢越明顯。

      (二)負(fù)載場景

      考慮到通用組件的業(yè)務(wù)支撐能力,將待加密明文數(shù)據(jù)大小統(tǒng)一設(shè)定為512B、不考慮并發(fā)的情況下,分別持續(xù)運(yùn)行兩種算法5分鐘,預(yù)估全天可支撐加解密業(yè)務(wù)量,同時監(jiān)控主機(jī)資源使用情況。具體運(yùn)行效率和內(nèi)存使用率如表3所示。

      在此場景下,ECC改進(jìn)算法5分鐘加密處理總數(shù)107630筆,根據(jù)2-8原則,百分之80的業(yè)務(wù)在20%的時間內(nèi)完成,預(yù)估ECC改進(jìn)算法一天內(nèi)(8小時)可支撐業(yè)務(wù)量D1=107630筆/5m×60m×8h×0.2%0.8=258萬筆。ECC算法預(yù)估ECC單獨(dú)加密算法一天內(nèi)可支撐業(yè)務(wù)量D2=98315筆/5m×60m×8h×0.2%0.8=236萬筆,即單日8小時內(nèi)最大業(yè)務(wù)支撐量236萬筆

      同時,通過比對ECC改進(jìn)算法與ECC算法的運(yùn)行效率和內(nèi)存占用率,ECC改進(jìn)算法優(yōu)于ECC算法。

      (三)高并發(fā)場景

      因生產(chǎn)環(huán)境中,存在部分區(qū)塊鏈交易單位會集中到某個時間點(diǎn)集中進(jìn)行交易上鏈,也就是存在瞬間進(jìn)行大量的加解密調(diào)用,因此存在并發(fā)場景,需要進(jìn)行并發(fā)性能瓶頸和比對驗(yàn)證。

      以一定的梯度遞增并發(fā)數(shù),并監(jiān)控系統(tǒng)資源使用情況,兩種算法的運(yùn)行效率和內(nèi)存占用對比見圖7。

      根據(jù)圖6數(shù)據(jù)分析,在不同并發(fā)壓力情況下,ECC改進(jìn)算法運(yùn)行效率均明顯優(yōu)于ECC算法。根據(jù)圖7數(shù)據(jù)分析,高并發(fā)下ECC改進(jìn)算法的內(nèi)存消耗與ECC算法相比,比較接近,優(yōu)勢不明顯。在并發(fā)2萬筆時,兩種算法同時達(dá)到最大吞吐量,其中ECC改進(jìn)算法最大吞吐量368.2筆/s,ECC算法363.5筆/s,詳細(xì)數(shù)據(jù)見圖8。

      五、結(jié)束語

      本文通過三種性能場景,分別對兩種算法進(jìn)行性能實(shí)驗(yàn),從運(yùn)行效率、內(nèi)存占用、最大并發(fā)吞吐量等方面對兩種算法進(jìn)行橫向?qū)Ρ龋Y(jié)果證明,在基線場景下,尤其在對大文件進(jìn)行加密時,ECC改進(jìn)算法加密效率優(yōu)于ECC算法。

      在負(fù)載場景下,ECC改進(jìn)算法一天內(nèi)支撐的最大業(yè)務(wù)量、平均運(yùn)行效率和內(nèi)存占用率也均優(yōu)于ECC算法。在高并發(fā)情況下,同等并發(fā)條件下,ECC改進(jìn)算法的運(yùn)行效率明顯優(yōu)于ECC算法,但內(nèi)存占用優(yōu)勢不明顯,對于存在高并發(fā)的用戶,可以采用內(nèi)存可靈活擴(kuò)展的部署方式,來進(jìn)一步提升ECC改進(jìn)算法,本研究成果為算法應(yīng)用范圍及其他算法性能比對提供了測試方法和重要的性能分析數(shù)據(jù)。

      作者單位:李丹霞? ? 劉舒婷? ? 楊海珊? ? 中移信息技術(shù)有限公司

      作者簡介

      李丹霞(1986-),女,漢,河南省,碩士,研究方向:區(qū)塊鏈技術(shù)、自動化測試技術(shù)等。

      劉舒婷(1993-),女,漢,廣東,學(xué)士,研究方向:測試開發(fā)技術(shù)。

      參? 考? 文? 獻(xiàn)

      [1]華為區(qū)塊鏈技術(shù)開發(fā)團(tuán)隊.區(qū)塊鏈技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,2019.

      [2]TimeShatter.AES加密算法的詳細(xì)介紹與實(shí)現(xiàn)[EB/OL]. [2017-02-19].https://blog.csdn.net/qq_28205153/article/details/55798628.

      [3]邱德華.ECC算法原理[EB/OL].[2013-03-08].https://wenku.baidu.com/view/35f5b8dc3186bceb19e8bb3f.html

      [4]張勇,刑長征.AES和ECC相結(jié)合的數(shù)據(jù)加密技術(shù)的研究[J].計算機(jī)安全,2007.

      [5]李悅,李瑋,曹艷勤,等.幾種輕量級分組密碼算法的性能分析[J].計算機(jī)應(yīng)用與軟件.2016.

      [6]繆昌照,徐俊武. AES與ECC混合加密算法研究[J]. 軟件導(dǎo)刊. 2016, 15(11):2.

      猜你喜歡
      加密算法區(qū)塊鏈性能
      提供將近80 Gbps的帶寬性能 DisplayPort 2.0正式發(fā)布
      區(qū)塊鏈技術(shù)的應(yīng)用價值分析
      商情(2016年40期)2016-11-28 11:24:12
      “區(qū)塊鏈”的茍且、詩和遠(yuǎn)方
      基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
      基于小波變換和混沌映射的圖像加密算法
      Al-Se雙元置換的基于LGPS的thio-LISICON的制備與性能表征
      用“區(qū)塊鏈”助推中企走出去
      強(qiáng)韌化PBT/PC共混物的制備與性能
      中國塑料(2015年4期)2015-10-14 01:09:28
      Hill加密算法的改進(jìn)
      RDX/POLY(BAMO-AMMO)基發(fā)射藥的熱分解與燃燒性能
      景宁| 会同县| 渝北区| 沾化县| 鄂托克前旗| 上饶县| 梧州市| 且末县| 朝阳市| 南京市| 菏泽市| 吉安县| 华安县| 呼伦贝尔市| 嘉定区| 汾阳市| 连云港市| 尉氏县| 增城市| 前郭尔| 宁化县| 东阳市| 乐至县| 贵定县| 平原县| 高州市| 昭平县| 从江县| 龙泉市| 沁水县| 广河县| 巨野县| 宽甸| 社旗县| 新建县| 怀来县| 廊坊市| 衡东县| 安达市| 麟游县| 大名县|