数据加密算法的简介与应用
加密算法簡介
數據加密(或稱為密碼學)是一種用于對信息進行保密處理的科學。加密的目的是為了防止信息被不應該獲取、不允許獲取的人得到。加密算法(密碼學)在歷史上產生了深遠的政治、社會和道德影響。
數據加密如同數據壓縮一樣,是信息論的另一種產物。這是數學領域的一個分支。
數據加密一定是有兩個過程:第一個過程,我們稱之為加密,在這個過程中將可識別的數據(或稱為明文)加密為無法識別的形式(也就是密文);第二個過程與第一個過程相反,將密文解密轉換回普通的原始明文。
密碼背后的主要思想是:如果允許讀取數據,則從密文轉換為明文應該是很容易的,相反,如果不允許讀取,則不可能實現從密文到明文的轉換。
密碼使用一種稱為“密鑰”的特殊信息,用于保證安全性。一旦用密鑰加密數據,只有知道正確密碼的人才能解密數據。事實上,對于任何好的加密算法,其關鍵屬性就是圍繞密鑰的安全性。更進一步說,好密碼的安全性不依賴于把密碼的算法保密。這就類似于,盡管人人都知道保險箱是如何工作的,但是沒有密碼就無法打開保險箱的大門。
?現代的加密算法,從如何使用的角度可以分為兩類:
一類是對稱加密,另一類就是非對稱加密。
所謂對稱加密,是指加密和解密使用同一個密鑰,通常稱之為“Session Key ”,也就是說任何知道密鑰的人即可以加密也可以解密數據。
而在非對稱的算法中,用來加密和解密的密鑰是不同的。用來加密的密鑰稱為公鑰,也就是說可以公開的密鑰,而用來解密的密鑰稱為私鑰,這個是不能公開的,只有解密人才會持有。公鑰和私鑰協同工作,只有特定的私鑰才能解開由特定的公鑰加密過的數據。因此,只知道如何加密的數據并不意味著就可以成功解密,必須擁有正確的私鑰才行。這樣也很好地避免了密鑰的傳輸安全性問題。
?
DES是一種典型的對稱加密算法。目前認為DES是相對安全的,DES是和種效率較高的加密算法,甚至可以直接在軟件中實現。
RSA是最流行的公鑰加密算法之一。RSA是被認為非常安全的加密算法,但是處理速度比DES要慢得多。因此,它常用來加密較小規模的數據。軟件實現的RSA已經開始用于計算機網絡加密,用來完成密鑰分配、數字簽名等功能。
數據加密常見的應用場景:
電子郵件
電子郵件中的數據通常在非安全的通道上進行傳輸,比如Internet。Internet的廣泛使用也使得加密帶有敏感信息的電子郵件成為近些年來非常重要的應用。
電子貨幣
金融交易的一種手段,要使得交易可以得到認證但是無法跟蹤。交易必須得到認證,這樣參與交易的雙方才不會被騙。交易必須是無法跟蹤的,這樣每一方的隱私就可以得到保護。然而,在實踐中,如果沒有特殊的協議來協同支持的話,這些需求是很難實現的。
認證服務器
認證服務器解決處于網絡中不同端點處的兩個團體間的安全性問題。兩個團體間必須能夠交換密鑰,而在同一時刻又必須確保它們在與正確的對方通話,而不是一個冒充者。認證服務器通過各種依賴加密機制的協議來實現這些功能。
數字簽名
用來驗證數據的歸屬者的一種方法,很像在文檔上簽字一樣。一種生成數字簽名的方法是使用公鑰加密。用戶A采用他的私鑰加密一段數據,并將其發給B。B認為這個數據是來自A的,因此使用A的公鑰對數據進行解密驗證,如果能夠成功解密數據,則可以肯定數據是來自于A的。
智能卡
一種不型的卡片密鑰。其中包含微型計算機以及少量的存儲空間。一般來說,智能卡多用于各種形式的信貸上。其他類型的智能卡用于接入計算機或者建筑物的門禁等。智能卡采用加密技術,因為通過它可以完成某些重要的操作,比如修改銀行的賬戶以及進入安全環境。
*有興趣的朋友可以關注,近期將更新DES算法和RSA算法的具體實現與分析,以及應用舉例。
轉載于:https://www.cnblogs.com/idreamo/p/9321344.html
總結
以上是生活随笔為你收集整理的数据加密算法的简介与应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS-关于cell的重叠问题
- 下一篇: opengl微开发之1-从零開始