主頁 > 區塊鏈 > 資訊安全技術之數字簽名_公鑰密碼_非對稱加密

資訊安全技術之數字簽名_公鑰密碼_非對稱加密

2021-04-08 12:05:03 區塊鏈

資訊安全技術主要包括:

  • 資訊加密技術
  • 數字簽名技術
  • 身份認證技術
  • 訪問控制技術
  • 網路安全技術
  • 反病毒技術
  • 資料備份與恢復
  • 資訊安全管理

這里因為之前搞到了師兄給的一百多頁的密碼學基礎,所以就先pick數字簽名來講,(小聲嗶嗶:按我的性格肯定是想all in的,但是看一個密碼學能講的都有很多那就先講數字簽名再加億點點細節吧)

數字簽名技術

  • 數字簽名(又稱公鑰數字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領域的技術實作,用于鑒別數字資訊的方法,一套數字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證,
  • 數字簽名,就是只有資訊的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對資訊的發送者發送資訊真實性的一個有效證明,
  • 數字簽名是非對稱密鑰加密技術與數字摘要技術的應用
    數字簽名技術是密碼學基礎的一部分
  • 傳統簽名的基本特點:
  • 能與被簽的檔案在物理上不可分割
  • 簽名者不能否認自己的簽名
  • 簽名不能被偽造
  • 容易被驗證
  • 數字簽名是傳統簽名的數字化,基本要求:
  • 能與所簽檔案“系結”
  • 簽名者不能否認自己的簽名
  • 簽名不能被偽造
  • 容易被驗證

數字簽名的特性

  • 不可偽造性
  • 沒有私鑰,很難偽造一個合法的數字簽名
  • 不可否認性
  • 對普通數字簽名,任何人可用簽名者公鑰驗證簽名的有效性
  • 保證訊息完整性
  • 可以防止訊息被篡改

數字簽名的兩種方法

在這里插入圖片描述(a) 基于RSA的數字簽名

  • 初始化:
    m:簽名的訊息
    簽名者的私鑰:d;公鑰:(e,n)
  • 簽名:
    計算m的哈希值H(m).
    簽名值s=(H(m))^d mod n
  • 驗證:
    計算H1=s^e mod n
    判斷H1=H(m)是否成立
    在這里插入圖片描述

(b) DSS處理

DSS數字簽名標準:

  • DSS(Digital signature standard)
  • NIST提出,1994年12月被正式采用為美國聯邦資訊處理標準
  • 數字簽名演算法(Digital signature algorithm, DSA )

DSS特點:

  1. 只能用于簽名
  2. 不能用于加密,也不能用于密鑰分配
  • DSA是ELGamal簽名方案的一個變形,所有有關ELGamal簽名方案的一些攻擊方法也可能對DSA有效
  • 對DSA持反對意見的人懷疑 DSA的安全性,認為DSA的密鑰長度太短

三種演算法的比較

演算法加/解密數字簽名密鑰協商
RSA
Dieffie-Hellman
DSA

加億點點細節(擴展內容,,跑偏了)


非對稱密碼演算法

非對稱加密演算法是一種密鑰的保密方法,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey:簡稱公鑰)和私有密鑰(privatekey:簡稱私鑰),公鑰與私鑰是一對,如果用公鑰對資料進行加密,只有用對應的私鑰才能解密,因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法,

  • 理解非對稱密碼演算法的優缺點和應用場合:
  • 優點:安全性更高,公鑰是公開的,秘鑰是自己保存的,不需要將私鑰給別人,
  • 缺點:加密和解密花費時間長、速度慢,只適合對少量資料進行加密,在某些極端情況下,甚至能比對稱加密慢上1000倍,
  • 常見應用場景:資訊加密、用戶認證、數字簽名、數字證書

  • 理解RSA演算法的特點
  • 1977年由Ron Rivest、Adi Shamir和Len Adleman發明,1978年正式公布,
  • RSA是一種分組加密演算法,明文和密文在0~n-1之間,n是一個正整數,
  • 該演算法的數學基礎是初等數論中的Euler(歐拉)定理,并建立在大整數因子的困難性之上,
  • 目前應用最廣泛的公鑰密碼演算法,
  • RSA公鑰加密演算法是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的,1987年7月首次在美國公布,當時他們三人都在麻省理工學院作業實習,RSA就是他們三人姓氏開頭字母拼在一起組成的,它是第一個既能用于資料加密也能用于數字簽名的演算法
    RSA是目前最有影響力和最常用的公鑰加密演算法,它能夠抵抗到目前為止已知的絕大多數密碼攻擊,已被ISO推薦為公鑰資料加密標準,
    今天只有短的RSA鑰匙才可能被強力方式解破,到2008年為止,世界上還沒有任何可靠的攻擊RSA演算法的方式,只要其鑰匙的長度足夠長,用RSA加密的資訊實際上是不能被解破的,但在分布式計算和量子計算機理論日趨成熟的今天,RSA加密安全性受到了挑戰和質疑,
  • RSA (Rivest - Shamir – Adleman),1977
  • 在一個演算法中實作簽名和加密
  • 私鑰 : 簽名和解密
  • 公鑰 : 簽名檢驗和加密
  • RSA演算法是一種非對稱密碼演算法,所謂非對稱,就是指該演算法需要一對密鑰,使用其中一個加密,則需要用另一個才能解密,
  • RSA的演算法涉及三個引數,n、e1、e2,其中,n是兩個大質數p、q的積,n的二進制表示時所占用的位數,就是所謂的密鑰長度,
    e1和e2是一對相關的值,e1可以任意取,但要求e1與(p-1)*(q-1)互質;再選擇e2,要求(e2×e1)≡1(mod(p-1)×(q-1)),
    (n,e1),(n,e2)就是密鑰對,其中(n,e1)為公鑰,(n,e2)為私鑰,
    RSA加解密的演算法完全相同,設A為明文,B為密文,則:A≡B^e2( mod n);B≡A^e1 (mod n);(公鑰加密體制中,一般用公鑰加密,私鑰解密)
    e1和e2可以互換使用,即:A≡B^e1 (mod n);B≡A^e2( mod n);
    RSA演算法基于一個十分簡單的數論事實:將兩個大質數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰


  • 了解DH、EIGamal、ECC等演算法的特點
  • 非對稱加密的主要演算法:RSA、Elgamal、背包演算法、Rabin、HD,ECC(橢圓曲線加密演算法),常見的有:RSA,ECC
  • DH演算法全稱為"Diffie-Hellman",它是一種確保共享 KEY 安全穿越不安全網路的方法,也就是常說的密鑰一致協議,由公開密鑰密碼體制的奠基人 Diffie 和 Hellman 所提出的一種思想,簡單的說就是允許兩名用戶在公開媒體上交換資訊以生成"一致"的、可以共享的密鑰,也就是由甲方產出一對密鑰 (公鑰、私鑰),乙方依照甲方公鑰產生乙方密鑰對 (公鑰、私鑰),

  • ElGamal演算法既能用于資料加密也能用于數字簽名,其安全性依賴于計算有限域上離散對數這一難題,
  • ElGamal在1985年提出的
    既能用于資料加密也能用于數字簽名
    安全性
    基于求解離散對數困難問題
  • 美國NIST的數字簽名標準 DSS(Digital Signature Standard)采用ElGamal數字簽名體制的修改版本而制定,

  • ECC(Elliptic Cure Crytosystem),1985
    基于有限域上橢圓曲線有理點群的密碼系統
    更快的具有更小密鑰長度的公開密碼系統
    功能同RSA:數字簽名,密鑰管理,加密
    橢圓加密演算法(ECC)是一種公鑰加密演算法,最初由 Koblitz 和 Miller 兩人于1985年提出,其數學基礎是利用橢圓曲線上的有理點構成 Abel 加法群上橢圓離散對數的計算困難性,公鑰密碼體制根據其所依據的難題一般分為三類:大整數分解問題類、離散對數問題類、橢圓曲線類,有時也把橢圓曲線類歸為離散對數類,
    ECC 的主要優勢是在某些情況下它比其他的方法使用更小的密鑰 (比如 RSA),提供相當的或更高等級的安全,ECC 的另一個優勢是可以定義群之間的雙線性映射,基于 Weil 對或是 Tate 對;雙線性映射已經在密碼學中發現了大量的應用,例如基于身份的加密,不過一個缺點是加密和解密操作的實作比其他機制花費的時間長,ECC 被廣泛認為是在給定密鑰長度的情況下,最強大的非對稱演算法,因此在對帶寬要求十分緊的連接中會十分有用,位元幣錢包公鑰的生成使用了橢圓曲線演算法,通過橢圓曲線乘法可以從私鑰計算得到公鑰, 這是不可逆轉的程序,
    優勢:(1) 安全性高,有研究表示160位的橢圓密鑰與1024位的 RSA 密鑰安全性相同,(2) 處理速度快,在私鑰的加密解密速度上,ECC 演算法比 RSA、DSA 速度更快,存盤空間占用小,帶寬要求低, ECC演算法案例Java 中 Chipher、Signature、KeyPairGenerator、KeyAgreement、SecretKey 均不支持 ECC 演算法,
    橢圓曲線
  • ECC應用:
  • 無線Modem的實作
    對分組交換資料網加密,實作快速Deffie-Hellman密鑰交換
  • Web服務器的實作
    可節省計算時間和帶寬
  • 集成電路卡的實作
    ECC無需協處理器即可在標準卡上實作快速、安全的數字簽名,RSA難以實作
  • ECC的特點:
  • 安全性能更高(160位等同RSA的1024位)
  • 計算量小,處理速度快
  • 存盤空間占用小
  • 帶寬要求低
  • 應用前景非常好,特別在移動通信、無線設備上的應用,

演算法能講的真的太多遼,一口老血
RSA和ESS安全模長的時間比較👇

攻破時間RSA/DSAECCRSA/ECC
MIPS年密鑰長度密鑰長度密鑰長度比
10^45121065:1
10^87681326:1
10^1110241607:1
10^20204821010:1
10^782100060035:1

Diffie-Hellman 密鑰協商演算法

Diffie-Hellman 密鑰協商演算法

公鑰密碼體制的思想

  • 不同于以往的加密技術,公鑰密碼體制是建立在數學函式基礎上的,而不是建立在位方式的操作上的,
  • 與只使用單一密鑰的傳統加密技術相比,它在加解密時,分別使用了兩個不同的密鑰:
  • 一個可對外界公開,稱為“公鑰”;
  • 一個只有所有者知道,稱為“私鑰”,
  • 用公鑰加密的資訊只能用相應的私鑰解密,反之亦然,
  • 同時,要想由一個密鑰推知另一個密鑰,在計算上是不可能的
    公鑰加密模型👇
    公鑰加密模型

公鑰密碼的重要特性

在這里插入圖片描述

公鑰密碼的優缺點

  • 優點:
  • 解決密鑰傳遞的問題
  • 大大減少密鑰持有量
  • 提供了對稱密碼技術無法或很難提供的服務(數字簽名)
  • 缺點:
  • 計算復雜、耗用資源大
  • 非對稱會導致得到的密文變長

對公鑰密碼的誤解

  • 公鑰密碼演算法比對稱密碼演算法更安全?
    任何一種現代密碼演算法的安全性都依賴于密鑰長度、破譯密碼的作業量,從對抗分析角度,沒有一方更優越,
  • 公鑰密碼演算法使得對稱密碼演算法成為了過時技術?
    公鑰密碼演算法計算速度較慢,通常用于密鑰管理和數字簽名,
    對稱密碼演算法將長期存在,
  • 使用公開密鑰加密,密鑰分配變得非常簡單?
    密鑰分配既不簡單,也不有效,

本篇博客講解了數字簽名,擴展的說明了公鑰加密、非對稱加密等與數字簽名技術實作相關內容,其技術應用演算法各不相同,感興趣的可以進行再深入了解,

密碼技術知識體

<style>#mermaid-svg-O4TdJ8RxOP0XDQGi .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .label text{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .node rect,#mermaid-svg-O4TdJ8RxOP0XDQGi .node circle,#mermaid-svg-O4TdJ8RxOP0XDQGi .node ellipse,#mermaid-svg-O4TdJ8RxOP0XDQGi .node polygon,#mermaid-svg-O4TdJ8RxOP0XDQGi .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-O4TdJ8RxOP0XDQGi .node .label{text-align:center;fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .node.clickable{cursor:pointer}#mermaid-svg-O4TdJ8RxOP0XDQGi .arrowheadPath{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-O4TdJ8RxOP0XDQGi .flowchart-link{stroke:#333;fill:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-O4TdJ8RxOP0XDQGi .edgeLabel rect{opacity:0.9}#mermaid-svg-O4TdJ8RxOP0XDQGi .edgeLabel span{color:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-O4TdJ8RxOP0XDQGi .cluster text{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-O4TdJ8RxOP0XDQGi .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-O4TdJ8RxOP0XDQGi text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .actor-line{stroke:grey}#mermaid-svg-O4TdJ8RxOP0XDQGi .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .sequenceNumber{fill:#fff}#mermaid-svg-O4TdJ8RxOP0XDQGi #sequencenumber{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi #crosshead path{fill:#333;stroke:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .messageText{fill:#333;stroke:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-O4TdJ8RxOP0XDQGi .labelText,#mermaid-svg-O4TdJ8RxOP0XDQGi .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .loopText,#mermaid-svg-O4TdJ8RxOP0XDQGi .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-O4TdJ8RxOP0XDQGi .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-O4TdJ8RxOP0XDQGi .noteText,#mermaid-svg-O4TdJ8RxOP0XDQGi .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-O4TdJ8RxOP0XDQGi .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-O4TdJ8RxOP0XDQGi .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-O4TdJ8RxOP0XDQGi .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .section{stroke:none;opacity:0.2}#mermaid-svg-O4TdJ8RxOP0XDQGi .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-O4TdJ8RxOP0XDQGi .section2{fill:#fff400}#mermaid-svg-O4TdJ8RxOP0XDQGi .section1,#mermaid-svg-O4TdJ8RxOP0XDQGi .section3{fill:#fff;opacity:0.2}#mermaid-svg-O4TdJ8RxOP0XDQGi .sectionTitle0{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .sectionTitle1{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .sectionTitle2{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .sectionTitle3{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-O4TdJ8RxOP0XDQGi .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .grid path{stroke-width:0}#mermaid-svg-O4TdJ8RxOP0XDQGi .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-O4TdJ8RxOP0XDQGi .task{stroke-width:2}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText:not([font-size]){font-size:11px}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-O4TdJ8RxOP0XDQGi .task.clickable{cursor:pointer}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText0,#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText1,#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText2,#mermaid-svg-O4TdJ8RxOP0XDQGi .taskText3{fill:#fff}#mermaid-svg-O4TdJ8RxOP0XDQGi .task0,#mermaid-svg-O4TdJ8RxOP0XDQGi .task1,#mermaid-svg-O4TdJ8RxOP0XDQGi .task2,#mermaid-svg-O4TdJ8RxOP0XDQGi .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutside0,#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutside2{fill:#000}#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutside1,#mermaid-svg-O4TdJ8RxOP0XDQGi .taskTextOutside3{fill:#000}#mermaid-svg-O4TdJ8RxOP0XDQGi .active0,#mermaid-svg-O4TdJ8RxOP0XDQGi .active1,#mermaid-svg-O4TdJ8RxOP0XDQGi .active2,#mermaid-svg-O4TdJ8RxOP0XDQGi .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-O4TdJ8RxOP0XDQGi .activeText0,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeText1,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeText2,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeText3{fill:#000 !important}#mermaid-svg-O4TdJ8RxOP0XDQGi .done0,#mermaid-svg-O4TdJ8RxOP0XDQGi .done1,#mermaid-svg-O4TdJ8RxOP0XDQGi .done2,#mermaid-svg-O4TdJ8RxOP0XDQGi .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-O4TdJ8RxOP0XDQGi .doneText0,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneText1,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneText2,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneText3{fill:#000 !important}#mermaid-svg-O4TdJ8RxOP0XDQGi .crit0,#mermaid-svg-O4TdJ8RxOP0XDQGi .crit1,#mermaid-svg-O4TdJ8RxOP0XDQGi .crit2,#mermaid-svg-O4TdJ8RxOP0XDQGi .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCrit0,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCrit1,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCrit2,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCrit0,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCrit1,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCrit2,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-O4TdJ8RxOP0XDQGi .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-O4TdJ8RxOP0XDQGi .milestoneText{font-style:italic}#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCritText0,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCritText1,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCritText2,#mermaid-svg-O4TdJ8RxOP0XDQGi .doneCritText3{fill:#000 !important}#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCritText0,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCritText1,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCritText2,#mermaid-svg-O4TdJ8RxOP0XDQGi .activeCritText3{fill:#000 !important}#mermaid-svg-O4TdJ8RxOP0XDQGi .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-O4TdJ8RxOP0XDQGi g.classGroup text .title{font-weight:bolder}#mermaid-svg-O4TdJ8RxOP0XDQGi g.clickable{cursor:pointer}#mermaid-svg-O4TdJ8RxOP0XDQGi g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-O4TdJ8RxOP0XDQGi g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-O4TdJ8RxOP0XDQGi .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-O4TdJ8RxOP0XDQGi .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .dashed-line{stroke-dasharray:3}#mermaid-svg-O4TdJ8RxOP0XDQGi #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi .commit-id,#mermaid-svg-O4TdJ8RxOP0XDQGi .commit-msg,#mermaid-svg-O4TdJ8RxOP0XDQGi .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-O4TdJ8RxOP0XDQGi g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-O4TdJ8RxOP0XDQGi g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-O4TdJ8RxOP0XDQGi g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-O4TdJ8RxOP0XDQGi .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-O4TdJ8RxOP0XDQGi .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-O4TdJ8RxOP0XDQGi .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-O4TdJ8RxOP0XDQGi .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-O4TdJ8RxOP0XDQGi .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-O4TdJ8RxOP0XDQGi .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-O4TdJ8RxOP0XDQGi .edgeLabel text{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-O4TdJ8RxOP0XDQGi .node circle.state-start{fill:black;stroke:black}#mermaid-svg-O4TdJ8RxOP0XDQGi .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-O4TdJ8RxOP0XDQGi #statediagram-barbEnd{fill:#9370db}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-state .divider{stroke:#9370db}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-O4TdJ8RxOP0XDQGi .note-edge{stroke-dasharray:5}#mermaid-svg-O4TdJ8RxOP0XDQGi .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-O4TdJ8RxOP0XDQGi .error-icon{fill:#522}#mermaid-svg-O4TdJ8RxOP0XDQGi .error-text{fill:#522;stroke:#522}#mermaid-svg-O4TdJ8RxOP0XDQGi .edge-thickness-normal{stroke-width:2px}#mermaid-svg-O4TdJ8RxOP0XDQGi .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-O4TdJ8RxOP0XDQGi .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-O4TdJ8RxOP0XDQGi .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-O4TdJ8RxOP0XDQGi .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-O4TdJ8RxOP0XDQGi .marker{fill:#333}#mermaid-svg-O4TdJ8RxOP0XDQGi .marker.cross{stroke:#333} :root { --mermaid-font-family: "trebuchet ms", verdana, arial;}</style> <style>#mermaid-svg-O4TdJ8RxOP0XDQGi { color: rgba(0, 0, 0, 0.75); font: ; }</style>
密碼技術
密碼學基礎
密碼學發展簡史
密碼學基本概念
對稱密碼演算法
非對稱密碼演算法
哈希函式/訊息鑒別和數字簽名
密碼學應用
  1. 第一個階段是從古代到19世紀末——古典密碼
  2. 第二個階段從20世紀初到1949年——近代密碼
  3. 第三個階段從C.E.Shannon(香農) 于1949年發表的劃時代論文“The Communication Theory of Secret Systems ”開始——現代密碼
  4. 第四個階段從1976年W. Diffie和M. Hellman發表論文“New Directions in Cryptography”開始——公鑰密碼

還有好多想學的東西,下次一定!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/273785.html

標籤:區塊鏈

上一篇:Ubuntu18.04配置ssh服務以實作遠程連接

下一篇:區塊鏈“補短板”:牽住預付式消費風險防控的牛鼻子

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:46:47 more
  • Hyperledger Fabric 使用 CouchDB 和復雜智能合約開發

    在上個實驗中,我們已經實作了簡單智能合約實作及客戶端開發,但該實驗中智能合約只有基礎的增刪改查功能,且其中的資料管理功能與傳統 MySQL 比相差甚遠。本文將在前面實驗的基礎上,將 Hyperledger Fabric 的默認資料庫支持 LevelDB 改為 CouchDB 模式,以實作更復雜的資料... ......

    uj5u.com 2023-04-16 07:28:31 more
  • .NET Core 波場鏈離線簽名、廣播交易(發送 TRX和USDT)筆記

    Get Started NuGet You can run the following command to install the Tron.Wallet.Net in your project. PM> Install-Package Tron.Wallet.Net 配置 public reco ......

    uj5u.com 2023-04-14 08:08:00 more
  • DKP 黑客分析——不正確的代幣對比率計算

    概述: 2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的用戶損失了 8 萬美元,因為 execute() 函式取決于 USDT-DKP 對中兩種代幣的余額比率。 智能合約黑客概述: 攻擊者的交易:0x0c850f,0x2d31 攻擊者地址:0xF38 利用合同:0xf34ad ......

    uj5u.com 2023-04-07 07:46:09 more
  • Defi開發簡介

    Defi開發簡介 介紹 Defi是去中心化金融的縮寫, 是一項旨在利用區塊鏈技術和智能合約創建更加開放,可訪問和透明的金融體系的運動. 這與傳統金融形成鮮明對比,傳統金融通常由少數大型銀行和金融機構控制 在Defi的世界里,用戶可以直接從他們的電腦或移動設備上訪問廣泛的金融服務,而不需要像銀行或者信 ......

    uj5u.com 2023-04-05 08:01:34 more
  • solidity簡單的ERC20代幣實作

    // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; //ERC20 同質化代幣,每個代幣的本質或性質都是相同 //ETH 是原生代幣,它不是ERC20代幣, ......

    uj5u.com 2023-03-21 07:56:29 more
  • solidity 參考型別修飾符memory、calldata與storage 常量修飾符C

    在solidity語言中 參考型別修飾符(參考型別為存盤空間不固定的數值型別) memory、calldata與storage,它們只能修飾參考型別變數,比如字串、陣列、位元組等... memory 適用于方法傳參、返參或在方法體內使用,使用完就會清除掉,釋放記憶體 calldata 僅適用于方法傳參 ......

    uj5u.com 2023-03-08 07:57:54 more
  • solidity注解標簽

    在solidity語言中 注釋符為// 注解符為/* 內容*/ 或者 是 ///內容 注解中含有這幾個標簽給予我們使用 @title 一個應該描述合約/介面的標題 contract, library, interface @author 作者的名字 contract, library, interf ......

    uj5u.com 2023-03-08 07:57:49 more
  • 評價指標:相似度、GAS消耗

    【代碼注釋自動生成方法綜述】 這些評測指標主要來自機器翻譯和文本總結等研究領域,可以評估候選文本(即基于代碼注釋自動方法而生成)和參考文本(即基于手工方式而生成)的相似度. BLEU指標^[^?88^^?^]^:其全稱是bilingual evaluation understudy.該指標是最早用于 ......

    uj5u.com 2023-02-23 07:27:39 more
  • 基于NOSTR協議的“公有制”版本的Twitter,去中心化社交軟體Damus

    最近,一個幽靈,Web3的幽靈,在網路游蕩,它叫Damus,這玩意詮釋了什么叫做病毒式營銷,滑稽的是,一個Web3產品卻在Web2的產品鏈上瘋狂傳銷,各方大佬紛紛為其背書,到底發生了什么?Damus的葫蘆里,賣的是什么藥? 注冊和簡單實用 很少有什么產品在用戶注冊環節會有什么噱頭,但Damus確實出 ......

    uj5u.com 2023-02-05 06:48:39 more