DES加密過程例解

DES加密算法是最被廣泛使用的對稱加密算法,通過示例來演示DES、TribleDES(3Key)


?

DES-ECB: 按8字節為單位進行加密,不足8字節補0
key: 1111111111111111
indata: 2222222222222222?? ?
OutData: 950973182317F80B?? ?

3DES-2KEY-ECB:
key: 11111111111111112222222222222222
indata: 2222222222222222
OutData:? 【 A8D0B1CF0CE59870 】
3DES是一個加密-->解密-->加密的過程
so:
2222222222222222 + key 1111111111111111 加密= 950973182317F80B
950973182317F80B + key 2222222222222222 解密= 86E6896A75DB3B08
86E6896A75DB3B08 + key 1111111111111111 加密= 【 A8D0B1CF0CE59870 】

3DES-3KEY-ECB:
key: 111111111111111122222222222222223333333333333333
indata: 2222222222222222
OutData:? 【 1259B7E1FEC34B9D 】
3DES是一個加密-->解密-->加密的過程
so:
2222222222222222 + key 1111111111111111 加密= 950973182317F80B
950973182317F80B + key 2222222222222222 解密= 86E6896A75DB3B08
86E6896A75DB3B08 + key 3333333333333333 加密= 【 1259B7E1FEC34B9D 】

DES-CBC: 按8字節為單位進行加密,不足8字節補0,需要初始向量
key: 1111111111111111
indata: 2222222222222222?? ?
OutData: 【950973182317F80B】

數據為16字節
key: 1111111111111111
indata: 2222222222222222 2222222222222222? ?
OutData: 【 950973182317F80B 3F84B9ED2C2489F2 】? ?

過程:
初始向量: 0000000000000000 + 2222222222222222???? 異或= 2222222222222222
?????????? 2222222222222222 + key 1111111111111111 加密= 950973182317F80B
?????????? 950973182317F80B + 2222222222222222???? 異或= B72B513A0135DA29
?????????? B72B513A0135DA29 + key 1111111111111111 加密= 3F84B9ED2C2489F2
?????????? 加密結果: 【 950973182317F80B 3F84B9ED2C2489F2 】

3DES-3KEY-CBC 16bytesIndata:
key: 111111111111111122222222222222223333333333333333
indata: 22222222222222222222222222222222

OutData:【 1259B7E1FEC34B9D 37237088DF667780 】
過程:
初始向量 : 0000000000000000
1、 2222222222222222 Xor? 0000000000000000 = 2222222222222222
2、 2222222222222222 Ekey 1111111111111111 = 950973182317F80B
3、 950973182317F80B Dkey 2222222222222222 = 86E6896A75DB3B08
4、 86E6896A75DB3B08 Ekey 3333333333333333 = 【 1259B7E1FEC34B9D 】

5、 2222222222222222 Xor? 1259B7E1FEC34B9D = 307B95C3DCE169BF
6、 307B95C3DCE169BF Ekey 1111111111111111 = 7CAD278015FBA2E2
7、 7CAD278015FBA2E2 Dkey 2222222222222222 = 6BC2EBB29F3A6A27
8、 6BC2EBB29F3A6A27 Ekey 3333333333333333 = 【 37237088DF667780 】

轉載于:https://www.cnblogs.com/procodeX/p/3258131.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259467.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259467.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259467.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux在雙系統中消失了,雙系統重新安裝windows后,ubuntu選項消失

1、首先用LiveCD進入ubuntu2、打開終端,,輸入:fdisk -l 查看自己linux的分區情況,我的分了4個區,swap,boot,/,home,對應的分別是:/dev/sda9 swap…

Cydia源局域網化

2019獨角獸企業重金招聘Python工程師標準>>> 步驟 在網址根目錄創建文件夾cydia,把你的deb文件放到 cydia/debs/ 文件夾下。在終端cd進入cydia文件夾輸入命令:dpkg-scanpackages debs /dev/null > Packages輸入命令:tar zcvf P…

前綴++ 后綴++ 運算符重載

下面例子程序中 const Fraction operator (int) 中 int不過是個啞元(dummy),是永遠用不上的 它只是用來判斷++是prefix 還是 postfix 記住,如果有啞元,則是postfix,否則&#xff0c…

固定資產調整對資產折舊的影響

固定資產折舊計提方法 一、原值增加: 1、已攤銷資產: 攤銷調整時間設在當期:(1078135) 在進行原值增加后,攤銷日期不變時,折舊在當月體現。 每月新增月折舊調增金額*(1-殘值率)/(折舊年限*12-已提折舊月份的個數) 例&a…

linux系統中 庫分為靜態庫和,Linux系統靜態庫與共享庫

8種機械鍵盤軸體對比本人程序員,要買一個寫代碼的鍵盤,請問紅軸和茶軸怎么選?This article mainly introduces the statics library and shared library on Linux and has done some experiments for better comprehension.Static library&am…

軟件工程概論作業01

軟件工程作業01 寫一個能自動生成三十道小學四則運算題目的 “軟件”,要求:除了整數以外,還要支持真分數的四則運算(需要驗證結果的正確性)、題目避免重復、可定制出題的數量。 思路:隨機生成兩個數進行計算…

成員指針運算符 .* 和 -*

轉載: http://www.groad.net/bbs/thread-5548-1-1.html 有一種特殊的指針叫做成員指針,它們通常指向一個類的成員,而不是對象中成員的特定實例。 成員指針并不是真正的指針,它只是成員在對象中的偏移量,它們分別是&am…

捕捉Entity framework 6的詳細異常提示

采用 try{}catch (Exception e){throw;}不能捕捉到詳細異常提示, e.message的內容為"Validation failed for one or more entities. See EntityValidationErrors property for more details." 如果需要獲取詳細的異常提示,采用 1 try2 {3 return…

8.16——熟悉安裝linux系統

一、linux的版本——CentOS CentOS(Community ENTerprise Operating System)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服…

linux中設置默認權限的命令,Linux默認權限掩碼

Linux教程Linux教程:http://www.fdlly.com/m/linux文章目錄默認權限掩碼設置權限掩碼以文字的方式設置權限掩碼查看系統當前的權限掩碼默認權限掩碼當我們創建文件或目錄時,系統會自動根據權限掩碼來生成預設權限;默認情況下的umask值是022(可…

percona-toolkit工具包安裝

percona-toolkit工具包同percona-xtrabackup一樣都是用Perl寫的工具包,percona-toolkit工具包是一組高級的管理mysql的工具包集,可以用來執行各種通過手工執行非常復雜和麻煩的mysql和系統任務,在生產環境中能極大的提高效率,安裝…

C++允許重載的運算符和不允許重載的運算符

C中絕大部分的運算符允許重載&#xff0c;具體規定見表10.1。 表10.1 C允許重載的運算符雙目算術運算符 (加)&#xff0c;-(減)&#xff0c;*(乘)&#xff0c;/(除)&#xff0c;% (取模) 關系運算符 (等于)&#xff0c;! (不等于)&#xff0c;< (小于)&#xff0c;> (大…

Google Mesa概覽

Google Mesa的文章&#xff1a;https://research.google.com/pubs/pub42851.html https://gigaom.com/2014/08/07/google-shows-off-mesa-a-super-fast-data-warehouse-that-runs-across-data-centers/ 為什么未來的Hadoop是實時的&#xff1a; https://gigaom.com/2013/03/0…

C++數組參數應用方式探討(轉)

對于經驗豐富的編程人員來說&#xff0c;C編程語言應該是他們經常使用于程序開發的一種實用性語言。那么&#xff0c;在C中&#xff0c;C數組參數永遠不會按值傳遞。它是傳遞第一個元素&#xff08;準確地說是第0個&#xff09;的指針。 例如&#xff0c;如下聲明&#xff1a; …

一篇關于兼容問題的基礎總結

1.添加兼容文件(以 es5-shim 為例) 方法一&#xff1a; <script src"https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>在你的開發中&#xff0c;在需要為他做兼容的文件引入改文件 方法二(以模塊引入)&#xff1a; 在…

假如生活欺騙了你

假如生活欺騙了你&#xff0c; 不要悲傷&#xff0c;不要心急&#xff01; 憂郁的日子里需要鎮靜&#xff1a; 相信吧&#xff0c;快樂的日子將會降臨。 心兒永遠向往著未來&#xff1b; 現在卻常是憂郁&#xff0c; 一切都將會過去&#xff1b; 而那過去了的&#xff0c…

linux編譯mmc驅動,Embeded linux之MMC驅動

一、注冊平臺設備platform_device_register(&usr_mci_device);二、填寫平臺設備結構體static struct platform_device usr_mci_device {.name "xxx",.id 0,.dev {.release usr_mci_platdev_release,.dma_mask &usr_mmc_dmama…

redis windows下的環境搭建

先說下安裝吧&#xff01;感覺這東西跟mongodb差不多&#xff0c;安裝和布置挺簡單&#xff0c;下載地址&#xff1a;https://github.com/dmajkic/redis/downloads 下載下來的包里有兩個&#xff0c;一個是32位的&#xff0c;一個是64位的。根據自己的實情情況選擇&#xff0c;…

application/json 四種常見的 POST 提交數據方式

四種常見的 POST 提交數據方式 HTTP/1.1 協議規定的 HTTP 請求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 這幾種。其中 POST 一般用來向服務端提交數據&#xff0c;本文主要討論 POST 提交數據的幾種方式。 我們知道&#xff0c;HTTP 協議是以 ASCII 碼傳…

C++的4種類型轉換關鍵字及其特點

C中有四種類型轉換關鍵字&#xff0c;分別是reinterpret_cast,static_cast,const_cast,dynamic_cast.這是C 為了減少強制轉換的副作用&#xff0c;并且在查錯時使程序員能夠快速定位&#xff08;總是最值得懷疑的&#xff09;強制轉換&#xff0c;在標準C中新增加了4個關鍵字*…