加密類型及其相關算法

加密類型及其相關算法

§·TCP/IP安全:

※·機密性:

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

※·數據的完整性:

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

※·身份驗證:

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

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

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

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

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

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

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

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

·對稱加密:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

·如何預防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
下一篇 2016-09-06

相關推薦

  • HA高可用集群學習筆記

    前言   什么是HA?HA做什么用的?   HA(High Available)是高可用集群,是保證業務不中斷性的有效解決方案;通常HA集群部署在多個節點,正在提供服務的節點成為活動節點,沒有提供服務的是非活動節點;當活動節點發生故障,非活動節點會轉為活動節點,向外提供服務,以保證業務的連續性;這就是HA。 一、HA(High Avail…

    Linux干貨 2015-06-30
  • 文本處理工具之awk

                    文本處理工具之AWK 一、linux文本處理工具三劍客:grep 、sed、 awk。其中grep是一種文本過濾器,sed是文本行編輯器,而awk是一種報表生成器,就是對文件進行…

    2017-05-21
  • 一切皆文件

    Linux Linux內一切皆文件;表現之一:硬件設備也通過文件表示 物理終端:/dev/console 虛擬終端: /dev/tty#[1,6] 串行終端:/dev/ttyS# 偽終端: /dev/pts/# 注意:在啟動設備之后,在其上關聯一個用戶接口程序,即可實現與用戶交互,交互式程序有兩類:GUI(圖形化界面)和CLI(命令行界面)。 查看終端設備:…

    Linux干貨 2017-04-01
  • 第六周作業

    請詳細總結vim編輯器的使用并完成以下練習題 基本模式:     編輯模式,命令模式     輸入模式     末行模式         內置的命令行接口 打開…

    Linux干貨 2017-02-14
  • FHS文檔系統各目錄功能

         /bin 所有用戶可用的基本命令程序文件     /sbin   供系統管理使用的工具程序     /boot 引導加載器必須用到的各靜態文件 kernel,initramfs,grub  &nbsp…

    Linux干貨 2016-10-18
  • iptables 入門

    iptables簡單介紹    其實就是大家所熟知的基于命令行的防火墻工具,它使用規則鏈來允許或是阻止收發報文。當一條網絡連接試圖在你的系統中建立連接時,iptablels會查找其對應的匹配規則。如果找不到,iptables將對其采取默認的規則。  iptables基本的用法和常用代碼 # iptables -vnL …

    Linux干貨 2017-03-15
欧美性久久久久