使用開源PGP技術(shù)實(shí)現(xiàn)Solaris 10下的加密解密(圖)
發(fā)布日期:2022-01-08 13:57 | 文章來源:源碼中國
一、PGP(Pretty Good Privacy)技術(shù)簡介
1、PGP簡介
PGP技術(shù)是一個基于非對稱加密算法RSA公鑰體系的郵件加密技術(shù),也是一種操作簡單、使用方便、普及程度較高的加密軟件。PGP技術(shù)不但可以對電子郵件加密,防止非授權(quán)者閱讀信件;還能對電子郵件附加數(shù)字簽名,使收信人能明確了解發(fā)信人的真實(shí)身份;也可以在不需要通過任何保密渠道傳遞密鑰的情況下,使人們安全地進(jìn)行保密通信。
PGP技術(shù)創(chuàng)造性地把RSA非對稱加密算法的方便性和傳統(tǒng)加密體系結(jié)合起來,在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制方面采用了無縫結(jié)合的巧妙設(shè)計,使其幾乎成為最為流行的公鑰加密軟件包。
PGP使用兩個密鑰來管理數(shù)據(jù):一個用以加密,稱為公鑰(Public Key);另一個用以解密,稱為私鑰(Private Key)。公鑰和私鑰是緊密聯(lián)系在一起的,公鑰只能用來加密需要安全傳輸?shù)臄?shù)據(jù),卻不能解密加密后的數(shù)據(jù);相反,私鑰只能用來解密,卻不能加密數(shù)據(jù)。
現(xiàn)在廣泛使用的公共密鑰系統(tǒng)是基于PGP方式。它是一個基于RSA公鑰加密體系的開源軟件,但它與RSA加密算法又有所不同。確切地說,PGP使用的是RSA和傳統(tǒng)算法DES結(jié)合的新算法——IDEA(受專利保護(hù))。
RSA算法是利用素數(shù)(即質(zhì)數(shù))的因式不可分解性。RSA算法的要點(diǎn)與難點(diǎn)有二個:算法主要為求模取余運(yùn)算;判斷一個數(shù)是否為素數(shù)。由于進(jìn)行的都是大數(shù)計算,使得RSA最快的情況也比DES慢上百倍,所以為了避開速度這一缺陷,PGP采用了改進(jìn)后的IDEA算法。
2、為什么采用PGP加密?
目前國內(nèi)多使用56位的加密系統(tǒng),實(shí)際上是不安全的,而PGP是最少128位加密的強(qiáng)大的加密軟件, 可以用于任何格式的文檔,包括文本、電子表、圖形等。具備數(shù)字簽名功能,用于檢查消息和文件的原作者和完整性。支持以下密鑰算法:
1)公用密鑰算法:Diffie-Hellman/DSS,RSA
2)散列功能:MD5, RIPEMD-160, SHA-1
3)對稱算法:CAST, IDEA, Triple-DES
包括密鑰生成和管理的整套工具,使系統(tǒng)管理員能夠靈活控制整個網(wǎng)絡(luò)系統(tǒng)的安全策略。
3、如何部署大規(guī)模PGP系統(tǒng)
1)建立網(wǎng)絡(luò)系統(tǒng)的PGP證書管理中心
在大型網(wǎng)絡(luò)系統(tǒng)中,利用PGP Certificate Server建立一個證書的管理中心??梢暂p松地創(chuàng)建并管理統(tǒng)一的公用密鑰基礎(chǔ)結(jié)構(gòu)。從而在網(wǎng)絡(luò)系統(tǒng)內(nèi)部或Internet之間進(jìn)行保密通訊。 通過將Lightweight Directory Access Protocol (LDAP)目錄和PGP證書的優(yōu)點(diǎn)相結(jié)合, PGP Certificate Server大大簡化了投遞和管理證書的過程。同時具備靈活的配置和制度管理。PGP Certificate Server支持LDAP和HTTP協(xié)議,從而保證與PGP客戶軟件的無縫集成。 其Web接口允許管理員執(zhí)行各種功能,包括配置、報告和狀態(tài)檢查,以實(shí)現(xiàn)對其遠(yuǎn)程管理。 我們可以在Sun Solaris或Microsoft Windows Server (Intel)平臺上實(shí)現(xiàn)。
2)對文檔和電子郵件進(jìn)行PGP加密
在操作系統(tǒng)可以安裝PGP,對文件系統(tǒng)和電子郵件系統(tǒng)進(jìn)行加密傳輸。
3)在應(yīng)用系統(tǒng)中集成PGP加密
利用PGP Software Development Kit(PGP 軟件開發(fā)包)系統(tǒng)開發(fā)人員可以將密碼功能結(jié)合到現(xiàn)有的應(yīng)用系統(tǒng)中, 如電子商務(wù)、法律、金融及其他應(yīng)用中。
4、PGP的 運(yùn)行方式
PGP有5種業(yè)務(wù):認(rèn)證性?保密性?壓縮?電子郵件的兼容性?分段?表1是這5種業(yè)務(wù)的總結(jié)?其中CAST-128是一種分組密碼,算法具有傳統(tǒng)Feistel網(wǎng)絡(luò)結(jié)構(gòu),采用16輪迭代,明文分組長度為64比特,密鑰長以8比特為增量,從40比特到128比特可變?
功能
使用的算法
功能描述
數(shù)字簽字
DSS/SHA或RSA/SHA
發(fā)送方使用SHA產(chǎn)生消息摘要,再用自己的秘密鑰按DSS算法或RSA算法對消息摘要簽字。
消息加密
CAST或IDEA或三個密鑰的三重DES/ElGamal或RSAIDEA或三重DES加密
消息由用戶產(chǎn)生的一次性會話密鑰按CAST-128或消息加密,會話密鑰用接收方的公開鑰按ElGamal或RSA加密。
壓縮格式
ZIP, ZLIB, BZIP2
消息經(jīng)ZIP, ZLIB, BZIP2算法壓縮后存儲或傳送
電子郵件的兼容性
使用基數(shù)64變換
將加密的消息轉(zhuǎn)換為ASCII字符的兼容性基數(shù)64變換串,以提供電子郵件應(yīng)用系統(tǒng)的透明性。
分段
對消息進(jìn)行分段和重組以適應(yīng)PGP對消息最大長度的限制。
表1 PGP的業(yè)務(wù)
圖1:PGP工作流程
5、開源pgp工具
后來GNU和自由軟件運(yùn)動的出現(xiàn)可以使用免費(fèi)的GPG,它的安全性與PGP一樣強(qiáng),可以充分地保護(hù)每個用戶的隱私。 GnuPG 是用于安全通信的工具;它是對 PGP加密技術(shù)的完全和免費(fèi)的開源代替產(chǎn)品。使用 GnuPG,你可以給你的數(shù)據(jù)和通信加密,并可以使用 數(shù)碼簽名(digitally signing)來驗(yàn)證你的通信。GnuPG還能夠解密及校驗(yàn) PGP 5.x。
因?yàn)镚nuPG 和其它加密標(biāo)準(zhǔn)兼容,你的安全通信可能會與其它操作系統(tǒng)(如 Windows 和 Macintosh)上的電子郵件程序兼容。GnuPG 使用公鑰加密術(shù)(public key cryptography)來為用戶提供安全的數(shù)據(jù)交換。在公鑰加密術(shù)方案中,你生成兩把鑰匙:公鑰和密鑰。你和通信對方或鑰匙服務(wù)器互換你的公鑰,你決不應(yīng)該出示你的密鑰。
二、在Solaris的GnuPG安裝
首先先必須安裝軟件軟件包:
bzip2-1.0.5
libidn
libiconv
libintl
readline
openssl-0.9.8g
curl
openldap
sasl
zlib
限于篇幅筆者不詳細(xì)介紹了。
#gunzip gnupg-1.4.8-sol10-x86-local.gz
#pkgadd –d gnupg-1.4.8-sol10-x86-local
圖2:是gunpg安裝成功界面
另外判斷是否安裝有GnuPG的方法也很簡單。直接在命令行下輸入“gpg -h”命令,如果系統(tǒng)已經(jīng)安裝有GnuPG,就會顯示關(guān)于GPG版本和用法的信息。
1、PGP簡介
PGP技術(shù)是一個基于非對稱加密算法RSA公鑰體系的郵件加密技術(shù),也是一種操作簡單、使用方便、普及程度較高的加密軟件。PGP技術(shù)不但可以對電子郵件加密,防止非授權(quán)者閱讀信件;還能對電子郵件附加數(shù)字簽名,使收信人能明確了解發(fā)信人的真實(shí)身份;也可以在不需要通過任何保密渠道傳遞密鑰的情況下,使人們安全地進(jìn)行保密通信。
PGP技術(shù)創(chuàng)造性地把RSA非對稱加密算法的方便性和傳統(tǒng)加密體系結(jié)合起來,在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制方面采用了無縫結(jié)合的巧妙設(shè)計,使其幾乎成為最為流行的公鑰加密軟件包。
PGP使用兩個密鑰來管理數(shù)據(jù):一個用以加密,稱為公鑰(Public Key);另一個用以解密,稱為私鑰(Private Key)。公鑰和私鑰是緊密聯(lián)系在一起的,公鑰只能用來加密需要安全傳輸?shù)臄?shù)據(jù),卻不能解密加密后的數(shù)據(jù);相反,私鑰只能用來解密,卻不能加密數(shù)據(jù)。
現(xiàn)在廣泛使用的公共密鑰系統(tǒng)是基于PGP方式。它是一個基于RSA公鑰加密體系的開源軟件,但它與RSA加密算法又有所不同。確切地說,PGP使用的是RSA和傳統(tǒng)算法DES結(jié)合的新算法——IDEA(受專利保護(hù))。
RSA算法是利用素數(shù)(即質(zhì)數(shù))的因式不可分解性。RSA算法的要點(diǎn)與難點(diǎn)有二個:算法主要為求模取余運(yùn)算;判斷一個數(shù)是否為素數(shù)。由于進(jìn)行的都是大數(shù)計算,使得RSA最快的情況也比DES慢上百倍,所以為了避開速度這一缺陷,PGP采用了改進(jìn)后的IDEA算法。
2、為什么采用PGP加密?
目前國內(nèi)多使用56位的加密系統(tǒng),實(shí)際上是不安全的,而PGP是最少128位加密的強(qiáng)大的加密軟件, 可以用于任何格式的文檔,包括文本、電子表、圖形等。具備數(shù)字簽名功能,用于檢查消息和文件的原作者和完整性。支持以下密鑰算法:
1)公用密鑰算法:Diffie-Hellman/DSS,RSA
2)散列功能:MD5, RIPEMD-160, SHA-1
3)對稱算法:CAST, IDEA, Triple-DES
包括密鑰生成和管理的整套工具,使系統(tǒng)管理員能夠靈活控制整個網(wǎng)絡(luò)系統(tǒng)的安全策略。
3、如何部署大規(guī)模PGP系統(tǒng)
1)建立網(wǎng)絡(luò)系統(tǒng)的PGP證書管理中心
在大型網(wǎng)絡(luò)系統(tǒng)中,利用PGP Certificate Server建立一個證書的管理中心??梢暂p松地創(chuàng)建并管理統(tǒng)一的公用密鑰基礎(chǔ)結(jié)構(gòu)。從而在網(wǎng)絡(luò)系統(tǒng)內(nèi)部或Internet之間進(jìn)行保密通訊。 通過將Lightweight Directory Access Protocol (LDAP)目錄和PGP證書的優(yōu)點(diǎn)相結(jié)合, PGP Certificate Server大大簡化了投遞和管理證書的過程。同時具備靈活的配置和制度管理。PGP Certificate Server支持LDAP和HTTP協(xié)議,從而保證與PGP客戶軟件的無縫集成。 其Web接口允許管理員執(zhí)行各種功能,包括配置、報告和狀態(tài)檢查,以實(shí)現(xiàn)對其遠(yuǎn)程管理。 我們可以在Sun Solaris或Microsoft Windows Server (Intel)平臺上實(shí)現(xiàn)。
2)對文檔和電子郵件進(jìn)行PGP加密
在操作系統(tǒng)可以安裝PGP,對文件系統(tǒng)和電子郵件系統(tǒng)進(jìn)行加密傳輸。
3)在應(yīng)用系統(tǒng)中集成PGP加密
利用PGP Software Development Kit(PGP 軟件開發(fā)包)系統(tǒng)開發(fā)人員可以將密碼功能結(jié)合到現(xiàn)有的應(yīng)用系統(tǒng)中, 如電子商務(wù)、法律、金融及其他應(yīng)用中。
4、PGP的 運(yùn)行方式
PGP有5種業(yè)務(wù):認(rèn)證性?保密性?壓縮?電子郵件的兼容性?分段?表1是這5種業(yè)務(wù)的總結(jié)?其中CAST-128是一種分組密碼,算法具有傳統(tǒng)Feistel網(wǎng)絡(luò)結(jié)構(gòu),采用16輪迭代,明文分組長度為64比特,密鑰長以8比特為增量,從40比特到128比特可變?
功能
使用的算法
功能描述
數(shù)字簽字
DSS/SHA或RSA/SHA
發(fā)送方使用SHA產(chǎn)生消息摘要,再用自己的秘密鑰按DSS算法或RSA算法對消息摘要簽字。
消息加密
CAST或IDEA或三個密鑰的三重DES/ElGamal或RSAIDEA或三重DES加密
消息由用戶產(chǎn)生的一次性會話密鑰按CAST-128或消息加密,會話密鑰用接收方的公開鑰按ElGamal或RSA加密。
壓縮格式
ZIP, ZLIB, BZIP2
消息經(jīng)ZIP, ZLIB, BZIP2算法壓縮后存儲或傳送
電子郵件的兼容性
使用基數(shù)64變換
將加密的消息轉(zhuǎn)換為ASCII字符的兼容性基數(shù)64變換串,以提供電子郵件應(yīng)用系統(tǒng)的透明性。
分段
對消息進(jìn)行分段和重組以適應(yīng)PGP對消息最大長度的限制。
表1 PGP的業(yè)務(wù)

圖1:PGP工作流程
5、開源pgp工具
后來GNU和自由軟件運(yùn)動的出現(xiàn)可以使用免費(fèi)的GPG,它的安全性與PGP一樣強(qiáng),可以充分地保護(hù)每個用戶的隱私。 GnuPG 是用于安全通信的工具;它是對 PGP加密技術(shù)的完全和免費(fèi)的開源代替產(chǎn)品。使用 GnuPG,你可以給你的數(shù)據(jù)和通信加密,并可以使用 數(shù)碼簽名(digitally signing)來驗(yàn)證你的通信。GnuPG還能夠解密及校驗(yàn) PGP 5.x。
因?yàn)镚nuPG 和其它加密標(biāo)準(zhǔn)兼容,你的安全通信可能會與其它操作系統(tǒng)(如 Windows 和 Macintosh)上的電子郵件程序兼容。GnuPG 使用公鑰加密術(shù)(public key cryptography)來為用戶提供安全的數(shù)據(jù)交換。在公鑰加密術(shù)方案中,你生成兩把鑰匙:公鑰和密鑰。你和通信對方或鑰匙服務(wù)器互換你的公鑰,你決不應(yīng)該出示你的密鑰。
二、在Solaris的GnuPG安裝
首先先必須安裝軟件軟件包:
bzip2-1.0.5
libidn
libiconv
libintl
readline
openssl-0.9.8g
curl
openldap
sasl
zlib
限于篇幅筆者不詳細(xì)介紹了。
#gunzip gnupg-1.4.8-sol10-x86-local.gz
#pkgadd –d gnupg-1.4.8-sol10-x86-local

圖2:是gunpg安裝成功界面
另外判斷是否安裝有GnuPG的方法也很簡單。直接在命令行下輸入“gpg -h”命令,如果系統(tǒng)已經(jīng)安裝有GnuPG,就會顯示關(guān)于GPG版本和用法的信息。
上一頁12 3 下一頁 閱讀全文
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關(guān)文章