2020-03-30

常用加密算法

一、對稱加密

1.定義

需要加密大量數(shù)據(jù)

2.工作過程

3.常用的算法

DES

秘鑰:8個字節(jié)

3DES

AES

https://blog.csdn.net/lrwwll/article/details/78069013

在實(shí)際開發(fā)過程中要注意的地方

  • 服務(wù)端和客戶端必須使用一樣的秘鑰和初始化向量(IV)
  • 服務(wù)端和客戶端必須使用一樣的加密模式
  • 服務(wù)端和客戶端必須使用一樣的padding模式

在python中使用

PyCrypto

PyCryptodome

https://pycryptodome.readthedocs.io/en/latest/src/introduction.html

二、非對稱加密

1.定義

公鑰,私鑰 ssh

2.特點(diǎn)

不會用來加密大量數(shù)據(jù),和對稱加密結(jié)合,用來加密對稱加密的秘鑰

3.工作原理

4.常用算法

RSA

算法原理

RSA算法基于一個十分簡單的數(shù)論事實(shí),將兩個大質(zhì)數(shù)相乘十分容易,但是想要對其乘積進(jìn)行因式分解卻極其困難。,因此,將乘積作為公開加密秘鑰。

RSA的加密解密過程非常簡單:

公鑰 (n,e)
私鑰 (n,d)
加密 密文 = (明文^e)%n
解密 明文=(密文^d)%n

秘鑰的生成步驟

  1. 隨機(jī)選擇兩個不想等的質(zhì)數(shù)p和q

    選擇61,53 實(shí)際應(yīng)用中,越大越好

  2. 計(jì)算p和n的乘積

    n = 61*53=3233

    n的長度就是秘鑰的長度,實(shí)際應(yīng)用RSA秘鑰一般是1024位,重要場合2048位

  3. 計(jì)算n的歐拉函數(shù)φ(n)

    φ(n) = (p-1)*(q-1) = 60 * 52=3120

  4. 隨機(jī)選擇一個整數(shù)e,條件是 1 < e < φ(n), 且 e與 φ(n) 互質(zhì)

    隨機(jī)選了 17 ,實(shí)際應(yīng)用中,常常選 65537

  5. 計(jì)算e對φ(n)的模反元素d

    所謂的模反元素就是指有一個整數(shù)d,一是的ed被φ(n)*除,余數(shù)為1

    e*d - 1 = k * φ(n)

    e*x + φ(n) * y = 1

    17x +3120y = 1

    x = 2753

    y = -15

    d = 2753

    計(jì)算完畢

  6. 將n和e封裝成公鑰,n和d封裝是秘鑰

    100

在python中使用RSA

三、hash(摘要算法)復(fù)習(xí)

1.定義

? 不定長輸入,定長輸出

2. 特點(diǎn)

  • 不可逆
  • 定長輸出
  • 抗修改
  • 強(qiáng)碰撞性

3.應(yīng)用領(lǐng)域

  • 一致性校驗(yàn)
  • 數(shù)字簽名
  • 安全訪問認(rèn)證

4.常用算法

md5

sha家族

sha-1 sha-224 sha-256 sha -384 sha-512

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 加密技術(shù)定義、使用 在開發(fā)爬蟲的過程中,我們經(jīng)常遇到的一種反爬措施是數(shù)據(jù)加密。常見的加密算法可以分為三類:對稱加密...
    modesty123閱讀 735評論 0 0
  • IOS 逆向開發(fā)(一)密碼學(xué) RSA 1. 密碼學(xué)發(fā)展簡介 密碼學(xué)是指研究信息加密,破解密碼的技術(shù)科學(xué)。密碼學(xué)的起...
    孔雨露閱讀 935評論 0 3
  • Base64 base64是一種基于64個可打印字符來表示二進(jìn)制數(shù)據(jù)的表示方法.嚴(yán)格來說它只能算作一種編碼方式.B...
    miku醬啦閱讀 1,286評論 0 3
  • 密碼學(xué)基本概念 密碼學(xué)是研究如何隱密地傳遞信息的學(xué)科。在現(xiàn)代特別指對信息以及其傳輸?shù)臄?shù)學(xué)性研究,常被認(rèn)為是數(shù)學(xué)和計(jì)...
    千尋與小米閱讀 596評論 0 1
  • 這篇文章主要講述在Mobile BI(移動商務(wù)智能)開發(fā)過程中,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲、登錄驗(yàn)證這幾個方面涉及的加密...
    雨_樹閱讀 3,036評論 0 6

友情鏈接更多精彩內(nèi)容