加密類型及其相關算法

加密類型及其相關算法

§·TCP/IP安全:

※·機密性:

數據在網絡上傳輸是明文傳輸(ftp,http,smtp,telnet):

※·數據的完整性:

數據在網絡上傳輸,不能被其它人篡改,保證數據的完整性:

※·身份驗證:

訪問的主機有一種機制可以表明就是你需要通信的主機。

※·保證機密性:對數據進行加密。

·如何加密:發送方通過轉換規(轉換算法)則把明文轉換為密文;

·如何解密:接收方通過轉換規(轉換算法)則把密文轉換為明文即可:

提問:雙方每見過面如何知道使用何種算法?

·轉換算法是復雜的數學原理,如果轉換算法被拿走怎么辦?

注意一點:轉換算法人人都可以取得,但是我們實際使用的主要還是密鑰。

※·機密性保證機制(加密機制 密鑰)

·對稱加密:

分為加密算法和解密算法,本身是兩種不同的算法,不過使用的密鑰是一樣,使用相同的密鑰加密和解密數據。 

注意:如何用戶A與不同用戶通信時,不可能使用相同的密鑰,如果使用相同的密鑰,A與其他用戶通信,密鑰要是公開了,A與其他人的數據都會被別人知道,所以在實際中,A不可能使用相關的密鑰與其他用戶通信。

※·數據完整性保證機制(單向加密算法)

保證數據還是最原始的數據,保證數據本身是它本身,我們使用單項加密算法。

·單項加密算法:提取數據的特征碼(相當于把數據的指紋信息提起出來)。

A有一段明文,通過單向加密算法,提取出明文的特征碼,把特征碼附加在明文后面;

B收到數據后,通過單向加密算法,也提取出明文的特征碼,比較兩段特征碼是否一致;

·單向加密算法:提取數據特征碼:

輸入一樣,輸出必然相同;

雪崩效應:輸入的微小變化,將會引起結果的巨大變化;

定長輸出:無論原始數據多長,結果大小都相同的;

不可逆:無法根據特征碼還原原來的數據。

注意:如果出現這種情況,AB傳輸數據,并且通過單項加密算法生成特征碼,C截取A發送的數據,提取出明文后,修改數據,再使用相同的單項加密算法生成特征碼,把數據傳輸給B,B同樣還是可以計算出特征碼,肯定與C的特征碼是一樣,導致數據被篡改,而B不知道。 

·如何預防C如果篡改了數據,B可以發現呢(AB協商相同密碼對特征碼進行加密)?

可以再來對特征碼進行加密,前提是 A B 需要協商相同的密碼對特征碼進行加密,只有AB協商的密碼才可以解密特征碼的數據。即使C截取到數據,無法解密特征碼數據,即使C修改了數據,生成的特征碼再發送BB無法使用協商好的密碼進行解密,即可認為數據被篡改過。 

·如何預防A B協商的密碼在網絡上傳輸不被別人知道呢?(IKE(互聯網密鑰交換 )協商生成密碼)

Diffie-Hellman協議:實現互聯網密鑰交換 (Internet  Key  Exchange  IKE

第一階段:

A : 選擇一個大素數(離散數學對數)  p

B : 選擇一個大素數 :g

p  g可以通過網絡交換,使得A B 都知道 p   g

第二階段:

A :本地隨機一個數 : x

A : g ^x%p 的結果發送給 B

B:本地隨機一個數 :  y

B : g^y%p 的結果發送給  A

注意:在互聯網上就只有四個數字的傳輸: p  g   g ^x%p  g^y%p ,根據離散數學原理,x  y 這兩個數字是不可能被計算出來的

第三階段:

A :就取得B發給自己的:g^y%p  A是知道自己的隨機數x的)

B:就取得A發給自己的: g ^x%p   B是知道自己的隨機數y的)

A B協商的密碼為 :  g^xy%p 

Diffie-Hellman協議:可以通過軟件管理每次的特征碼加密的密碼,不需要人為的參與。

※·身份驗證保證機制(非對稱加密算法)

以上解決的是數據的機密性與數據完整性。但是如何保證數據的身份信息呢?

公鑰加密算法:非對稱加密算法

密鑰對:

公鑰 p (是通過某中機制從私鑰中提取出來的)

私匙 s  (私鑰一般情況下非常長有1024 2048 4096位) 

發送方使用自己的私鑰加密數據,可以實現身份驗證;

發送方使用對方的公鑰加密數據,可以保證數據機密性; 

公鑰機密算法很少用來加密數據,速度太慢,公鑰太長了;

通常情況下:對稱加密是公鑰加密數據速度的1000 

如下模型:

加密解密.jpg 

這個模型保證了身份驗證的問題,但是無法保證數據的機密性。

※·如何獲取用戶的公鑰(如何獲取真正的公鑰),保證數據機密性

·獲取用戶公鑰

由于雙方建立通信的第一次根本就無法確定對方的身份,根本就無法獲取到對方的公鑰,需要公鑰就需要先通信,但是先通信就得需要對方的公鑰加密數據,死循環。

我們就必須借助第三方信任機構,自己生成公鑰和私鑰,把自己的公鑰想辦法放在第三方信任機構上,其它用戶想辦法在第三方機構取得對方的公鑰。

第三方信任機構把用戶的公鑰頒發證書:

姓名:住址:公鑰:第三方信息機構私鑰加密數據  ————–> 生成數字證書

第三方信任機構為:CA

§·網絡傳輸上的數據加密 解密模型(基于IKE

 IKE加密解密.jpg

§·實際運行中數據加密 解密模型(基于隨機密碼)

隨機密碼-加密解密.jpg 

 

原創文章,作者:linux_root,如若轉載,請注明出處:http://www.www58058.com/43920

(1)
linux_rootlinux_root
上一篇 2016-09-06 13:00
下一篇 2016-09-06 15:21

相關推薦

  • shell編程數組及源碼安裝作業

    寫一個腳本,定一個數組,數組中的元素是/var/log目錄下所有以.log結尾的文件,要統計其下標為偶數的文件中的行數之和 [root@localhost sh.log]# cat declaresum.sh  #!/bin/bash #author:DYW #寫一個腳本,定一個數組,數組中的元素是/var/log目錄…

    Linux干貨 2016-08-29
  • 谷歌三大核心技術(一)The Google File System中文版

    摘要 我們設計并實現了Google GFS文件系統,一個面向大規模數據密集型應用的、可伸縮的分布式文件系統。GFS雖然運行在廉價的普遍硬件設備上,但是它依然了提供災難冗余的能力,為大量客戶機提供了高性能的服務。 雖然GFS的設計目標與許多傳統的分布式文件系統有很多相同之處,但是,我們的設計還是以我們對自己的應用的負載情況和技術環境的分析為基礎的,不管現在還是…

    Linux干貨 2015-04-13
  • Linux的發展史

    Linux的誕生 1987年荷蘭阿姆斯特丹Vrije大學的Andrew S.Tanenbaum 教授為了讓學生們更了解操作系統而參照Unix系統編寫了Minix系統。在1988年芬蘭赫爾辛基大學迎來了一位新生Linus Benedict Torvalds ,他在學習了Minix系統后,以此為平臺和指導開發出了Linux。在1991年8月Linus Toval…

    Linux干貨 2016-10-19
  • 第六周 網絡進程管理

    1、簡述osi七層模型和TCP/IP五層模型 2、簡述iproute家族命令 3、詳細說明進程管理工具htop、vmstat等相關命令,并舉例 4、使用until和while分別實現192.168.0.0/24 網段內,地址是否能夠ping通,弱ping通則輸出”success!”,若ping不通則輸出”fail!&#82…

    2018-01-12
  • 密碼保護:測試信息, 順便貼上以前年少輕狂的內容.(未整理)

    無法提供摘要。這是一篇受保護的文章。

    Linux干貨 2017-07-11
  • 學習Linux,記得有困難,找“男人”。

      對于Linux初學者而言,較短時間內需要涉及到幾十個命令,而且每個命令還可輔以短選項、長選項…讓初學者在實踐時苦不堪言。   一頭霧水時,請找Super"man"!  "man"的使用非常簡單,命令行直接輸入man COMMAND,如#man ls。此處的COMMAND均指…

    Linux干貨 2016-01-15
欧美性久久久久