㈠ 序列密碼--A5-1演算法
A5-1演算法用於蜂窩式行動電話系統中的語音加密,主要用於用於的手機到基站之間的加密通信。通信內容到基站後先脫密變成明文,然後在進行基站到基站之間、以及基站到用戶手機之間的信息加密,完成通信內容在通信過程的加密保護。
每次通話的時候,基站會產生一個64比特的隨機數,與我們手機sim卡內本身帶的一野局個密碼利用一種加密演算法生成一個密鑰,這個密鑰就是這次通話過程中使用的主密鑰,此密鑰的生命周期為這一次通話的開始到結束。一旦通話完成,那麼這個密鑰也就沒有用了。
該加密演算法把整個通訊的數據劃分為每一幀來進行加密。每一幀是有228比特,其中發送端給接收端的數據114比特,接收端反饋給發送端的數據有114比特。除了上面提出的基站給出的64比特的總密鑰,針對每一幀的加密,還有一種叫做會話密鑰,這種會話密鑰每加密一幀都會改變,會話密鑰的生成是由幀號來決定的。每一次的會話密鑰都會產生一個228比特的亂數來加密這一幀的數據。加密的亂氏方式是異或。幀號一共用22比特的二進制數來表示,也就是說一次通話只能傳遞2^22次方的通訊數據,因為每一次通話只有這么多幀可以進行加密數據並且傳遞。
A5-1演算法基於三個線性移位反饋寄存器實現的。三個LFSR的級數分別是19 22 23。
f1(x) = x^19 + x^18 + x^17 + x^14 + 1
f2(x) = x^22 + x^21 + 1
f3(x) = x^23 + x^22 + x^21 + x^8 + 1
三個反饋多項式如上所示。
根據上面所講的,如果要實現a5-1的加密演算法,我們需要哪些工具:首先是明文,其次是64位的密鑰,三個LFSR,以及幀號。
演算法的輸入應該就是三個LFSR的初始值,演算法的輸出就是我們加密明文所需要的亂數。
演算法總體來說分為三個部分,初始化,運算,輸出亂數
首先是初始化部分:
(1)將三個寄存器內的所有位全都賦值為0
(2)將三個寄存器做64次的移位操作,每第i次操作,寄存器的反饋內容都先與密鑰中的第i位進行異或,然後把這樣異或的結果作為寄存器此次的反饋內容。三個LSFR都要並行的做這樣的工作64次。
(2)將三個寄存器做22次的移位操作,沒第i次操作,寄存器的反饋項都先與幀序號的第i位進行異或,將異或的結果作為寄存器的最終反饋內容,同樣,三個LSFR也都要並行做22次。
上述三步做完,A5-1加密演算法的初始化操作也就做完了。另外需要注意的是,A5-1加密演算法的LSFR是左移操作,並且,密鑰和幀號都是從最低位到最高位編號。
當初始化步驟完成的時候,此時三個LSFR的狀態合稱為S0狀態。
接下來是計算和輸出部分:
大家可以看到,上面的邏輯結構圖中,有一個叫做鍾控的部分,他有三個輸出三個輸入,三個輸入是分別來三個LSFR的某一個固定位,輸出0或者1, 輸出0表示此次這個LSFR不會工作,也就是不會發生移動等等,輸出的是1的話,那麼這個LSFR此次就會移動一位並且得出反饋的結果。也就是說這個鍾控嘩脊散在控制著三個LSFR的工作與否。
首先根據鍾控的方式三個LSFR連續移動100次,但是不輸出亂數,此時應該只是做一個混亂的操作。因為LSFR在移動過程中,每一位寄存器內的數值都會不一樣,所以在鍾控決定每個寄存器運行與否的結果時也會不相同。
接下來會三個LSFR會接著進行連續的114次的移動,也是根據鍾控的方式。這一次的移動過程中,三個寄存器將分別把最高位寄存器的值輸出,然後三個值做異或運算,形成第i個亂數。這次114次移動會生成一個114位的亂數,用於對手機到基站這一段的數據加密。
之後再進行一次100次的移動和114次的移動,結果和上面說的相同,最終產生的114位密鑰用於基站到手機這段的通訊數據加密。
關於鍾控:
鍾控將第一個寄存器的第八位,第二個寄存器的第10位,第三個寄存器的第10位。抽取這三個位用於控制三個LSFR的動作與否。他們決定的原則類似少數服從多數,三位一共有8種排列方式,當三位中1的個數多餘0的個數時,那麼這三位是1的對應的寄存器將會移動, 為0的不會,如果三位數中0的個數多餘1的個數時,那麼三位之中是0的對應的寄存器將會移動。
根據上面的步驟就可以算出當我們把通訊數據切割成每一幀,然後對每一幀進行加密傳輸的時候,所需要的那個加密的亂數是怎麼得來的。至於加密過程很簡單,就是明文和亂數的異或操作。
㈡ 開發中常見的加密方式及應用
開發中常見的加密方式及應用
一、base64
簡述:Base64是網路上最常見的用於傳輸8Bit 位元組碼 的編碼方式之一,Base64就是一種基於64個可列印字元來表示二進制數據的方法。所有的數據都能被編碼為並只用65個字元就能表示的文本文件。( 65字元:A~Z a~z 0~9 + / = )編碼後的數據~=編碼前數據的4/3,會大1/3左右(圖片轉化為base64格式會比原圖大一些)。
應用:Base64編碼是從二進制到字元的過程,可用於在 HTTP 環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就採用了Base64來將一個較長的唯一 標識符 (一般為128-bit的UUID)編碼為一個字元串,用作HTTP 表單 和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制 數據編碼 為適合放在URL(包括隱藏 表單域 )中的形式。此時,採用Base64編碼具有不可讀性,需要解碼後才能閱讀。
命令行進行Base64編碼和解碼
編碼:base64 123.png -o 123.txt
解碼:base64 123.txt -o test.png -D Base64編碼的原理
原理:
1)將所有字元轉化為ASCII碼;
2)將ASCII碼轉化為8位二進制;
3)將二進制3個歸成一組(不足3個在後邊補0)共24位,再拆分成4組,每組6位;
4)統一在6位二進制前補兩個0湊足8位;
5)將補0後的二進制轉為十進制;
6)從Base64編碼表獲取十進制對應的Base64編碼;
Base64編碼的說明:
a.轉換的時候,將三個byte的數據,先後放入一個24bit的緩沖區中,先來的byte占高位。
b.數據不足3byte的話,於緩沖區中剩下的bit用0補足。然後,每次取出6個bit,按照其值選擇查表選擇對應的字元作為編碼後的輸出。
c.不斷進行,直到全部輸入數據轉換完成。
d.如果最後剩下兩個輸入數據,在編碼結果後加1個「=」;
e.如果最後剩下一個輸入數據,編碼結果後加2個「=」;
f.如果沒有剩下任何數據,就什麼都不要加,這樣才可以保證資料還原的正確性。
二、HASH加密/單向散列函數
簡述:Hash演算法特別的地方在於它是一種單向演算法,用戶可以通過Hash演算法對目標信息生成一段特定長度(32個字元)的唯一的Hash值,卻不能通過這個Hash值重新獲得目標信息。對用相同數據,加密之後的密文相同。 常見的Hash演算法有MD5和SHA。由於加密結果固定,所以基本上原始的哈希加密已經不再安全,於是衍生出了加鹽的方式。加鹽:先對原始數據拼接固定的字元串再進行MD5加密。
特點:
1) 加密 後密文的長度是定長(32個字元的密文)的
2)如果明文不一樣,那麼散列後的結果一定不一樣
3)如果明文一樣,那麼加密後的密文一定一樣(對相同數據加密,加密後的密文一樣)
4)所有的加密演算法是公開的
5)不可以逆推反算(不能根據密文推算出明文),但是可以暴力 破解 ,碰撞監測
原理:MD5消息摘要演算法,屬Hash演算法一類。MD5演算法對輸入任意長度的消息進行運行,產生一個128位的消息摘要。
1)數據填充
對消息進行數據填充,使消息的長度對512取模得448,設消息長度為X,即滿足X mod 512=448。根據此公式得出需要填充的數據長度。
填充方法:在消息後面進行填充,填充第一位為1,其餘為0。
2)添加信息長度
在第一步結果之後再填充上原消息的長度,可用來進行的存儲長度為64位。如果消息長度大於264,則只使用其低64位的值,即(消息長度 對264取模)。
在此步驟進行完畢後,最終消息長度就是512的整數倍。
3)數據處理
准備需要用到的數據:
4個常數:A = 0x67452301, B = 0x0EFCDAB89, C = 0x98BADCFE, D = 0x10325476;
4個函數:F(X,Y,Z)=(X & Y) | ((~X) & Z);G(X,Y,Z)=(X & Z) | (Y & (~Z));H(X,Y,Z)=X ^ Y ^ Z;I(X,Y,Z)=Y ^ (X | (~Z));
把消息分以512位為一分組進行處理,每一個分組進行4輪變換,以上面所說4個常數為起始變數進行計算,重新輸出4個變數,以這4個變數再進行下一分組的運算,如果已經是最後一個分組,則這4個變數為最後的結果,即MD5值。
三、對稱加密
經典演算法:
1)DES數據加密標准
DES演算法的入口參數有三個:Key、Data、Mode。其中Key為8個位元組共64位,是DES演算法的工作密鑰;Data也為8個位元組64位,是要被加密或被解密的數據;Mode為DES的工作方式,有兩種:加密或解密。
DES演算法是這樣工作的:如Mode為加密,則用Key去把數據Data進行加密, 生成Data的密碼形式(64位)作為DES的輸出結果;如Mode為解密,則用Key去把密碼形式的數據Data解密,還原為Data的明碼形式(64位)作為DES的輸出結果。在通信網路的兩端,雙方約定一致的Key,在通信的源點用Key對核心數據進行DES加密,然後以密碼形式在公共通信網(如電話網)中傳輸到通信網路的終點,數據到達目的地後,用同樣的Key對密碼數據進行解密,便再現了明碼形式的核心數據。這樣,便保證了核心數據(如PIN、MAC等)在公共通信網中傳輸的安全性和可靠性。
2)3DES使用3個密鑰,對消息進行(密鑰1·加密)+(密鑰2·解密)+(密鑰3·加密)
3)AES高級加密標准
如圖,加密/解密使用相同的密碼,並且是可逆的
四、非對稱加密
特點:
1)使用公鑰加密,使用私鑰解密
2)公鑰是公開的,私鑰保密
3)加密處理安全,但是性能極差
經典演算法RSA:
1)RSA原理
(1)求N,准備兩個質數p和q,N = p x q
(2)求L,L是p-1和q-1的最小公倍數。L = lcm(p-1,q-1)
(3)求E,E和L的最大公約數為1(E和L互質)
(4)求D,E x D mode L = 1
五、數字簽名
原理以及應用場景:
1)數字簽名的應用場景
需要嚴格驗證發送方身份信息情況
2)數字簽名原理
(1)客戶端處理
對"消息"進行HASH得到"消息摘要"
發送方使用自己的私鑰對"消息摘要"加密(數字簽名)
把數字簽名附著在"報文"的末尾一起發送給接收方
(2)服務端處理
對"消息" HASH得到"報文摘要"
使用公鑰對"數字簽名"解密
對結果進行匹配
六、數字證書
簡單說明:
證書和駕照很相似,裡面記有姓名、組織、地址等個人信息,以及屬於此人的公鑰,並有認證機構施加數字簽名,只要看到公鑰證書,我們就可以知道認證機構認證該公鑰的確屬於此人。
數字證書的內容:
1)公鑰
2)認證機構的數字簽名
證書的生成步驟:
1)生成私鑰openssl genrsa -out private.pem 1024
2)創建證書請求openssl req -new -key private.pem -out rsacert.csr
3)生成證書並簽名,有效期10年openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
4)將PEM格式文件轉換成DER格式openssl x509 -outform der -in rsacert.crt -out rsacert.der
5)導出P12文件openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
iOS開發中的注意點:
1)在iOS開發中,不能直接使用PEM格式的證書,因為其內部進行了Base64編碼,應該使用的是DER的證書,是二進制格式的;
2)OpenSSL默認生成的都是PEM格式的證書。
七、https
HTTPS和HTTP的區別:
超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站伺服器之間傳遞信息。HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的信息,因此HTTP協議不適合傳輸一些敏感信息,比如信用卡號、密碼等。
為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS。為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通信加密。
HTTPS和HTTP的區別主要為以下四點:
1)https協議需要到ca申請證書,一般免費證書很少,需要交費。
2)http是 超文本傳輸協議 ,信息是明文傳輸,https則是具有 安全性 的 ssl 加密傳輸協議。
3)http和https使用的是完全不同的連接方式,用的埠也不一樣,前者是80,後者是443。
4)http的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的 網路協議 ,比http協議安全。
5)SSL:Secure Sockets Layer安全套接字層;用數據加密(Encryption)技術,可確保數據在網路上傳輸過程中不會被截取及竊聽。目前一般通用之規格為40 bit之安全標准,美國則已推出128 bit之更高安全標准,但限制出境。只要3.0版本以上之I.E.或Netscape 瀏覽器 即可支持SSL。目前版本為3.0。SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層:SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密密鑰等。
㈢ 加密技術分為哪兩類
加密技術分為:
1、對稱加密
對稱加密採用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,密鑰較短,且破譯困難
2、非對稱
1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。
加密技術的功能:
原有的單密鑰加密技術採用特定加密密鑰加密數據,而解密時用於解密的密鑰與加密密鑰相同,這稱之為對稱型加密演算法。採用此加密技術的理論基礎的加密方法如果用於網路傳輸數據加密,則不可避免地出現安全漏洞。
區別於原有的單密鑰加密技術,PKI採用非對稱的加密演算法,即由原文加密成密文的密鑰不同於由密文解密為原文的密鑰,以避免第三方獲取密鑰後將密文解密。
以上內容參考:網路—加密技術
㈣ 科普:國產密碼演算法
密碼學(cryptography): 通過將信息編碼使其不可讀,從而達到安全性。
演算法 :取一個輸入文本,產生一個輸出文本。
加密演算法 :發送方進行加密的演算法。
解密演算法 :接收方進行解密的演算法。
對稱密鑰加密 (Symmetric Key Cryptography):加密與解密使用相同密鑰。
非對稱密鑰加密 (Asymmetric Key Cryptography):加密與解密使用不同密鑰。
密鑰對 :在非對稱加密技術中,有兩種密鑰,分為私鑰和公鑰,私鑰是密鑰對所有者持有,不可公布,公鑰是密鑰對持有者公布給他人的。
公鑰 :公鑰用來給數據加密,用公鑰加密的數據只能使用私鑰解密。
私鑰 :如上,用來解密公鑰加密的數據。
摘要 :對需要傳輸的文本,做一個HASH計算。
簽名 :使用私鑰對需要傳輸的文本的摘要進行加密,得到的密文即被稱為該次傳輸過程的簽名。
密碼協議是指兩個或兩個以上的參與者為了達到某種特定目的而採取的一系列步驟。規定了一系列有序執行的步驟,必須依次執行。必須有兩個或兩個以上的參與者,有明確的目的。參與者都必須了解、同意並遵循這些步驟。
常見的密碼協議包括IPSEC VPN 協議、SSL VPN 協議、密鑰交換協議等。
密碼是指描述密碼處理過程的一組運算規則或規程,一般是指基於復雜數學問題設計的一組運算,其基本原理基於數學難題、可證明計算、計算復雜度等。主要包括:對稱密碼、公鑰密碼、雜湊演算法、隨機數生成。
在對稱加密演算法中,加密使用的密鑰和解密使用的密鑰是相同的,加密和解密都是使用同一個密鑰,不區分公鑰和私鑰。
通信雙方採用相同的密鑰來加解密會話內容,即一段待加密內容,經過同一個密鑰的兩次對稱加密後,與原來的結果一樣,具有加解密速度快和安全強度高的優點。
國際演算法:DES、AES。
國產演算法:SM1、SM4、SM7。
非對稱加解密演算法又稱為 公鑰密碼 ,其密鑰是成對出現的。雙方通信時,首先要將密鑰對中的一個密鑰傳給對方,這個密鑰可以在不安全的信道中傳輸;傳輸數據時,先使用自己持有的密鑰做加密,對方用自己傳輸過去的密鑰解密。
國際演算法:RSA
國產演算法:SM2
優點:
密鑰分發數目與參與者數目相同,在有大量參與者的情況下易於密鑰管理。
支持數字簽名和不可否認性。
無需事先與對方建立關系,交換密鑰。
缺點:
速度相對較慢。
可能比同等強度的對稱密碼演算法慢10倍到100倍。
加密後,密文變長。
密碼雜湊演算法 :又稱為散列演算法或哈希函數,一種單向函數,要由散列函數輸出的結果,回推輸入的資料是什麼,是非常困難的。
散列函數的輸出結果,被稱為訊息摘要(message digest)或是 摘要(digest) ,也被稱為 數字指紋 。
雜湊函數用於驗證消息的完整性, 在數字簽名中,非對稱演算法對數據簽名的速度較慢,一般會先將消息進行雜湊運算,生成較短的固定長度的摘要值。然後對摘要值進行簽名,會大大提高計算效率 。
國際演算法:MD5、SHA1、SHA2、SHA3
國產演算法:SM3
2009年國家密碼管理局發布的《信息安全等級保護商用密碼技術實施要求》中明確規定,一、二、三、四級信息系統應使用商用密碼技術來實施等級保護的基本要求和應用要求,一到四級的密碼配用策略要求採用國家密碼管理部門批准使用的演算法。
2010年年底,國家密碼管理局公開了SM2、SM3等國產密碼演算法。
2011年2月28日,國家密碼管理局印發的【2011】145號文中明確指出,1024位RSA演算法正在面臨日益嚴重的安全威脅,並要求各相關企業在2012年6月30日前必須使用SM2密碼演算法
國家密碼管理局在《關於做好公鑰密碼演算法升級工作的函》中要求2011年7月1日以後建立並使用公鑰密碼的信息系統,應使用SM2演算法;已經建設完成的系統,應盡快進行系統升級,使用SM2演算法。
2014年底,國家密碼管理局啟動《重要信息系統密碼應用推進總體研究課題》,確定十三五密碼 科技 專項。
2017年11月底,國家密碼管理局下發了《政務雲密碼支撐方案及應用方案設計要點》。
2017年國家密碼管理局發布了42項金融和重要領域國產密碼應用試點任務。
2018年,中共中央辦公廳、國務院辦公廳印發《金融和重要領域密碼應用與創新發展工作規劃(2018-2022年)。
2018年,為指導當時即將啟動的商用密碼應用安全性評估試點工作,國家密碼管理局發布了密碼行業標准GM/T0054-2018《信息系統密碼應用 基本要求》。
2021年3月,國家市場監管總局、國家標准化管理委員會發布公告,正式發布國家標准GB/T39786-2021《信息安全技術信息系統密碼應用基本要求》,該標准於2021年10月1日起實施。
SM1 演算法是分組密碼演算法,分組長度為 128 位,密鑰長度都為 128 比特,演算法安全保密強度及相關軟硬體實現性能與AES相當,演算法不公開,僅以IP核的形式存在於晶元中。
演算法集成於加密晶元、智能 IC 卡、智能密碼鑰匙、加密卡、加密機等安全產品,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括政務通、警務通等重要領域)。
SM2橢圓曲線公鑰密碼演算法是我國自主設計的公鑰密碼演算法,是一種基於ECC演算法的 非對稱密鑰演算法, 其加密強度為256位,其安全性與目前使用的RSA1024相比具有明顯的優勢。
包括SM2-1橢圓曲線數字簽名演算法,SM2-2橢圓曲線密鑰交換協議,SM2-3橢圓曲線公鑰加密演算法,分別用於實現 數字簽名密鑰協商 和 數據加密 等功能。
SM3雜湊演算法是我國自主設計的密碼雜湊演算法,屬於哈希(摘要)演算法的一種,雜湊值為256位,安全性要遠高於MD5演算法和SHA-1演算法。
適用於商用密碼應用中的 數字簽名 和 驗證消息認證碼的生成與驗證 以及 隨機數 的生成,可滿足多種密碼應用的安全需求。
SM4 分組密碼演算法 是我國自主設計的分組對稱密碼演算法,SM4演算法與AES演算法具有相同的密鑰長度分組長度128比特,因此在安全性上高於3DES演算法。
用於實現數據的加密/解密運算,以保證數據和信息的機密性。軟體和硬體加密卡均可實現此演算法。
商用密碼技術框架包括 密碼資源、密碼支撐、密碼服務、密碼應用 等四個層次,以及提供管理服務的密碼管理基礎設施。
密碼資源層: 主要是提供基礎性的密碼演算法資源。
密碼支撐層: 主要提供密碼資源調用,由安全晶元、密碼模塊、智能IC卡、密碼卡、伺服器密碼機、簽名驗簽伺服器、IPSCE/SSL VPN 等商密產品組成。
密碼服務層: 提供密碼應用介面,分為對稱和公鑰密碼服務以及其他三大類。
密碼應用層: 調用密碼服務層提供的密碼應用程序介面,實現數據的加解密、數字簽名驗簽等服務。如應用 於 安全郵件、電子印章系統、安全公文傳輸、移動辦公平台、可信時間戳等系統。
密碼管理基礎設施: 獨立組件,為以上四層提供運維管理、信任管理、設備管理、密鑰管理等功能。
完整的PKI系統必須具有權威認證機構(CA)、數字證書庫、密鑰備份及恢復系統(KMC)、證書作廢系統(CRL)、應用介面(API)等基本構成部分,構建PKI也將圍繞著這五大系統來著手構建。
CA 系統:Ca系統整個PKI的核心,負責證書的簽發。CA首先產生自身的私鑰和公鑰(密鑰長度至少為1024位),然後生成數字證書,並且將數字證書傳輸給安全伺服器。、CA還負責為操作員、安全伺服器以及注冊機構伺服器生成數字證書。安全伺服器的數字證書和私鑰也需要傳輸給安全伺服器。
CA伺服器是整個結構中最為重要的部分,存有CA的私鑰以及發行證書的腳本文件,出於安全的考慮,應將CA伺服器與其他伺服器隔離,任何通信採用人工干預的方式,確保認證中心的安全。
(1)甲使用乙的公鑰對明文進行加密,生成密文信息。
(2)甲使用HASH演算法對明文進行HASH運算,生成數字指紋。
(3)甲使用自己的私鑰對數字指紋進行加密,生成數字簽名。
(4)甲將密文信息和數字簽名一起發送給乙。
(5)乙使用甲的公鑰對數字簽名進行解密,得到數字指紋。
(6)乙接收到甲的加密信息後,使用自己的私鑰對密文信息進行解密,得到最初的明文。
(7)乙使用HASH演算法對還原出的明文用與甲所使用的相同HASH演算法進行HASH運算,生成數字指紋。然後乙將生成的數字指紋與從甲得到的數字指紋進行比較,如果一致,乙接受明文;如果不一致,乙丟棄明文。
SSL 協議建立在可靠的傳輸協議(如 TCP)之上,為高層協議提供數據封裝,壓縮,加密等基本功能。
即可以協商加密演算法實現加密傳輸,防止數據防竊聽和修改,還可以實現對端設備身份驗證、在這個過程中,使用國密演算法進行加密、簽名證書進行身份驗證、加密證書用於密鑰交換
SSL協商過程:
(1)客戶端發出會話請求。
(2)服務端發送X.509證書(包含服務端的公鑰)。
(3)客戶端用已知Ca列表認證證書。
(4)客戶端生成隨機對稱密鑰,並利用服務端的公鑰進行加密。
(5)雙方協商完畢對稱密鑰,隨後用其加密會話期間的用戶最終數據。
利用SSL卸載技術及負載均衡機制,在保障通訊數據安全傳輸的同時,減少後台應用伺服器的性能消耗,並實現伺服器集群的冗餘高可用,大幅度提升整個業務應用系統的安全性和穩定性。此外,藉助多重性能優化技術更可縮短了業務訪問的響應等待時間,明顯提升用戶的業務體驗。
基於 數字證書 實現終端身份認證,給予密碼運算實現本地數據的加密存儲,數字證書硬體存儲和密碼運算由移動終端內置的密碼部件提供。
移動應用管理系統伺服器採用簽名證書對移動應用軟體安裝包進行簽名,移動應用管理系統客戶端對簽名信息進行驗簽,保障移動應用軟體安裝包的真實性和完整性。
移動辦公應用系統採用簽名證書對關鍵訪問請求進行簽名驗證。
採用加密證書對關鍵傳輸數據和業務操作指令,以及移動終端本地存儲的重要數據進行加密保護。
移動辦公系統使用商用密碼,基於數字證書認證系統,構建覆蓋移動終端、網路、移動政務應用的安全保障體系,實現政務移動終端安全、接入安全、傳輸安全和移動應用安全 。
㈤ 數據在網路上傳輸為什麼要加密現在常用的數據加密演算法主要有哪些
數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。
端—端加密指信息由發送端自動加密,並且由TCP/IP進行數據包封裝,然後作為不可閱讀和不可識別的數據穿過互聯網,當這些信息到達目的地,將被自動重組、解密,而成為可讀的數據。
數據存儲加密技術的目的是防止在存儲環節上的數據失密,數據存儲加密技術可分為密文存儲和存取控制兩種。前者一般是通過加密演算法轉換、附加密碼、加密模塊等方法實現;後者則是對用戶資格、許可權加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據。
常見加密演算法
1、DES(Data Encryption Standard):對稱演算法,數據加密標准,速度較快,適用於加密大量數據的場合;
2、3DES(Triple DES):是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
3、RC2和RC4:對稱演算法,用變長密鑰對大量數據進行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)國際數據加密演算法,使用 128 位密鑰提供非常強的安全性;
5、RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法; 演算法如下:
首先, 找出三個數,p,q,r,其中 p,q 是兩個不相同的質數,r 是與 (p-1)(q-1) 互為質數的數。
p,q,r這三個數便是 private key。接著,找出 m,使得 rm == 1 mod (p-1)(q-1).....這個 m 一定存在,因為 r 與 (p-1)(q-1) 互質,用輾轉相除法就可以得到了。再來,計算 n = pq.......m,n 這兩個數便是 public key。
6、DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法;
7、AES(Advanced Encryption Standard):高級加密標准,對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael 演算法。
8、BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快;
9、MD5:嚴格來說不算加密演算法,只能說是摘要演算法;
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
(5)通訊傳輸加密演算法擴展閱讀
數據加密標准
傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。
數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。
DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。
每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。
DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。
參考資料來源:網路-加密演算法
參考資料來源:網路-數據加密
㈥ 短波通信網路及加密技術
短波通信網路及加密技術
摘 要:短波通信網具有無中心自組織、無線傳輸帶寬有限、分布式控制等特徵,同時節點本身具有局限性,體現在無線節點的存儲、計算以及通信能力上。我們需要將短波通信的認證、加密、密鑰管理以及訪問控制等安全措施考慮在內。
本論文在密碼學的理論基礎上,針對短波通信的結構特點及應用需求,對短波通信加密技術進行了研究和實現。
關鍵詞:短波;加密;通信
1 短波通信的發展現狀
短波通信就是指不建立中繼站通過天波的電離層反射來實現的遠距離通信,並且在一定的頻率范圍內實現的高頻通信。
短波通信正是由於電離層的不可摧毀性才成為了軍事指揮的重要手段之一。由於短波通信在軍事通信上的不可替代性,從20世紀80年代初,短波通信進入了復興和發展的新時期。隨著技術的進步,許多的國家改進設備,改進系統來加速對短波的研究。
對於短波通信的一些缺點,我們已經找到了一些克服和改進的辦法。
穩定性、可靠性、通信質量和通信速率是短波通信的一些特性,在這些方面,世界各國都在積極研究發展,已經達到了一個新的水平,需要其他領域進一步的拓展。
2 短波通信的優缺點
1.優點:
①.一旦發生戰爭或災害,各種通信網路都可能受到破壞,衛星也可能受到攻擊.在各種通信方式中,短波所具有的優勢就是不受網路樞鈕和有源中繼體制的制約。
②.在超短波覆蓋不到的地方,比如山區、戈壁、海洋等地區,主要依靠短波實現通信;
③短波通信具有衛星通信所不具備的有點,比如不用支付話費,運行成本低.
2.缺點:
①.可供使用的頻段窄,通信容量小
國際規定每個短波電台佔用3.7KHZ的頻段寬度,而整個波段的頻帶寬度才28.5MHZ,為了避免相互間的干擾,全球只有7700多個可用短波信道,每個信道3.7KHZ的現有帶寬大幅制約了提高信道容量和數據傳輸速率.
②.信道差
地波是短波傳播的基本途徑之一,短波的地波信號可以沿海面傳播1000公里左右,由於海水介質的電導特性,海面介質成為了船舶的最佳方式。然而陸地表面介質電導特性差且對電波衰耗大,電波的衰耗程度對不同的陸地表面介質而不同.
短波信號沿地面最多隻能傳播幾十公里.與天波傳播不同,地波傳播不需要經常的改變工作頻率,但要將障礙物的阻擋考慮在內。電離層會產生變化,在高度和密度方面可能會受晝夜、季節、氣候等因素的影響,產生一些不良的後果,比如雜訊較大等。
短波的主要傳播途徑是天波。天波是不穩定的傳播,其原理見到那來說就是電離層和地面將信號來回反射的過程。這個短波信號通過天線發出的,並且不受地面障礙物阻擋,傳播距離也不受限制。但天波在傳播過程中,也會產生一些影響通信效果的因素,後果就是造成信號的弱化和畸變等等。
③.大氣和工業無線電雜訊干擾嚴重
工業電磁輻射的無線電雜訊干擾在短波頻段的平均強度很高,此外,大氣無線電雜訊和無線電台間的干擾,尤其是脈沖型突發雜訊,使短波通信的質量深受影響,常會使數據傳輸發生嚴重錯誤,影響通信質量.
3 短波語音傳輸加密
在我國,短波語音通信的主要設備就是對講機。我們要實現加密技術的'最終目的就是為了在語音信道中傳輸加密信號,這種信號不被第三方所知。即使採用同一技術的通信設備,也不會被通信設備的雙方在通信過程中容納以合法身份進入。總的來說,我們要實現的短波語音傳輸加密技術要以實用性、保密性、安全性、可靠性和先進性作為其研究的主題。
我們所要實現的短波語音加密技術採用軟硬體並重的方式,在硬體上,採用我們自行研究開發的保密電子線路。
軟體上,採用自行設計開發的融入了加密演算法和密鑰管理的計算機匯編程序,可以不定期的對軟硬體進行更新換代,這樣實現的目的有其十分明顯的優點,即使有人從硬體上了解了加密的基本思路,但是軟體仍然有一層保障,因為對硬體信號的加脫密控制都是由軟體來實現的,這樣就可以防止其接觸到具體的加密技術方案。
硬體加密線路主要採用DSP處理器晶元、加密演算法晶元和語音加脫密晶元來實。在硬體上不僅要實現加脫密處理的功能,同時為了防止原有的語音信號失真,在整個加脫密線路中增添了許多濾波、整流、功率放大和雜訊干擾的功能模塊。
軟體實現主要從身份認證、加密和脫密、密鑰管理等來實現的。其中,在機密中,通信雙方身份互相確認後,要傳送的一方把語音信號模/數轉換後利用核心加密演算法做加密處理。接收的一方把線路中傳輸的普通語音信號中的模/數轉化後做脫密處理,並且用於加密的密鑰和脫密的密鑰不能相通。
4 短波通信系統網路向第三代全自適應網路方向發展
在通信技術飛速發展的今天,短波通信必須與網路互通,與系統兼容來實現其自身的發展。短波通信也要建立一個完善的系統,保證其高效、可靠並且抗干擾性強等。我們要改變傳統的短波通信方式帶來的缺點,它在如何實時選頻以及頻率復用等問題還需要進一步的探究。
軍事通信領域是國家的重點保護領域,世界發達國家沒有停止過對短波通信技術的研究。短波通信領域仍然不斷取得重大技術突破,推動著短波通信技術的發展。現如今,我們進入了信息時代,更要拓展短波通信領域來發展我國通信。
基於以上我們對短波通訊的闡述,更加確定了短波通訊在現代中的地位。我們所論及的信息安全技術,一直是世界各國政府高度重視其研究和應用的高科技領域,隨著世界科技的蓬勃發展,不易破譯的信息安全技術正是社會的廣泛需求。
參考文獻
[1] 王炳錫.變速率語音編碼[M].西安:西安電子科技大學出版社,2004
[2] 姚天任.數字語音編碼[M].北京:電子工業出版社,2001
[3] 胡中豫.現代短波通信[M].北京:國防工業出版社,2005
㈦ 什麼是SSL加密,什麼是TLS加密
SSL加密的英文全稱是Secure Socket Layer,翻譯過來就是安全套接層。
它是在傳輸通信協議(TCP/IP)上實現的一種網路安全協議,廣泛支持各種類型的網路,並同時提供三種網路基本安全服務,而且這三種服務都是使用公開密鑰技術。
TLS加密的英文全稱是Transport Layer Security,翻譯過來就是安全傳輸層協議。
TLS是用於在兩個通信應用程序之間,為通信提供保密性和數據完整性。這個協議一共有兩層,分別是記錄協議和握手協議。通過這個協議可以對網站、網路傳真、電子郵件等數據傳輸進行加密、保密。
(7)通訊傳輸加密演算法擴展閱讀:
1、SSL
SSL協議優勢
SSL協議的優勢在於它是與應用層協議獨立無關的。
高層的應用層協議(例如:HTTP、FTP、Telnet等等)能透明的建立於SSL協議之上。SSL協議在應用層協議通信之前就已經完成加密演算法、通信密鑰的協商以及伺服器認證工作。在此之後應用層協議所傳送的數據都會被加密,從而保證通信的私密性。
SSL體系結構
SSL被設計成使用TCP來提供一種可靠的端到端的安全服務,不是單個協議,而是二層協議。
低層是SSL記錄層,用於封裝不同的上層協議,另一層是被封裝的協議,即SSL握手協議,它可以讓伺服器和客戶機在傳輸應用數據之前,協商加密演算法和加密密鑰,客戶機提出自己能夠支持的全部加密演算法,伺服器選擇最適合它的演算法。
2、TLS
優勢
TLS協議的優勢是與高層的應用層協議(如HTTP、FTP、Telnet等)無耦合。
應用層協議能透明地運行在TLS協議之上,由TLS協議進行創建加密通道需要的協商和認證。應用層協議傳送的數據在通過TLS協議時都會被加密,從而保證通信的私密性。
TLS協議是可選的,必須配置客戶端和伺服器才能使用。
主要有兩種方式實現這一目標:一個是使用統一的TLS協議通信埠(例如:用於HTTPS的埠443);另一個是客戶端請求伺服器連接到TLS時使用特定的協議機制(例如:郵件、新聞協議和STARTTLS)。
演算法
在客戶端和伺服器開始交換TLS所保護的加密信息之前,他們必須安全地交換或協定加密密鑰和加密數據時要使用的密碼。
參考資料來源:網路-SSL安全套接層
參考資料來源:網路-TLS安全傳輸層
㈧ 在對信息進行加密時,對稱密碼演算法適合處理什麼類型的信息
對稱密碼演算法,又稱對稱加密演算法,是一種加密和解密過程中使用相同密鑰的加密演算法。由於對稱加密演算法的計算速度快且加密效率較高,它通常適合處理以下類型的信息:
1. 大量數據賣判:對於需要加密大量數據的場景,如文件存儲、資料庫加密等,對稱加密演算法是一個很好的選擇。由於其加密和解密速度快,對稱加密演算法可以在很短的時間內處理大量數據,降低系統的延遲。
2. 實時通信:在實時通信場景中,如語音通話、即時消息等,對稱鋒孝加密演算法可以提供低延遲的加密解密服務。這有助銀配稿於保持實時通信的流暢性和用戶體驗。
3. 傳輸層安全:在網路傳輸中,對稱加密演算法可以確保數據的安全性和完整性。例如,傳輸層安全協議(TLS)就使用了對稱加密演算法來加密客戶端和伺服器之間的通信數據。
然而,對稱加密演算法的一個缺點是密鑰管理問題。在數據傳輸過程中,雙方需要共享相同的密鑰。密鑰的傳輸和管理可能帶來安全隱患。為解決這個問題,通常採用非對稱加密演算法(如RSA)在安全信道上交換對稱加密密鑰,之後使用對稱加密演算法進行數據加密。這種組合方式充分發揮了對稱加密演算法和非對稱加密演算法的優勢,實現了高效且安全的數據加密通信。
㈨ 計算機中的通信加密方式有哪些.
加密方式蘆旅做很多,比如:SET協議,SSL協議,PGP加密,IPSec協議等等!我鎮洞們聽說最多的可能就演算法加密,通過一定的演算法將文件打亂發送,收到後通過演算法將其還陪衡原,演算法也有很多種,比如:對稱加密演算法,非對稱演算法,散列演算法等!
㈩ 通信安全:哈希、加密、證書、簽名、密鑰協商、ECDH、TLS、DTLS
哈希也叫散列,是把任意長度的輸入通過散列演算法變換成固定長度的輸出,該輸出就是散列值,也叫摘要(Digest)。
這種轉換是一種 壓縮映射。 也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來確定唯一的輸入值,但如果輸出的位數足夠,不同輸入散列成相同輸出的概率非常非常小。
簡單的說, 散列就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的過程 。
散列是不可逆的 ,也就是無法通過輸出還原輸入,此特性常被用於密碼保存。
SHA-512、MD5等都是著名的散列函數,MD5生成的散列碼是128位,甚至MD5就是哈希的同名詞,你可以通過網站:https://passwordsgenerator.net/sha512-hash-generator/ 在線計算哈希。
散列有什麼用?
加密就是把 明文變成密文的過程,解密就是反方向把密文變成明文 。
比如著名的 凱撒密碼 ,就是把每個字對應到另一個,這樣的話,只要有密碼本,就能對照完成加解密。比如最簡單的,對於英文26個字母,每個字母右移3個,abc變成def,這也是一種加密,當然這種加密很簡單,很容易被破譯。
而諸如AES(高級加密標准)、3DES(三重數據加密演算法)則被公認為很難破解,不過山東大學女教授王小雲很厲害,破解了MD5和SHA-1,迫使加密標准升級,最終當上了院士。
對稱加密
對稱加密就是加解密的密鑰是一樣的,優點是快,這也是傳統的加密方式,像AES、3DES都是對稱加密。
非對稱加密
非對稱加密用於加解密的密鑰不一樣,有2個密鑰,公鑰和私鑰,公鑰可以公開,私鑰妥善保管。RSA、ECC(橢圓曲線加密演算法)、DH(密鑰交換演算法)這些都是非對稱加密。
非對稱加密很慢,有多慢?相比對稱加密慢1000倍,因為慢,所以它常用於密鑰協商(Handshake),協商出會話密鑰後,再用對稱密鑰加密通信數據。
1976年,Whitfield Diffie和Martin Hellman首次提出了非對稱加密的概念,該演算法被稱為Diffie-Hellman密鑰交換。然後在1978年,麻省理工學院的Ron Rivest,Adi Shamir和Leonard Adleman發表了RSA 演算法。這些都可以被視為非對稱加密的基礎。
非對稱加密也稱為公鑰基礎結構,又稱PKI。 非對稱加密的提出是密碼學上的一次革命,影響深遠。
非對稱加密演算法用私鑰加密,用公鑰解密,或者用公鑰加密,用私鑰解密。
證書就是為了證明我是我,比如你要訪問中國銀行網站,但中行官網如何證明它是中行官網呢?答案就是數字證書。
CA是數字證書中心,伺服器需要找CA做認證,讓CA給自己頒布數字證書,數字證書內一般包含服務的一些信息、以及伺服器的公鑰,通過CA的私鑰加密後,產生的數字證書,因為CA的權威性,且它的公鑰天下皆知,所以,如果你能用CA的公鑰解開證書,那便可證明該證書一定是CA頒發的,要不然它不會有CA的私鑰,也便沒法產生可用CA公鑰解密的證書。
所以,由此可見,數字證書用到了非對稱加密。
日常生活中也有簽名,每個人的筆跡是不一樣的,你刷卡消費後在賬單簽上大名,服務員校驗過之後保存下來,你哪天賴賬,便可以有簽名為證,因為別人寫的字跟你的筆跡終有差別。
那數字簽名是什麼呢?比如a發一封email,接收方怎麼證明這封信是a寫的?
本質上,數字簽名也是利用了非對稱加密。
前面講了,非對稱加密有公鑰和私鑰,如果發生方用私鑰加密,然後接收方用發送方的公鑰可以解密,那便可以證明是從某發送方發送的,因為別人拿不到你的私鑰,也便無法用你的私鑰加密,你不能抵賴。
數字簽名通常先對內容算哈希,產生內容摘要,再用私鑰加密,得到簽名。
下面舉一個例子來說明這幾個問題:
張三有2把鑰匙,一把公鑰,公告天下,一把私鑰,妥善保管,只有自己知道,很明顯,非對稱加密。
李四給張三寫信,寫完之後,用張三的公鑰加密,通過郵局寄給張三,即使郵遞員拆開信封看,他也看不懂,因為內容是密文,只有張三的密鑰才能解密。
張三收到信後,用私鑰解密,可以正常閱讀。
現在張三要給李四回信,寫完後,用hash函數生成摘要digest。
然後張三,再用私鑰對摘要加密,生成數字簽名signature。
然後把簽名附在信的下面,一起發給李四。
過程是:信明文 -> hash -> digist -> 私鑰加密 -> signature。
李四收到回信後,用張三的公鑰對數字簽名解密,得到摘要,由此證明,信確實是張三發出的,為什麼?因為如果不是張三發的,那寫信的人就沒有張三私鑰,用別的私鑰加密得到的簽名,是無法用張三的公鑰解開的。
李四,再對信的內容做hash,得到摘要,與上一步得到的摘要對比,如果一致,則證明信的內容沒有被修改過,信的內容是完整的。
復雜的情況出現了。
王五,用自己的公鑰替換李四保存的張三的公鑰,也就是王五欺騙了李四,李四誤把王五的公鑰當張三的公鑰,這樣一來,王五就能冒充張三給李四寫信(王五用自己的私鑰加密)。
問題是什麼?問題是李四不能確信自己保存的公鑰真的是張三的公鑰。如果客戶端電腦上存的工商銀行官網的公鑰,實際上是騙子公司的公鑰,那就麻煩大了。
怎麼破?讓張三去認證中心CA(Certificate Authority),為公鑰做認證,怎麼做呢?CA中心用自己的私鑰,對張三的公鑰和其他相關信息一起加密,生成數字證書(Digital Certificate)。
張三拿到數字證書後,以後給李四回信,在簽名的同時,附帶上數字證書。
李四收到信之後,從CA的公鑰解開數字證書,取出張三的公鑰(一定是真的),然後就能放心的愉快的按之前的流程解開簽名了。
數字證書加入後,核心區別就是張三的公鑰不再保存在李四處,而是通過數字證書下發。
為什麼數字證書里的張三的公鑰一定是真的呢?因為CA是權威機構,假設全世界就一家(其實不止,但也不多),它的公鑰天下盡知,就是固定的串,所以能用CA公鑰解開的證書,一定是CA頒布的,因為CA用它的私鑰加密產生的證書。很明顯,非對稱加密能用於證明我是我。
密鑰交換演算法
著名的DH密鑰交換演算法,這個演算法很有意思,也很巧妙,簡而言之,就是通信雙方交換一點信息(不怕被偷看到),然後就在兩端,分布產生出一個相同的密鑰,神奇啊。
有一個很有意思的例子。
Alice和Bob要協商出一個公共的顏色,他們可以交換信息,但交換的信息,可以被偷看到,怎麼辦?既能協商出公共顏色,又不能讓別人知道呢。
密鑰交換演算法的原理跟這個差不多,網上有大量的資料講述這個問題,我覺得理解了上面的例子,再看ECDH便也不難了。
眾所周知http是互聯網協議,但是它不夠安全,所以後面有改進版的https,其實就是多了一個TLS,這個是傳輸層加密,本質上,就是通過handshake,協商出一個會話密鑰,後面的數據傳遞,都用這個密鑰做對稱加解密。
我們經常講安全通道,其實也就是協商出一個會話密鑰,他並不神秘。胡亂放幾張圖片吧。
為了減少這幾個RTT,又想了各種辦法,然後復用連接的話,就可以做到0RTT,1RTT了。
就說這些吧,最後拋幾個名詞,有興趣自行網路學習:DTLS,HMAC,AEAD,重放攻擊,放大攻擊,是不是很高端?