女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

信息安全的加密與解密

工程師 ? 來源:汽車電子硬件設計 ? 作者:汽車電子硬件設計 ? 2020-10-19 15:48 ? 次閱讀

前言

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

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

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

信息安全的屬性

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

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

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

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

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

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

加密與解密

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

在介紹加解密之前,簡單普及下基礎的概念,在現代的計算機和依賴計算機的設備里都用到了二進制,每個數字稱為一個比特(bit),一個字節由8個比特構成,儲存的數值范圍為0-255。

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

再回到Alice和Bob的小秘密,經過仔細考慮,情書的關鍵信息如下:

I LOVE YOU

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

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

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

I LOVE YOU-》 J MPWF ZPV

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

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

對稱密鑰

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

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

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

非對稱密鑰

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

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

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

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

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

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

關于非對稱密碼的算法實現,不得不提到RSA,其邏輯如下:

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

E和N構成公鑰,D和N構成私鑰,中間的數學算法在此就不細展開了,如果大家感興趣查閱相關的資料。

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

單向散列函數

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

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

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

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

消息認證

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

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

數字簽名

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

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

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

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

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

總結

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

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

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 信息安全
    +關注

    關注

    5

    文章

    675

    瀏覽量

    39559
  • 數字簽名
    +關注

    關注

    2

    文章

    76

    瀏覽量

    13996
  • 函數
    +關注

    關注

    3

    文章

    4367

    瀏覽量

    64136
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何在MBDT中使用S32k344進行加密

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

    年前再補課!國產 ARM 平臺上演加密解密秀教學!

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

    加密芯片的一種破解方法和對應加密方案改進設計

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

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

    命科學醫用電子儀器設備,自能駕駛汽車應用上,黑客入侵會導致威脅生命安全的危害事件發生。 加密解密變得越來越重要,隨著物聯網和車聯網的迅速崛起,信息
    發表于 12-23 17:29

    淺談加密芯片的一種破解方法和對應加密方案改進設計

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

    淺談加密芯片的一種破解方法和加密方案改進設計

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

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

    加密算法的選擇對于加密安全至關重要,因為它直接影響到數據保護的有效性和可靠性。以下是幾個關鍵點來說明加密算法選擇的重要性: 加密強度:
    的頭像 發表于 12-17 15:59 ?427次閱讀

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

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

    socket 加密通信的實現方式

    在網絡通信中,數據的安全性至關重要。Socket 編程作為網絡通信的基礎,實現加密通信是保護數據不被竊取或篡改的重要手段。 1. SSL/TLS 加密 SSL(Secure Socket Layer
    的頭像 發表于 11-12 14:18 ?1215次閱讀

    UID加密安全啟動原理分析

    本文導讀 ZDP14x0系列芯片是內置開源GUI引擎的圖像顯示專用驅動芯片,在實際產品開發中需要加密保護,防止應用程序被讀取和盜用,本文將介紹如何實現UID加密安全啟動。 UID加密
    的頭像 發表于 11-11 11:49 ?934次閱讀
    UID<b class='flag-5'>加密</b><b class='flag-5'>安全</b>啟動原理分析

    藍牙AES+RNG如何保障物聯網信息安全

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

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

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

    安全服務加密存儲代碼怎么查

    安全服務加密存儲代碼的查詢與實現是一個復雜的過程,涉及到多個方面,包括數據加密、密鑰管理、訪問控制等。 1. 引言 隨著云計算的快速發展,越來越多的企業和個人將數據存儲在云端。然而,數據安全
    的頭像 發表于 07-02 09:28 ?639次閱讀

    量子加密安全通信的未來

    隨著我國信息社會、數字社會、智能社會的發展,信息安全要求越來越迫切。傳統的加密方法雖然在一定程度上保障了信息
    的頭像 發表于 06-24 10:40 ?823次閱讀
    量子<b class='flag-5'>加密</b>:<b class='flag-5'>安全</b>通信的未來

    鴻蒙開發接口安全:【@system.cipher (加密算法)】

    加密類型,可選項有: 1.?encrypt?加密 2.?decrypt?解密
    的頭像 發表于 06-06 09:11 ?1353次閱讀
    鴻蒙開發接口<b class='flag-5'>安全</b>:【@system.cipher (<b class='flag-5'>加密</b>算法)】