国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

killBase系列 -- 密碼學(xué)(二)

kamushin233 / 3143人閱讀

摘要:的加密算法由于之前看過是由實(shí)現(xiàn)的。基于協(xié)議使用作為密鑰交換算法加密算法密鑰與初始向量的長(zhǎng)度為算法總結(jié)端密鑰算法套件端密鑰算法套件,則,,將被優(yōu)先返回的使用問題問題第一次使用的時(shí)候,不顯示接口。

前言

因?yàn)榕虐娌焕硐耄灾苯佑脙蓚€(gè)文檔承載,有什么不便,還請(qǐng)擔(dān)待。
killBase -- 密碼學(xué)(一) 傳送門

附錄 1. DES 詳細(xì)加密過程
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, 25
2. 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)先返回

3. wireshark 的使用問題

問題:第一次使用 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

相關(guān)文章

  • killBase系列 -- 碼學(xué)(一)

    摘要:系列密碼學(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í)候,腦子里一片空白,沒有回答上...

    tomato 評(píng)論0 收藏0
  • Spring Security

    摘要:框架具有輕便,開源的優(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的搭建...

    keelii 評(píng)論0 收藏0
  • 再探Watson服務(wù)(

    摘要:二基本服務(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)...

    Null 評(píng)論0 收藏0
  • 手摸手,帶你用vue擼后臺(tái) 系列(登錄權(quá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...

    不知名網(wǎng)友 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

kamushin233

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<