日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

加密编程方法概述

發布時間:2024/4/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加密编程方法概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

馬若望

http://kodefun.blog.51cto.com

http://blog.sina.com.cn/kodefun

1. 加密的用途和必要性

電子形態的信息易于被竊取和篡改。對一份電子文檔的拷貝、修改并不會留下物理上的痕跡,也不能通過筆跡之類的手段看出誰編輯過它。泄漏的賬戶數據庫、照片、視頻、文檔和電子郵件給人們造成了不同程度的麻煩和困擾。可信賴的信息系統必須具備保護信息不被非法獲取或者篡改的能力。我們所使用的計算機終端、服務器和網絡在不同程度上是開放的,這使得僅通過物理手段或者程序控制邏輯無法保障信息的安全。加密可以使得在開放環境中存儲和傳輸的電子信息具備保密、防篡改的能力,這使得加密成為當前保護電子信息安全的存儲和傳輸的關鍵機制。對于電子商務等依賴于信息的保密和防篡改能力的應用系統,加密是必須的信息處理環節。

2. 算法和密鑰

加密算法和密鑰一起完成信息明文與密文之間的轉換。加密技術在古代就被用來保護軍事情報,通過加密防止信使在戰場上被敵方捕獲時泄漏所攜帶的情報。在很長的時期里,加密和解密都依賴于手工,對密碼的破譯則是一種類似于猜字謎的智力游戲。20世紀20年代以來,加密進入了機械化時代,第二次世界大戰中,交戰各方都大量使用了機械與電子結合的密碼機。在這種情形下,對密碼的破譯也相應采用了機械化手段。二戰中的分析活動最后形成了密碼學嚴謹的信息論與數學理論基礎,一些公開的密碼理論研究成果在二戰末期發表。密碼分析和設計理論的進步使得非正式的加密算法在現代正規密碼分析手段面前不堪一擊。以DES、RSA等算法為代表的工業加密標準算法的發布和推廣為數據加密技術的廣泛應用建立了堅實的基礎。民用領域最先大規模應用現代標準密碼技術是在金融領域,早在1980年代,金融機構就開始建立與使用電子轉賬系統。現代密碼技術加密的防護能力在電子金融中通過了***者的考驗。今天標準密碼技術的加密能力可以使得一份電子文檔具備超越金庫和保險柜的保密性。具有比紙質文件上的簽名更難以偽造的可驗證性。數十年的應用,使得工業標準加密算法的安全性得到全球范圍的證實,在應用中暴露出的算法實現和密鑰管理等過程中的薄弱環節也得到了相應的增強,形成了一套行之有效的防范措施。這一切,使得人們在開放的Internet網絡上建立信任成為可能,正確的實現相關加密技術成為網銀、網購等電子商務活動的前提條件之一。

3. 加密的安全目標和基本過程

加密實現的基本安全目標有機密性、完整性和可認證性(數字簽名)等。

3.1. 機密性

發送者想要在一個不安全的開放信道(如Internet)上發送信息給接收者。發送者對可理解的信息(稱為明文)進行處理,將其變換成不可理解的亂碼(稱為密文),使得非授權者難以從信道上直接獲得的密文中獲取信息,這個處理過程稱為加密。解密者使用加密的逆過程從密文獲取明文,這個過程稱為解密(也稱脫密)。

解密用的算法稱為解密算法,密鑰稱為解密密鑰。相應的算法稱為加密算法,密鑰稱為加密密鑰。采用相同的密鑰加密和解密的算法稱為對稱算法(體制),采用不同的密鑰加密和解密的算法稱為非對稱算法(體制)。非對稱算法加密的密鑰可以公開,解密的密鑰則只有密鑰對的所有者擁有,適宜于開放系統的安全需要。非對稱密碼算法一般比較慢,所以一般結合對稱算法使用。使用非對稱算法保護對稱的信息加密密鑰,然后使用受保護的對稱密鑰以對稱算法加密大量的用戶信息,這稱為混合加密體制(如圖X所示)。

公開的對稱加密算法標準有DES、AES等。公開的非對稱算法標準有RSA、ECC等。

3.2. 完整性/鑒別

從信息中不可逆的生成一個唯一的定長特征值的過程,稱為散列。在用戶身份鑒別過程中,一般使用傳輸散列值的方式防止口令在信道上被截獲。數字簽名時,常常采用對信息的散列值簽名的方法提高簽名速度和安全性。網絡下載文件時,經常使用散列值校驗下載內容的正確性。常用的散列算法有MD5、SHA-1、SHA-256等等。

3.3. 數字簽名

簽名者將信息變換稱為一種可驗證的證據的過程,稱為簽名。簽名所使用的算法稱為簽名算法,密鑰稱為簽名密鑰。一個實體(個人或者組織)的簽名密鑰一般是私有的,這樣只有簽名者能夠產生自己對信息的簽名值。對信息的簽名進行檢驗的過程,稱為驗證。驗證所使用的算法稱為驗證算法,密鑰稱為驗證密鑰。驗證密鑰一般是公開的,且與簽名密鑰一一對應,這樣,其他人能夠方便的驗證信息的簽名值的有效性,從而確認信息是否來自特定的實體,并確知其未被篡改。根據各國的電子簽名法令,這種簽名信息是具備法律效力的。

非對稱算法簽名和驗證的運算量很大,速度較慢。為了提高處理效率,實際應用中一般先計算需要簽名的信息的散列,然后對定長的散列值計算簽名值。

3.4. 加密信息交換的規范

為了使得不同的設備之間能夠正確的交換和解析加密的信息,業界形成了幾種應用較廣泛的加密相關的規范的標準,常用的有PKCS系列規范、Xml加密規范。

4. 系統內置的加密應用

Windows操作系統內置有加密文件系統(EFS),應用程序簽名機制。IE、Chrome、Firefox等瀏覽器均支持加密的https方式。這些應用均基于混合加密體制,使用數字證書中的密鑰加密保護信息。

5. 加密功能應用編程接口(API)

作為建立安全應用系統的基礎支撐構件之一,在Windows、Linux、Android、iOS等操作系統環境中,都內置了標準加密算法及規范的實現,提供了加密API接口供應用程序使用。PKCS系列規范是加密信息交換的工業標準,各種操作系統的加密API均在不同程度上支持PKCS規范。幾種常見操作系統和開發技術提供的加密API有:CSP、CNG、.NET加密API、Java加密API、OpenSSL等。

5.1. CryptoAPI

CryptoAPI是Windows SDK平臺應用編程接口(Platform API)的一部分,是系統提供的原生Win32加密接口。CryptoAPI使用CSP所提供的加密/數字簽名等密碼服務。CSP是Windows平臺下實現加密算法的標準接口,符合CSP規范的加密算法實現模塊注冊到Windows系統之后,應用程序即可通過CryptAPI函數調用CSP中所實現的算法完成應用數據的加解密。Windows系統中內置的CSP實現了常用的各種加密算法,這些算法實現的正確性經過了NSA的認證。Windows 2000、XP、2003、Vista、7、8均支持CryptAPI。

5.2. CNG

CNG是微軟自Windows Vista以來引入的新一代加密編程接口,長期計劃是替換掉CryptoAPI。CNG的設計具有多個層次和可擴展性。CNG包括如下新的特性:一個新的密碼配置系統,支持更好的密碼敏捷性,更細粒度抽象的密鑰存儲(從算法操作中分離存儲)。對長生命期的密鑰的操作進行隔離,可替換的隨機數發生器(RNG),減少了導出簽名的限制,線程安全性,提供內核模式的密碼API。此外,CNG還包括支持Suite B算法,支持橢圓曲線密碼(ECC)。CNG通過了美國聯邦信息處理標準(FIPS)140-2級別2認證。NSA允許經過認證的Suite B實現用來保護美國政府和軍方的機密(Top Secret)和秘密(Secret )及其以下級別(如過去被描述為敏感而非密Sensitive-But-Unclassified)的信息。

CNG也是平臺原生的Win32 API的一部分,支持CNG的Windows版本有Vista及其以后的Windows 7、Windows 2008、Windows 8等較新的Windows。

5.3. .NET

.NET的System.Security.Cryptography 命名空間中的類提供了CryptoAPI所支持的全部密碼算法和密鑰操作功能,這些類有些是CrytoAPI的托管封裝,有些是算法的純托管代碼實現。3.5版本以后的.NET支持Suite B和CNG所包含的加密功能。

5.4. Java

Java平臺的javax.crypto包中的類提供了加密相關的API。Java的加密體系有著與CryptoAPI的CSP類似的提供者機制,加密運算可以是軟件的,也可以在智能卡、硬件加密加速卡等硬件上實現。Java平臺內置了最常用各種加密算法的實現,包括 RSA、DSA和ECDSA 非對稱算法, DES、AES和 ARCFOUR 對稱加密算法, MD5、SHA-1,、SHA-256散列算法,Diffie-Hellman 和密鑰協商算法

5.5. OpenSSL

OpenSSL是一個開源的加密軟件庫,它不僅僅實現了SSL協議,而且提供了各種的常見標準算法、數字證書處理等加密的實現,是一個完整的加密軟件包。Openssl在Linux和Windows下均能夠正常編譯運行,很多開源應用程序采用openssl支持加密的通信,如wget等。Openssl含有硬件加密引擎機制,可以方便的使用各種硬件加密模塊。

6. 硬件加密模塊

對于服務器性能和客戶端安全性有較高要求的應用,如網銀、電子商務等,需要用到硬件加密模塊。服務器端主要是密碼加速卡,客戶端有智能卡、USBKey等。這些硬件加密模塊一般會提供驅動,使得應用軟件可以通過CSP、openssl等通用編程接口使用它們。

6.1. 密碼加速卡

加密是計算密集型操作,對于并發數較多的服務器,使用軟件實現的加密將顯著降低服務器吞吐量。密碼加速卡使用硬件實現安全連接所需的算法,硬件隨機數發生器用于快速生成高質量的密鑰,能有效提高ssl、IPSec等安全連接的并發速度。

6.2. USBKey、智能卡

由于計算機病毒、***、盜版軟件等因素,Internet上的客戶端計算機的安全狀況較差,存儲在本機硬盤上的文件證書中的私鑰面臨的安全風險較大。為了網銀、企業計算環境等應用的安全性,用戶可以使用USBKey或者智能卡等硬件保證交易信息的安全性。USBKey及智能卡均內置有算法的實現和硬件隨機數發生器,無私鑰輸出接口,從而保證了私鑰的安全性。有些USBKey還采用指紋、硬件pin按鍵等方式增強了使用安全性。

轉載于:https://blog.51cto.com/esafe/1156692

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的加密编程方法概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品电影一区 | 91鲁| 成人三级电影网站 | 黑人一级视频 | 好男人www日本 | 亚洲成人h| 99热亚洲精品 | 美女被草网站 | 69国产精品视频免费观看 | 丰满饥渴老女人hd | 情侣黄网站免费看 | 一区二区三区小视频 | 中文字幕精品一区二 | 亚洲熟妇无码另类久久久 | 91tv在线观看 | 成人依依 | 精品国产乱码久久久久久牛牛 | 少妇av在线播放 | 久久综合狠狠 | 国产精品无遮挡 | 国产激情av| 美女擦边视频 | 国产丝袜在线播放 | 一级淫片免费看 | 亚洲精品视频一二三区 | 国产资源av | 国产欧美精品一区二区色综合 | 中文日本在线 | 亚洲欧美一区二区三区在线 | 国产精品三级电影 | 成人一卡二卡 | 91精品久久久久久综合五月天 | 韩国伦理在线视频 | 久久麻豆精品 | 久久y | 免费观看理伦片在线播放视频软件 | 亚洲毛片儿 | 午夜影院在线免费观看 | 日韩在线观看免费高清 | 成人久久久久久 | 又黄又湿的网站 | 日韩va亚洲va欧美va久久 | 国产精品国产三级国产 | 精品国产精品国产偷麻豆 | 欧美亚洲激情 | 高清欧美性猛交xxxx黑人猛交 | 一本大道久久a久久精二百 琪琪色在线视频 | 夜夜草视频 | 男男免费视频 | 亚洲激情视频小说 | 蜜臀久久99精品久久久无需会员 | 精品国产成人av在线免 | 福利在线影院 | 中文字幕在线乱 | 97成人免费视频 | 中文毛片无遮挡高潮免费 | h视频网站在线观看 | 亚洲国产无 | 一区二区在线国产 | 奶水旺盛的女人伦理 | 国产18av | 国产美女流白浆 | 日本a级免费 | 男女啪啪av | 成人区人妻精品一区二 | 亚洲精品国产精品国自产观看 | 国产黄片一区二区三区 | 国产成人在线观看 | 亚洲日本国产 | 奇米一区二区三区 | 神秘电影永久入口 | 欧美jizz欧美性大全 | 国产精品综合网 | 中文字幕精品一区二区精品 | 国产高清免费av | 欧美日韩一区二区三区四区五区六区 | 91久久影院 | 国产成人在线免费视频 | 在线观看亚洲精品视频 | 国产 日韩 一区 | 久久久av电影 | 婷婷狠狠 | 91在线综合 | 国产农村妇女精品一区二区 | 国产精品嫩草影院桃色 | 欧美在线免费观看 | 五月婷婷网站 | 黑人狂躁日本妞hd | 激情另类视频 | 国产精品边吃奶边做爽 | 91麻豆蜜桃 | 免费黄色小视频 | 无罩大乳的熟妇正在播放 | 色婷婷狠狠 | av手机天堂| 欧美多人猛交狂配 | 成人黄色av网址 | 亚洲石原莉奈一区二区在线观看 | 色呦呦精品 |