99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

信息安全的加密與解密

工程師 ? 來源:汽車電子硬件設(shè)計 ? 作者:汽車電子硬件設(shè)計 ? 2020-10-19 15:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

在《林海雪原》里,楊子榮為了能夠假裝胡彪,打入虎穴,學(xué)習(xí)了些黑話,題記里楊子榮正跟土匪對著暗號,驗明自己身份的合法性。這是在提到洋氣的A和B之前,能想到密碼學(xué)里身份校驗的故事,當(dāng)然前提是山寨里的人都沒見過胡彪,只是有所耳聞,故事里土匪一直在想法設(shè)法試探楊子榮的身份,感興趣大家可以看看《智取威虎山》中的電影片段。

話說回來,土匪和楊子榮的對話并不涉及加解密的過程,只是憑著行話,核驗身份,與我們正常輸入登錄賬號密碼一樣,那最多稱之為口令,那什么是密碼學(xué)呢?我們簡單看下維基百科的定義。

Cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. (密碼學(xué)是關(guān)于構(gòu)建和分析防止第三方或公眾讀取私人消息的方法體系)。

信息安全的屬性

在密碼學(xué)世界里有兩個虛擬的人物Alice和Bob以擬人化A和B,假如Alice和Bob是同班同學(xué)且互有好感,有一天Alice終于鼓起勇氣要以情書的形式向Bob表白,正常來講他會有些擔(dān)心,最理想的情況下,是情書安全的送到了Bob那里,萬一情書被人發(fā)現(xiàn),也沒有關(guān)系,只有Bob能看懂,同時要確保Bob收到情書之后,還得確定是Bob發(fā)來的,不然搞錯了對象也會很尷尬。

Alice確實是個心思縝密的人,他的擔(dān)心涉及到了信息傳遞的幾個安全屬性。

機(jī)密性: 自己的真實意圖只能讓Bob知道,不能讓公眾曉得,他可以把情書放到密碼箱里,把鑰匙給到Bob,或者也不怕別人看到,對于情書內(nèi)容進(jìn)行加密,也只有Bob知道密鑰。

完整性: 情書中途被人掉包,或者內(nèi)容被篡改,明明是表白I love you 結(jié)果換成 I hate you那就壞了好事了。

真實性: Bob收到情書之后,得知道是Alice寫的,當(dāng)然寫匿名情書搞暗戀又另說了。此時就需要Alice簽字,或者做個人的特殊標(biāo)記,比如加上自己的俄語一段話,因為班上只有Alice會俄語。

Alice的想法也是人之常情,不僅要有勇氣將重要的信息傳遞出去,同時也要有足夠的智慧保證信息的傳遞準(zhǔn)確到位。其實在密碼學(xué)在這里就可以派上用場了。

加密與解密

Alice可以將情書放到有密碼鎖的筆記本里,然后將本子和鑰匙一起送給Bob,這也是一種方式,鑰匙上鎖和解鎖的過程,暫且換上專業(yè)的說法,加密和解密,同時發(fā)送者和接受者用的同一把鑰匙,也就是我們說的對稱加密,當(dāng)然密鑰只有Alice和Bob知道,同時消息和密鑰要同時發(fā)給對方。其邏輯如下:

在介紹加解密之前,簡單普及下基礎(chǔ)的概念,在現(xiàn)代的計算機(jī)和依賴計算機(jī)的設(shè)備里都用到了二進(jìn)制,每個數(shù)字稱為一個比特(bit),一個字節(jié)由8個比特構(gòu)成,儲存的數(shù)值范圍為0-255。

既然二進(jìn)制是計算機(jī)的語言,那么消息都必須得轉(zhuǎn)化為二進(jìn)制才能進(jìn)行計算,很多問題就變成了數(shù)學(xué)問題,此時密碼學(xué)就成功成了數(shù)學(xué)家的天地,這也是我們普通大眾對密碼學(xué)望而卻步的原因。(順便提一句,目前國內(nèi)在密碼學(xué)造詣最深的是山東大學(xué)數(shù)學(xué)系出身的王小云院士。)

再回到Alice和Bob的小秘密,經(jīng)過仔細(xì)考慮,情書的關(guān)鍵信息如下:

I LOVE YOU

現(xiàn)在為了確保消息只有Bob看得懂,而別人看不懂,暫且假設(shè)只有Alice和Bob知道密鑰,此時正常來說他三種操作方式。

首先是字母替換,每個字母按照制定規(guī)則逐一替換,此時Bob收到加密消息的同時,還會收到的字符關(guān)系表,逐個解密得出明文消息。正經(jīng)的說,也就是利用預(yù)先設(shè)計的固定代替規(guī)則,對明文逐個進(jìn)行替換,這個代替規(guī)則又稱為代替函數(shù),代替表或者代替函數(shù),所以相同的明文字符組一定會產(chǎn)生相同的密文字符,此時可以采用頻率分析基本可以得到找到對應(yīng)關(guān)系。

然后是行移位,I LOVE YOU 按照26個字母順序依次向后移一位,那么變化如下:

I LOVE YOU-》 J MPWF ZPV

如此解密時,J MPWF ZPV 各字母向前移動一位就解決問題,得到答案里。

最后就是加減密碼,將明文逐個字符或逐字符組與亂數(shù)相加或相減的密碼,在這里就不贅述了。

對稱密鑰

Alice和Bob的小秘密大部分情況下要通過密碼技術(shù)來保證,順著Alice面對安全威脅的擔(dān)憂,接下來我們還是有必要整體介紹,密碼學(xué)的常用要點(diǎn)。

在之前,其實我們簡要介紹過了對稱密鑰,也就是加密和解密用的是同一套密鑰。關(guān)于具體的對稱密鑰算法,還是有必要介紹AES, 一般會將明文分成128bit的明文塊,密鑰長度有128,192,256bit三種選擇,對于128而言,加密輪數(shù)為10輪。分別用到了XOR運(yùn)算,字母替換,行移位,列混淆一套組合拳,然后經(jīng)過10輪加密計算得到密文。

聽起來挺復(fù)雜的,其實邏輯很簡單,通過一堆騷操作之后,讓你看不懂密文,除非拿到密鑰解密得到消息。但對于Alice想跟Bob表白這件事情來說,也最好不要這樣,除非你確定Bob對密碼學(xué)很感興趣。即使Bob拿到了密鑰,你手把手教他解密,把最后的I LOVE YOU的信息給解出來也不是件容易的事。

非對稱密鑰

對稱密鑰有個問題,情書發(fā)送的時候,要順帶把鑰匙也給對方,不然對方是解不開的,此時不僅要保護(hù)情書不落入情敵手中,同時也要確保密鑰的安全。也就是說對稱密鑰存在密鑰配送的問題。

1976年,美國學(xué)者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協(xié)議,允許在不安全的媒體上的通訊雙方交換信息,安全地達(dá)成一致的密鑰,這就是“公開密鑰系統(tǒng)”。

也就是我們經(jīng)常提到的非對稱加密,咋個理解法?在《圖解密碼技術(shù)》里面提了個非常有意思的說法解釋公鑰和私鑰的關(guān)系。

假如Alice到超市購物要存包,先投一枚硬幣,此后空箱子彈開,你放上你的私人物品后,合上寄存柜的門,然后自動彈出一個小紙條,那個小紙條你得拿好,上面的條形碼是唯一的,到時拿著紙條對著掃碼機(jī)掃一下,解鎖后寄存柜打開,然后完成這個過程。

這樣一套自動化系統(tǒng)成功的解決存包管理的問題,同時將寄存柜變成了公共設(shè)施,同時還能收一筆使用費(fèi)用。其中硬幣相當(dāng)于公鑰,誰都可以有,你有了一塊錢就可以鎖上柜子,然后你的柜子只有你自己的紙條能打開,相當(dāng)于私鑰。

也就是說公鑰加密,私鑰解密。非對稱加密盡管增加了一套密鑰分發(fā)系統(tǒng),但是相對于對稱加密每次都要隨帶密鑰,不僅提高了安全性,還省了內(nèi)存。

關(guān)于非對稱密碼的算法實現(xiàn),不得不提到RSA,其邏輯如下:

密文=明文^E mod N, 密文等于明文的E次方,然后除以N的余數(shù)。

E和N構(gòu)成公鑰,D和N構(gòu)成私鑰,中間的數(shù)學(xué)算法在此就不細(xì)展開了,如果大家感興趣查閱相關(guān)的資料。

不管是對稱加密,還是非對稱加密,解決的核心問題還是機(jī)密性,不希望別人看到個人的隱私信息,密鑰本身也同等重要,比如利用隨機(jī)數(shù)加密數(shù)據(jù),也就是一次性密碼,只是長度與明文一樣長,保護(hù)明文與密鑰成本相同,那就脫離加密本身的初衷,但那也是唯一無法破解的密碼,不過沒有實用的價值,此時說世界上沒有絕對的安全,一點(diǎn)也不為過。

單向散列函數(shù)

如果加密和解密的渠道都是正常進(jìn)行的,萬一有人篡改了消息的內(nèi)容,又該如何保證 呢?

每次發(fā)來的文件消息數(shù)據(jù)量巨大,不可能挨個原文比對驗證完整性,那工作量太大了。此時單向散列函數(shù)就出現(xiàn)了。

單向散列函數(shù),首先是單向不可逆的,你無法通過散列值計算出明文,另外是壓縮數(shù)據(jù),不管多大的數(shù)據(jù),都可以計算出固定長度的散列值。最后就是消息不同,散列值也不同,消息稍微有點(diǎn)變化,散列值本身就會有很大的變化。

如果說消息傳遞時空間的有效性,你可以通過安全傳輸協(xié)議來保證其安全,如果消息時間的有效性,你可以通過前后對比計算散列值得到結(jié)果,針對昨天和今天的校驗值,你如何校驗?zāi)??此時計算消息的散列值,然后對比,這問題就可以解決了,其邏輯步驟如下:

消息認(rèn)證

Bob怎么確定發(fā)送者是Alice呢? 這就要驗證消息的合法性,剛才只是按照消 息原文計算了散列值,比對內(nèi)容是否有篡改,主要應(yīng)用的是昨天跟今天消息的對比,不涉及到消息傳輸。 今天Bob收到情書了,想確定是Alice發(fā)來的,此時就要考慮密鑰問題了。

其實消息認(rèn)證碼就是一種與密鑰相關(guān)聯(lián)的單向散列函數(shù),有了共享密鑰的參與就可以驗證消息來源的合法性了,共享密鑰只有發(fā)送者和接收者知道,Alice和Bob的小秘密才足以捍衛(wèi)。其工作流程如下:

數(shù)字簽名

通過消息認(rèn)證碼可以識別消息是否被篡改或者發(fā)送者身份是否被偽裝,也就可以校驗 消息的完整性,還可以對消息進(jìn)行認(rèn)證。 如果Alice向Bob借了1000塊錢,借錢過程都是合理合法,萬一有天Alice否認(rèn)沒有找Bob借 過錢呢?

對稱加密里面,密鑰是雙方都知曉,非對稱里面公鑰是公開大家都知道的,私鑰只有Bob知道,真正屬于Alice的個人信息并沒有,也就是內(nèi)容沒毛病,就是沒有簽字畫押,對了抗抵賴性,此時數(shù)字簽名就派上了用場。

在非對稱密鑰里面,公鑰加密,私鑰解密。

在數(shù)字簽名里面,私鑰簽名,公鑰驗簽,對于初學(xué)者來說容易弄混,但是從邏輯上可以這么理解,簽名是具有個人屬性獨(dú)一無二的,當(dāng)然得用Alice得私鑰簽名,而驗簽則是任何需要驗簽得人都可以持有。

驗證簽名就是檢查該消息的簽名是否真的屬于Alice,驗證的結(jié)果可以是成功或者失敗,成功則以為著這個簽名是屬于Alice的,失敗則意味著這個簽名不是屬于Alice的。

總結(jié)

密碼學(xué)真是為了保護(hù)Alice 和Bob的小秘密操碎心,對稱密鑰只有一個密鑰,加解密便 捷快速,但密鑰同消息一起傳輸又不太安全,非對稱密鑰解決了密鑰管理的問題,可又擔(dān)心別人篡改了Alice情書的內(nèi)容,費(fèi)盡心思設(shè)計單向散列函數(shù)實現(xiàn)了數(shù)據(jù)比對的輕量化,Bob擔(dān)心Alice借錢不承認(rèn),特意設(shè)置了數(shù)字簽名,真的是太難了。

安全的本質(zhì)就是信任,當(dāng)你不信任對方時,會千方百計的校驗對方的身份,設(shè)置各種密 碼措施,如果不表白似乎就沒這么多事了,但為了人類的繁衍的,科技的進(jìn)步,你總歸是要走下去的。

責(zé)任編輯:haq

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

    關(guān)注

    5

    文章

    683

    瀏覽量

    39763
  • 數(shù)字簽名
    +關(guān)注

    關(guān)注

    2

    文章

    76

    瀏覽量

    14077
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4381

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于SM4的文件加密解密功能實現(xiàn)(ECB模式)

    內(nèi)容,輸入密鑰后,點(diǎn)擊加密,顯示加密后內(nèi)容,并可以保存到文件里 進(jìn)入“文件解密”頁面,選擇文件后,顯示加密后的文件內(nèi)容,輸入密鑰,點(diǎn)擊解密,
    發(fā)表于 06-29 13:21

    GLAD:利用全息圖實現(xiàn)加密解密

    全息圖樣對應(yīng)的物光源。加密過程中,讓兩束光干涉疊加得到干涉圖樣,并用膠片或者光刻膠記錄下來,得到一個全息圖;解密時,只使用復(fù)雜的隨機(jī)圖樣照射前面形成的全息圖就可以獲得物光源信息。 圖1是加密
    發(fā)表于 06-13 08:42

    如何在MBDT中使用S32k344進(jìn)行加密?

    我想加密解密通過 CAN 總線發(fā)送的數(shù)據(jù),為此我想使用 S32k344 中的 HSE 模塊在 MBDT 1.5 中進(jìn)行對稱加密-解密,但工具箱中沒有可用的塊。那我該怎么做呢。請分享與
    發(fā)表于 03-25 07:21

    年前再補(bǔ)課!國產(chǎn) ARM 平臺上演加密解密秀教學(xué)!

    一、產(chǎn)品簡介TL3568-PlusTEB人工智能實驗箱國產(chǎn)高性能處理器64位4核低功耗2.0GHz超高主頻1T超高算力NPU兼容鴻蒙等國產(chǎn)操作系統(tǒng)二、實驗?zāi)康?、了解常見的加密方法;2、加密解密
    的頭像 發(fā)表于 01-23 11:30 ?499次閱讀
    年前再補(bǔ)課!國產(chǎn) ARM 平臺上演<b class='flag-5'>加密</b><b class='flag-5'>解密</b>秀教學(xué)!

    加密芯片的一種破解方法和對應(yīng)加密方案改進(jìn)設(shè)計

    ? ? ? 本文用實例描述了如何破 解、解密使用邏輯加密芯片保護(hù)的STM32方案,包括如果固定ID和固定隨機(jī)數(shù)。后面提出了加強(qiáng)加密方案的一些小技巧,并提出為何使用可編程加密芯片可提高
    發(fā)表于 12-30 14:04 ?1次下載

    【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】RA4E2使用之AES128加密解密

    命科學(xué)醫(yī)用電子儀器設(shè)備,自能駕駛汽車應(yīng)用上,黑客入侵會導(dǎo)致威脅生命安全的危害事件發(fā)生。 加密解密變得越來越重要,隨著物聯(lián)網(wǎng)和車聯(lián)網(wǎng)的迅速崛起,信息
    發(fā)表于 12-23 17:29

    淺談加密芯片的一種破解方法和對應(yīng)加密方案改進(jìn)設(shè)計

    目前市面上很多防抄板加密方案都是基于加密芯片的安全存儲和密文通訊來實現(xiàn)對主MCU方案的保護(hù)。比如把主MCU用到的一些參數(shù)、配置信息等存儲在加密
    發(fā)表于 12-20 15:31

    淺談加密芯片的一種破解方法和加密方案改進(jìn)設(shè)計

    目前市面上很多防抄板加密方案都是基于加密芯片的安全存儲和密文通訊來實現(xiàn)對主MCU方案的保護(hù)。比如把主MCU用到的一些參數(shù)、配置信息等存儲在加密
    發(fā)表于 12-20 15:10

    加密算法的選擇對于加密安全有多重要?

    加密算法的選擇對于加密安全至關(guān)重要,因為它直接影響到數(shù)據(jù)保護(hù)的有效性和可靠性。以下是幾個關(guān)鍵點(diǎn)來說明加密算法選擇的重要性: 加密強(qiáng)度:
    的頭像 發(fā)表于 12-17 15:59 ?539次閱讀

    對稱加密技術(shù)有哪些常見的安全漏洞?

    對稱加密技術(shù)在實際應(yīng)用中可能面臨的安全漏洞主要包括: 實現(xiàn)不當(dāng): 錯誤的加解密實現(xiàn)、弱隨機(jī)數(shù)生成器或其他邏輯錯誤都可能導(dǎo)致安全漏洞。 漏洞利用: 利用已知的弱點(diǎn)或攻擊手段,如理論上可行
    的頭像 發(fā)表于 12-16 13:59 ?732次閱讀

    對稱加密技術(shù)在實際應(yīng)用中如何保障數(shù)據(jù)安全?

    對稱加密技術(shù)在實際應(yīng)用中保障數(shù)據(jù)安全主要通過以下幾個方面: 密鑰的安全性: 對稱加密安全性高度依賴于密鑰的保密性。一旦密鑰泄露,
    的頭像 發(fā)表于 12-16 13:59 ?688次閱讀

    socket 加密通信的實現(xiàn)方式

    在網(wǎng)絡(luò)通信中,數(shù)據(jù)的安全性至關(guān)重要。Socket 編程作為網(wǎng)絡(luò)通信的基礎(chǔ),實現(xiàn)加密通信是保護(hù)數(shù)據(jù)不被竊取或篡改的重要手段。 1. SSL/TLS 加密 SSL(Secure Socket Layer
    的頭像 發(fā)表于 11-12 14:18 ?1466次閱讀

    UID加密安全啟動原理分析

    本文導(dǎo)讀 ZDP14x0系列芯片是內(nèi)置開源GUI引擎的圖像顯示專用驅(qū)動芯片,在實際產(chǎn)品開發(fā)中需要加密保護(hù),防止應(yīng)用程序被讀取和盜用,本文將介紹如何實現(xiàn)UID加密安全啟動。 UID加密
    的頭像 發(fā)表于 11-11 11:49 ?1074次閱讀
    UID<b class='flag-5'>加密</b><b class='flag-5'>安全</b>啟動原理分析

    藍(lán)牙AES+RNG如何保障物聯(lián)網(wǎng)信息安全

    標(biāo)準(zhǔn),主要用于保護(hù)電子數(shù)據(jù)的安全。AES 支持128、192、和256位密鑰長度,其中AES-128是最常用的一種,它使用128位(16字節(jié))的密鑰進(jìn)行加密解密操作。AES屬于分組密碼,每次操作
    發(fā)表于 11-08 15:38

    安卓APP開發(fā)中,如何使用加密芯片?

    加密芯片是一種專門設(shè)計用于保護(hù)信息安全的硬件設(shè)備,它通過內(nèi)置的加密算法對數(shù)據(jù)進(jìn)行加密解密,以防
    的頭像 發(fā)表于 10-31 17:43 ?1003次閱讀
    安卓APP開發(fā)中,如何使用<b class='flag-5'>加密</b>芯片?