摘要:的加密算法由于之前看過是由實(shí)現(xiàn)的。基于協(xié)議使用作為密鑰交換算法加密算法密鑰與初始向量的長(zhǎng)度為算法總結(jié)端密鑰算法套件端密鑰算法套件,則,,將被優(yōu)先返回的使用問題問題第一次使用的時(shí)候,不顯示接口。
前言
因?yàn)榕虐娌焕硐耄灾苯佑脙蓚€(gè)文檔承載,有什么不便,還請(qǐng)擔(dān)待。
killBase -- 密碼學(xué)(一) 傳送門
1. **對(duì)輸入的密鑰進(jìn)行變換**。 用戶的64bit密鑰,其中第8, 16, 24, 32, 40, 48, 56, 64位是校驗(yàn)位, 使得每個(gè)密鑰都有奇數(shù)個(gè)1。所以密鑰事實(shí)上是56位。對(duì)這56位密鑰進(jìn)行如下表的換位。 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4, 表的意思是第57位移到第1位,第49位移到第2位,...... 以此類推。變換后得到56bit數(shù)據(jù),將它分成兩部分,C[0][28], D[0][28]。 2. **計(jì)算16個(gè)子密鑰**,計(jì)算方法C[i][28] D[i][28]為對(duì)前一個(gè)C[i-1][28], D[i-1][28]做循環(huán)左移操作。16次的左移位數(shù)如下表: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 (第i次) 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 (左移位數(shù)) 3. **串聯(lián)**計(jì)算出來的C[i][28] D[i][28] 得到56位,然后對(duì)它進(jìn)行如下變換得到48位子密鑰K[i][48] 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32, 表的意思是第14位移到第1位,第17位移到第2位,以此類推。在此過程中,發(fā)現(xiàn)第9,18,22,25, 35,38,43,54位丟棄。 4. 對(duì)64bit的明文輸入進(jìn)行換位變換。換位表如下: 58, 50, 12, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 表的意思就是第一次變換時(shí),第58位移到第1位,第50位移到第2位,...... 依此類推。得到64位數(shù)據(jù),將這數(shù)據(jù)前后分成兩塊L[0][32], R[0][32]。 5. 加密過程,對(duì)R[i][32]進(jìn)行擴(kuò)展變換成48位數(shù),方法如下, 記為E(R[i][32]) 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1, 6. 將E(R[i][32])與K[i][48]作異或運(yùn)算,得到48位數(shù),將48位數(shù)順序分成8份,6位一份,B[8][6]。 7. 使用S[i]替換B[i][6]。過程如下: 取出B[i][6]的第1位和第6位連成一個(gè)2位數(shù)m, m就是S[i]中對(duì)應(yīng)的行數(shù)(0-3),取出B[i][6]的第2到第5位連成一個(gè)4位數(shù)n(0-15),n就是S[i]中對(duì)應(yīng)的列數(shù),用S[i][m][n]代替B[i][6]。S是4行16列的對(duì)應(yīng)表,里面是4位的數(shù),一共有8個(gè)S,定義如下: S[1]: 14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7, 0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8, 4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0, 15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13, S[2]: 15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10, 3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5, 0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15, 13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9, S[3]: 10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8, 13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1, 13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7, 1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12, S[4]: 7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15, 13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9, 10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4, 3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14, S[5]: 2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9, 14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6, 4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14, 11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3, S[6]: 12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11, 10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8, 9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6, 4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13, S[7]: 4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1, 13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6, 1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2, 6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12, S[8]: 13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7, 1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2, 7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8, 2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11, 8. 將從B[i][6]經(jīng)過S得到的8個(gè)4位數(shù)連起來得到32位數(shù)。對(duì)這個(gè)數(shù)進(jìn)行如下變換: 16,7,20,21,29,12,28,17, 1,15,23,26, 5,18,31,10, 2,8,24,14,32,27, 3, 9,19,13,30, 6,22,11, 4,25, 得到的結(jié)果與L[i][32]作異或運(yùn)算,把結(jié)果賦給R[i][32]。 9. 把R[i-1][32]的值賦給L[i],從5開始循環(huán)。直到K[16][48]結(jié)束。 10. 將最后的L,R合并成64位,然后進(jìn)行如下轉(zhuǎn)化得到最后的結(jié)果。這是對(duì)第4步的一個(gè)逆變化。 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31, 38, 6, 46, 14, 54, 22, 62, 30, 37, 5, 45, 13, 53, 21, 61, 29, 36, 4, 44, 12, 52, 20, 60, 28, 35, 3, 43, 11, 51, 19, 59, 27, 34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, 252. https 的加密算法
由于之前看過 https 是 由 secure socket layer 實(shí)現(xiàn)的。 也是通過 公鑰私鑰 保證其安全性,所以在學(xué)習(xí)這篇文章的時(shí)候,就想 https 是由哪種 加密算法 做為其 底層實(shí)現(xiàn)的呢。 因此,就有了下面這部分。
關(guān)于 https 與 http 的區(qū)別 請(qǐng)看我的這篇博客,不再贅述。網(wǎng)絡(luò)基礎(chǔ)知識(shí)
原理:
瀏覽器把自身支持的一系列Cipher Suite(密鑰算法套件,后文簡(jiǎn)稱Cipher)[C1,C2,C3, …]發(fā)給服務(wù)器;
服務(wù)器接收到瀏覽器的所有Cipher后,與自己支持的套件作對(duì)比,如果找到雙方都支持的Cipher,則告知瀏覽器;
瀏覽器與服務(wù)器使用匹配的Cipher進(jìn)行后續(xù)通信。如果服務(wù)器沒有找到匹配的算法,瀏覽器(以 Chrome 56為例)將給出錯(cuò)誤信息:
下面講一下如何分析。
準(zhǔn)備: 通過可以抓取網(wǎng)絡(luò)包的工具,這里通過 Wireshark 分析。關(guān)于wireshark 的介紹請(qǐng)點(diǎn)擊這里.查看瀏覽器發(fā)送給服務(wù)器的 Ciper服務(wù)器的 Ciper
流程:
瀏覽器首先發(fā)起握手協(xié)議, 一個(gè)"Client Hello"消息,如下圖,按照Protocol協(xié)議順序排序,然后,找到Client Hello,選中,依次查找 "Secure Sockets Layer" -> TLSv1.2 Record Layer -> Handshake protocal ->Ciper Suites.
可以看到, Cipher有很多。總共16,第一個(gè)是Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)。
如果按照順序繼續(xù)尋找第一個(gè) Info 為"Sever Hello" 的報(bào)文,可以找到相應(yīng)的Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b) 。.
Cipher介紹:
密鑰交換算法,用于決定客戶端與服務(wù)器之間在握手的過程中如何認(rèn)證,用到的算法包括RSA,Diffie-Hellman,ECDH,PSK等
加密算法,用于加密消息流,該名稱后通常會(huì)帶有兩個(gè)數(shù)字,分別表示密鑰的長(zhǎng)度和初始向量的長(zhǎng)度,比如DES 56/56, RC2 56/128, RC4 128/128, AES 128/128, AES 256/256
報(bào)文認(rèn)證信息碼(MAC)算法,用于創(chuàng)建報(bào)文摘要,確保消息的完整性(沒有被篡改),算法包括MD5,SHA等。
PRF(偽隨機(jī)數(shù)函數(shù)),用于生成“master secret”。
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b):
基于TLS協(xié)議
使用 ECDHE,ECDSA作為密鑰交換算法
加密算法 AES(密鑰與初始向量的長(zhǎng)度為128)
MAC 算法 SHA
總結(jié):
Client端密鑰算法套件[C1,C2,C3],Server端密鑰算法套件[C4,C2,C1,C3],
則,IIS[(Internet Infomation Services)](),C2將被優(yōu)先返回
問題:第一次使用 wireshark 的時(shí)候,不顯示接口。原因是。。。
剛開始使用 在windows 上需要 winpacp 并且開啟 npf 服務(wù)。
注: 如果 沒有安裝 winpacp ,想直接 通過 net start npf 開啟服務(wù),將會(huì)提示。 發(fā)生系統(tǒng)錯(cuò)誤2
winpacp 安裝 。。。
這里是下載網(wǎng)站
直接安裝即可。
開啟 npf 服務(wù)
打開 cmd ,輸入 net start npf ,提示:服務(wù)已經(jīng)啟動(dòng)。
進(jìn)入界面,選擇相應(yīng)的網(wǎng)卡。
這里,可以通過 網(wǎng)絡(luò)連接 看出來。
所以,我的是無(wú)線網(wǎng)絡(luò)連接。
最終界面
WireShark 主要分為這幾個(gè)界面
Display Filter(顯示過濾器), 用于過濾
Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標(biāo)地址,端口號(hào)。 顏色不同,代表
Packet Details Pane(封包詳細(xì)信息), 顯示封包中的字段
Dissector Pane(16進(jìn)制數(shù)據(jù))
Miscellanous(地址欄,雜項(xiàng))
結(jié)語(yǔ)發(fā)現(xiàn)排版,好像是有問題的,閱讀效果不理想,可以去我的個(gè)人博客中。
都看到這里了,點(diǎn)個(gè)關(guān)注,點(diǎn)波贊再走,QAQ。
你的小手輕點(diǎn),是我最大的動(dòng)力哦。
參考一只想當(dāng)程序員的1米88處女座大可愛如此說。
DES 加密算法解析
分組加密的四種模式
阮一峰--RSA算法原理
java中RSA加解密的實(shí)現(xiàn)
關(guān)于RSA算法密鑰長(zhǎng)度/密文長(zhǎng)度/明文長(zhǎng)度
https背后的加密算法
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67990.html
摘要:系列密碼學(xué)二傳送門密碼學(xué)一基礎(chǔ)密碼學(xué)算法分類消息編碼消息摘要類,類,對(duì)稱密碼非對(duì)稱密碼數(shù)字簽名五元組明文原始信息。非對(duì)稱密碼包提供給,,等非對(duì)稱加密算法。對(duì)稱加密算法在分布式網(wǎng)絡(luò)系統(tǒng)上使用較為困難,主要是因?yàn)槊荑€管理困難,使用成本較高。 前言 最近一場(chǎng)面試,面試官問了我 對(duì)稱加密與非對(duì)稱加密的問題,雖然曾經(jīng)看過一些內(nèi)容,但是沒有系統(tǒng)的整理,所以當(dāng)被問的時(shí)候,腦子里一片空白,沒有回答上...
摘要:框架具有輕便,開源的優(yōu)點(diǎn),所以本譯見構(gòu)建用戶管理微服務(wù)五使用令牌和來實(shí)現(xiàn)身份驗(yàn)證往期譯見系列文章在賬號(hào)分享中持續(xù)連載,敬請(qǐng)查看在往期譯見系列的文章中,我們已經(jīng)建立了業(yè)務(wù)邏輯數(shù)據(jù)訪問層和前端控制器但是忽略了對(duì)身份進(jìn)行驗(yàn)證。 重拾后端之Spring Boot(四):使用JWT和Spring Security保護(hù)REST API 重拾后端之Spring Boot(一):REST API的搭建...
摘要:二基本服務(wù)簡(jiǎn)單使用語(yǔ)音文本轉(zhuǎn)換假定已經(jīng)完成關(guān)于的注冊(cè)和服務(wù)的創(chuàng)建。但是協(xié)議是一種非持久的單向的網(wǎng)絡(luò)協(xié)議。而彌補(bǔ)了這一缺點(diǎn),它是一種全雙工通信協(xié)議,在通過建立握手后,單獨(dú)建立一條通道用以服務(wù)器和瀏覽器之間的信息傳送。 這是這個(gè)系列的第二篇文章,主要基于上一篇文章中提到服務(wù)進(jìn)行一些基礎(chǔ)的功能實(shí)現(xiàn)。 二. 基本服務(wù)簡(jiǎn)單使用 2.1 speech to text(語(yǔ)音文本轉(zhuǎn)換) 假定已經(jīng)完成關(guān)...
摘要:我們將登錄按鈕上綁上事件,點(diǎn)擊登錄之后向服務(wù)端提交賬號(hào)和密碼進(jìn)行驗(yàn)證。所以前端和后端權(quán)限的劃分是不太一致。側(cè)邊欄最后一個(gè)涉及到權(quán)限的地方就是側(cè)邊欄,不過在前 完整項(xiàng)目地址:vue-element-admin 系列文章: 手摸手,帶你用vue擼后臺(tái) 系列一(基礎(chǔ)篇) 手摸手,帶你用vue擼后臺(tái) 系列二(登錄權(quán)限篇) 手摸手,帶你用vue擼后臺(tái) 系列三 (實(shí)戰(zhàn)篇) 手摸手,帶你用vu...
閱讀 2222·2021-11-18 10:02
閱讀 3480·2021-11-15 11:36
閱讀 1116·2019-08-30 14:03
閱讀 725·2019-08-30 11:08
閱讀 2761·2019-08-29 13:20
閱讀 3287·2019-08-29 12:34
閱讀 1375·2019-08-28 18:30
閱讀 1642·2019-08-26 13:34