一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Python的加密與解密

 昵稱16619343 2019-06-21

前言

據(jù)記載,公元前400年,古希臘人發(fā)明了置換密碼。1881年世界上的第一個(gè)電話

保密專利出現(xiàn)。在第二次世界大戰(zhàn)期間,德國(guó)軍方啟用“恩尼格瑪”密碼機(jī),

密碼學(xué)在戰(zhàn)爭(zhēng)中起著非常重要的作用。

隨著信息化和數(shù)字化社會(huì)的發(fā)展,人們對(duì)信息安全和保密的重要性認(rèn)識(shí)不斷提高,

于是在1997年,美國(guó)國(guó)家標(biāo)準(zhǔn)局公布實(shí)施了“美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)”,

民間力量開始全面介入密碼學(xué)的研究和應(yīng)用中,采用的加密算法有DES、RSA、SHA等。

隨著對(duì)加密強(qiáng)度需求的不斷提高,近期又出現(xiàn)了AES、ECC等。

使用密碼學(xué)可以達(dá)到以下目的:

保密性:防止用戶的標(biāo)識(shí)或數(shù)據(jù)被讀取。

數(shù)據(jù)完整性:防止數(shù)據(jù)被更改。

身份驗(yàn)證:確保數(shù)據(jù)發(fā)自特定的一方。

加密算法分類

對(duì)稱加密算法:

對(duì)稱加密采用了對(duì)稱密碼編碼技術(shù),它的特點(diǎn)是文件加密和解密使用相同的密鑰

發(fā)送方和接收方需要持有同一把密鑰,發(fā)送消息和接收消息均使用該密鑰。

相對(duì)于非對(duì)稱加密,對(duì)稱加密具有更高的加解密速度,但雙方都需要事先知道密鑰,密鑰在傳輸過(guò)程中可能會(huì)被竊取,因此安全性沒有非對(duì)稱加密高。

常見的對(duì)稱加密算法:DES,AES,3DES等等

非對(duì)稱加密算法:

文件加密需要公開密鑰(publickey)和私有密鑰(privatekey)。

接收方在發(fā)送消息前需要事先生成公鑰和私鑰,然后將公鑰發(fā)送給發(fā)送方。發(fā)送放收到公鑰后,將待發(fā)送數(shù)據(jù)用公鑰加密,發(fā)送給接收方。接收到收到數(shù)據(jù)后,用私鑰解密。

在這個(gè)過(guò)程中,公鑰負(fù)責(zé)加密,私鑰負(fù)責(zé)解密,數(shù)據(jù)在傳輸過(guò)程中即使被截獲,攻擊者由于沒有私鑰,因此也無(wú)法破解。

非對(duì)稱加密算法的加解密速度低于對(duì)稱加密算法,但是安全性更高。

非對(duì)稱加密算法:RSA、DSA、ECC等算法

消息摘要算法:

消息摘要算法可以驗(yàn)證信息是否被篡改。

在數(shù)據(jù)發(fā)送前,首先使用消息摘要算法生成該數(shù)據(jù)的簽名,然后簽名和數(shù)據(jù)一同發(fā)送給接收者。

接收者收到數(shù)據(jù)后,對(duì)收到的數(shù)據(jù)采用消息摘要算法獲得簽名,最后比較簽名是否一致,以此來(lái)判斷數(shù)據(jù)在傳輸過(guò)程中是否發(fā)生修改。

Python加密庫(kù)

PyCrypto是 Python 中密碼學(xué)方面最有名的第三方軟件包。可惜的是,它的開發(fā)工作于2012年就已停止。

其他人還在繼續(xù)發(fā)布最新版本的 PyCrypto,如果你不介意使用第三方的二進(jìn)制包,仍可以取得Python 3.5 的相應(yīng)版本。

比如,可以在 Github 上找到了對(duì)應(yīng)Python3.5的PyCrypto 二進(jìn)制包。

幸運(yùn)的是,有一個(gè)該項(xiàng)目的分支PyCrytodome 取代了 PyCrypto 。為了在 Linux 上安裝它,

你可以使用以下pip 命令:

pip3 install -ipycryptodome

在Windows 系統(tǒng)上安裝則稍有不同:

pip3 install -ipycryptodomex

DES加密

全稱為Data EncryptionStandard,即數(shù)據(jù)加密標(biāo)準(zhǔn),是一種使用密鑰加密的塊算法

入口參數(shù)有三個(gè):Key、Data、Mode

Key為7個(gè)字節(jié)共56位,是DES算法的工作密鑰;

Data為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);

Mode為DES的工作方式,有兩種:加密或解密

3DES(即Triple DES)是DES向AES過(guò)渡的加密算法,

使用兩個(gè)密鑰,執(zhí)行三次DES算法,

加密的過(guò)程是加密-解密-加密

解密的過(guò)程是解密-加密-解密

AES加密

高級(jí)加密標(biāo)準(zhǔn)(英語(yǔ):Advanced EncryptionStandard,縮寫:AES),這個(gè)標(biāo)準(zhǔn)用來(lái)替代原先的DES

AES的區(qū)塊長(zhǎng)度固定為128 比特,密鑰長(zhǎng)度則可以是128,192或256比特(16、24和32字節(jié))

大致步驟如下:

1、密鑰擴(kuò)展(KeyExpansion),

2、初始輪(Initial Round),

3、重復(fù)輪(Rounds),每一輪又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,

4、最終輪(Final Round),最終輪沒有MixColumns。

普通方式

面向?qū)ο蠓绞?/p>

RSA加密

公鑰加密算法,一種非對(duì)稱密碼算法

公鑰加密,私鑰解密

3個(gè)參數(shù):

rsa_n, rsa_e,message

rsa_n, rsa_e 用于生成公鑰

message: 需要加密的消息

安裝 pip install rsa

使用

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产又粗又猛又黄又爽视频免费| 国产精品欧美一区两区| 中文文精品字幕一区二区| 一区二区三区日韩在线| 制服丝袜美腿美女一区二区| 午夜亚洲少妇福利诱惑| 国产欧美日产久久婷婷| 亚洲国产欧美久久精品| 欧洲一级片一区二区三区| 乱女午夜精品一区二区三区| 久久机热频这里只精品| 福利在线午夜绝顶三级| 色综合久久超碰色婷婷| 亚洲欧美日韩在线看片| 国产精品夜色一区二区三区不卡| 国产麻豆一区二区三区在| 亚洲国产精品久久精品成人| 高清国产日韩欧美熟女| 日本中文在线不卡视频| 一二区中文字幕在线观看| 国产精品超碰在线观看| 国产日韩欧美专区一区| 国产亚洲精品俞拍视频福利区| 欧美一二三区高清不卡| 中文字幕一二区在线观看| 日本 一区二区 在线| 亚洲一区二区精品免费视频| 欧美日韩国产福利在线观看| 天堂网中文字幕在线观看| 激情少妇一区二区三区| 日韩精品福利在线观看| 亚洲熟女熟妇乱色一区| 欧美特色特黄一级大黄片| 嫩草国产福利视频一区二区| 亚洲精品高清国产一线久久| 激情五月天免费在线观看| 好东西一起分享老鸭窝| 欧美人妻免费一区二区三区 | 中日韩免费一区二区三区| 在线免费观看黄色美女| 国产午夜精品在线免费看|