ºìÁªLinuxÃÅ»§
Linux°ïÖú

GNU Privacy Guard¼ÓÃÜÖ¸ÄÏ

·¢²¼Ê±¼ä:2014-05-31 16:29:31À´Ô´:ºìÁª×÷Õß:velcbo
À´Ô´£ºlinux.cn

¼ÓÃܼ¼Êõ¿ÉÒÔ±£Ö¤ÄãµÄÎļþʹÓüÓÃÜÐÎʽ´æ´¢£¬²»¹ÜÄãÊÇÒª°ÑËü¹«¿ªµ½ÒòÌØÍø£¬±¸·Ýµ½·þÎñÆ÷£¬ÓÃUÅÌЯ´ø£¬»¹ÊDZ£´æÔڱʼDZ¾Àï¡£¼ÓÃÜÄãµÄÊý¾Ý£¬Òâζ×ųý·ÇÊÇÄãÈϿɵĽÓÊÕÕߣ¬ÆäËûÈ˶¼²»¿ÉÒÔ¶ÁÈ¡£¬ÕâÑù¿ÉÒÔ·ÀÖ¹ÐÅϢй©¡£

GPGÊÇGNU Privacy GuardµÄËõд¡£ËüÊÇÒ»ÖÖ»ùÓÚÃÜÔ¿µÄ¼ÓÃÜ·½Ê½£¬Ê¹ÓÃÁËÒ»¶ÔÃÜÔ¿¶ÔÏûÏ¢½øÐмÓÃܺͽâÃÜ£¬À´±£Ö¤ÏûÏ¢µÄ°²È«´«Êä¡£Ò»¿ªÊ¼£¬Óû§Í¨¹ýÊý×ÖÖ¤ÊéÈÏÖ¤Èí¼þÉú³ÉÒ»¶Ô¹«Ô¿ºÍ˽Կ¡£ÈÎºÎÆäËûÏë¸ø¸ÃÓû§·¢ËͼÓÃÜÏûÏ¢µÄÓû§£¬ÐèÒªÏÈ´ÓÖ¤Êé»ú¹¹µÄ¹«¹²Ä¿Â¼»ñÈ¡½ÓÊÕÕߵĹ«Ô¿£¬È»ºóÓù«Ô¿¼ÓÃÜÐÅÏ¢£¬ÔÙ·¢Ë͸ø½ÓÊÕÕß¡£µ±½ÓÊÕÕßÊÕµ½¼ÓÃÜÏûÏ¢ºó£¬Ëû¿ÉÒÔÓÃ×Ô¼ºµÄ˽ԿÀ´½âÃÜ£¬¶øË½Ô¿ÊDz»Ó¦¸Ã±»ÆäËûÈËÄõ½µÄ¡£
GPG ʹÓù«Ô¿ºÍ˽Կ

¹«Ô¿ÊÇÄã¹²Ïí³öÀ´µÄÒ»¸ö¹«¿ªÃÜÔ¿£¬Ëü¿ÉÒÔ±»·¢¸øÈκÎÄãÏ£ÍûÊÕµ½¼ÓÃÜÐÅÏ¢µÄÈË£¬ËûÃÇ¿ÉÒÔʹÓÃÄãµÄ¹«Ô¿À´¼ÓÃÜÐÅÏ¢¡£¹«Ô¿±¾Éí²»ÄÜÓÃÀ´½âÃÜ×Ô¼º¼ÓÃܹýµÄÐÅÏ¢£¬Ö»ÓÐÄã×Ô¼º----ÄǸöÓµÓжÔӦ˽ԿµÄÈË----Äܹ»½âÃÜ¡£Ë½Ô¿ÊÇÄã×Ô¼ºµÄ˽ÈËÃÜÂ룬¿ÉÒÔÓÃÀ´½âÃÜÓÃÄãµÄ¹«Ô¿¼ÓÃܹýµÄÐÅÏ¢¡£Èç¹ûÄã°Ñ˽Կй©¸ø±ðÈË£¬ÄÇôËû½«¿ÉÒÔ½âÃܲ¢²é¿´ÄÇЩʹÓÃÄãµÄ¹«Ô¿¼ÓÃܹýµÄÐÅÏ¢¡£

ÔÚÖÕ¶ËÀïʹÓÃGPG

Èç½ñ´ó¶àÊýµÄLinux·¢Ðа涼ĬÈϰüº¬ÁËGPG¡£Ïë¼ì²éÒ»ÏµĻ°£¬´ò¿ªÖն˲¢ÊäÈ룺

$ gpg --version

È»ºóÄãÓ¦¸Ã¿´µ½°æ±¾¡£Èç¹ûÊÇÕâÑùµÄ»°£¬Äã²»ÐèÒª×öÆäËûÊÂÇéÁË¡£·ñÔò£¬ÄãÐèÒª´ÓÄãµÄ·¢ÐаæÈí¼þ²Ö¿âÀï°²×°GPG¡£
Éú³ÉÃÜÔ¿

ÏëʹÓÃGPGÀ´¼ÓÃÜÄãµÄͨѶ£¬ÄãÐèÒªÏÈ´´½¨Ò»¶ÔÃÜÂë¡£Ê×ÏÈ£¬´ò¿ªÖն˲¢ÔËÐÐÏÂÃæµÄÃüÁ

$ gpg --gen-key

È»ºó»áÓÐÈçÏÂÌáʾ£º

Pleaseselect what kind of key you want:
(1) DSA andElgamal(default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection?

ÕâÀïҪѡÔñÊý×Ö1£¬ÒòΪËü¿ÉÒÔÓÃÀ´¼ÓÃܺͽâÃÜ£¬µÚ¶þºÍµÚÈý¸öÑ¡ÏîÖ»ÄÜÈÃÄã¸øÐÅϢǩÃû¡£°´ÏÂÊý×Ö1£¬È»ºó°´»Ø³µ¡£

È»ºó»áÓÐÈçÏÂÌáʾ£º

1 DSA key-pair will have 1024 bits.
2 ELG-E keys may be between 1024and4096 bits long.
3What key-size do you want?(2048)

ÕâÀï×îºÃÊäÈë¡°2048¡±£¬¾ÍÏñGPGÍÆ¼öµÄÄÇÑù¡£Èç¹ûÄ㲻ϣÍûÄãµÄÃÜÔ¿¹ýÆÚµÄ»°£¨ÔÚºóÃæµÄÌáʾÀѡÔñ0£©¡£Èç¹ûÓÐÌáʾ˵ÐÅÏ¢ÊÇ·ñÕýÈ·µÄ»°£¬»Ø´ðYes£¬È»ºóÊäÈëÄãµÄÕæÊµÃû×Ö£¬emailµØÖ·£¬ÒÔ¼°Ò»¸ö˵Ã÷£¨¿ÉÑ¡µÄ£©¡£Èç¹ûÒ»ÇÐ˳Àû£¬°´Ï¡°Å¶¡±£¨¶ÔÓ¦×ÅOK£©È»ºó»Ø³µ¡£

ÔÚÕâÖ®ºó£¬»áÌáʾÄãÊäÈëÒ»¸öÃÜÂ룬ÃÜÂë»áÒªÇóÖØ¸´ÊäÈëÒ»´Î¡£Í¨³££¬ÇëʹÓÃÒ»¸öÄÑÓÚÆÆ½âµÄ¼ÓÇ¿ÃÜÂ룬¶ø²»ÍƼöÓÃÃû×Ö/µØÖ·/ÉúÈÕ/µ¥´ÊµÈµÈÀ´×öÃÜÂë¡£

ÔÚÊäºÃÃÜÂëÖ®ºó£¬Çë°´ÕÕÖÕ¶ËÀïµÄÌáʾÐÅÏ¢×ö£ºÎÒÃÇÐèÒªÉú³É´óÁ¿µÄËæ»úÊý£¬½¨ÒéÄúÔÚÉú³ÉËØÊýµÄ¹ý³ÌÖÐ×öÒ»ÏÂÕâЩ¶¯×÷£¨Çû÷¼üÅÌ£¬Òƶ¯Êó±ê£¬¶ÁдӲÅÌ£©£¬ÕâÑù»áÈÃËæ»úÊýÉú³ÉÆ÷Óлú»á»ñÈ¡¸ü´óµÄìØ¡£

Éú³ÉºÃÃÜÔ¿ÒÔºó£¬ÄãÓ¦¸Ã»á¿´µ½Ò»ÌõÀàËÆµÄÌáʾÐÅÏ¢£ºgpg: key 083C39A4 marked as ultimately trusted. public and secret key created and signed.

ÃÜÔ¿·þÎñÆ÷

ÃÜÔ¿·þÎñÆ÷ÊÇÓÃÀ´·¢²¼ÄãµÄ¹«Ô¿£¬²¢½«Æä·Ö·¢µ½ÆäËûÈ˵ķþÎñÆ÷£¬ÕâÑùÆäËûÓû§¿ÉÒÔÇáËɵĸù¾ÝÄãÊý¾Ý¿âÖеÄÃû×Ö£¨»òÕße-mailµØÖ·£©À´»ñÈ¡ÄãµÄ¹«Ô¿£¬²¢¸øÄã·¢ËͼÓÃÜÐÅÏ¢¡£ÕâÑù¿ÉÒÔ±ÜÃâ°Ñ¹«Ô¿Ö±½Ó¿½±´¸øÄãµÄÅóÓѵķ½Ê½£¬¶øÈÃÆäËûÈËÖ±½Óͨ¹ýÔÚÏßÊý¾Ý¿âÀ´ÕÒµ½Äã¡£

ÉÏ´«ÄãµÄ¹«Ô¿µ½ÃÜÔ¿·þÎñÆ÷£º

$ gpg --send-keys --keyserver [keyservers.address.com][yourpublicid]

ÄãÐèÒª°Ñkeyservers.address.comÌæ»»³ÉÄãÑ¡ÔñµÄ·þÎñÆ÷£¨»òÕßÓÃmit.edu£¬Ëü»á¸úÆäËû·þÎñÆ÷×öͬ²½£©£¬»¹ÐèÒª°ÑÃüÁîÐÐÖеÄyourpublicidÌæ»»³ÉÄãµÄ¡£×îÖÕÖ´ÐеÄÃüÁî¿´ÉÏÈ¥»á´ó¸ÅÊÇÏÂÃæÕâÑù×Ó£º

$ gpg --send-keys --keyserver hkp://pgp.mit.edu 083C39A4

¼ÓÃÜÎļþ

Èç¹ûÄãÏë¸øÄãµÄÅóÓÑ·¢ËÍÒ»¸öÓÃËûµÄ¹«Ô¿¼ÓÃܹýµÄÎļþ£¬¿ÉÒÔÓÃÏÂÃæµÄÃüÁ

$ gpg -o encrypted_file.gpg --encrypt -r key-id original.file

ÃüÁî½âÊÍ£º

-o encrypted_file.gpg =Ö¸¶¨Êä³öÎļþ
--encrypt =×ö¼ÓÃÜ
-r =½ÓÊÕÕßµÄKEY-ID£¬±ÈÈçÕâÀï¾ÍÌîÄãÅóÓѵÄKEY-ID¡£
original.file =Ö¸¶¨Òª¼ÓÃܵÄÎļþ

½âÃÜÎļþ

Èç¹ûÓÐÈ˸øÄã·¢ËÍÁËÒ»¸öÓÃÄãµÄ¹«Ô¿¼ÓÃܹýµÄÎļþ£¬Äã¿ÉÒÔ°´ÏÂÃæµÄ·½Ê½½âÃÜ£º

$ gpg --decrypt filename.gpg

¶Ô³Æ¼ÓÃÜ

Ä㻹¿ÉÒÔʹÓÃGPG×ö¶Ô³Æ¼ÓÃÜ£¬À´¸øÎļþ¼ÓÉÏÒ»¸öÃÜÂë¡£ÕâÖÖ²»Í¬ÓÚ¹«Ô¿¼ÓÃܵķ½Ê½£¬ÔڶԳƼÓÃÜÖУ¬Í¬Ò»¸öÃÜÔ¿ÓÃÓÚ¼ÓÃܺͽâÃÜ¡£ÕâÖÖ·½Ê½ÔÚ´¦ÀíÐÅÏ¢µÄʱºò»á¼òµ¥µã£¬µ«ÊDZ£ÃÜÐÔûÄÇôºÃ£¬ÒòΪÐèÒª°ÑÃÜÂë¸æËß½ÓÊÕÕß¡£ÏÂÃæÊÇÓÃÃÜÂë¼ÓÃÜÎļþµÄÃüÁ

$ gpg -c filename.txt

½âÃÜÕâ¸öÎļþ£¬ÓÃÏÂÃæµÄÃüÁ

$ gpg filename.txt

È»ºó£¬»áÌáʾÄãÊäÈëÃÜÂ룬֮ºó¾Í¿ªÊ¼½âÃÜÎļþ¡£
ÎĵµÊý×ÖÇ©Ãû

Êý×ÖÇ©Ãû·Ç³£ÀàËÆÓÚÄãÔÚÐżþ»òÕßÖØÒªÎļþµÄĩβǩÉÏ×Ô¼ºµÄÃû×Ö£¬Ëü±íʾÕâ·ÝÎļþȷʵÊÇÓÉÄã·¢³öÀ´µÄ¡£Í¨¹ýÊý×ÖÇ©Ãû£¬Ëü»á¼ÆËãÕû¸öÎļþÄÚÈݵÄSHA1¹þÏ£Öµ£¬È»ºó°ÑÕâ¸öÖµ¸½¼Óµ½Ç©Ãûĩβ¡£Èç¹ûÎļþÄÚÈݱ»´Û¸Ä£¬Ç©ÃûµÄУÑé¾Í»áʧ°Ü£¬¿ÉÒÔÓÃÀ´¼ø¶¨Î±Ôì¡£Èç¹ûÓû§×Ô¼ºÔÚÇ©Ãûºó±à¼­ÁËÕâ·ÝÎļþ£¬Ç©ÃûУÑéÒ²»áʧ°Ü£¬ÒòΪ´ËʱÎļþµÄSHA1¹þÏ£ÖµÒѾ­ºÍ֮ǰǩÃûʱ²»Í¬ÁË¡£

¶ÔÒ»·ÝÎļþ×öÊý×ÖÇ©Ãû£¬ÔËÐÐÏÂÃæµÄÃüÁ

$ gpg --clearsign filename.txt

Éú³ÉÏú»ÙÃÜÔ¿

Ïú»ÙÃÜÔ¿¿ÉÒÔÔÚÄãµÄ˽Կй©»òÕß»³ÒÉй©µÄʱºò£¬µõÏúÄãµÄ¹«Ô¿¡£Ê¹ÓÃÏÂÃæµÄÃüÁî´´½¨Ò»¸öÏú»ÙÃÜÔ¿£º

$ gpg --output revoke.asc --gen-revoke keyid

°ÑÏú»ÙÃÜÔ¿±£´æµ½Ò»¸ö°²È«µÄµØ·½£¬ÈκÎÈ˶¼¿ÉÒÔÓÃËüÈÃÄãµÄÃÜԿʧЧ¡££¨Äã¿ÉÒÔÓöԳƼÓÃÜ·½Ê½À´¼ÓÃÜÄãµÄÏú»ÙÃÜÔ¿Îļþ¡££©
ÔÚÖÕ¶ËÀïʹÓÃGPGµÄһЩ¼¼ÇÉ

ͨ¹ýÏÂÃæµÄÃüÁî¿ÉÒԲ鿴ÄãÒѾ­µ¼ÈëµÄGPGÃÜÔ¿£º

$ gpg --list-keys

Ö®ºóÓ¦¸Ã»áÁгöÀ´ÓÃÄãe-mail×¢²áµÄÃÜÔ¿ÁÐ±í£¨ÒòΪÕâÀïÖ»ÓÐÒ»¸öÃÜÔ¿£¬ËüÖ»ÁгöÁËÄã×Ô¼ºµÄÃÜÔ¿£©£¬È»ºó£¬Äã¿ÉÒÔ¿´µ½×Ô¼ºµÄKEY-ID£¬¾Í¿ÉÒÔͨ¹ýÉÏÎĽéÉܵÄÃüÁîÌá½»¸øÃÜÔ¿·þÎñÆ÷¡£

ÏÔʾÄãµÄÃÜÔ¿Á´ÖеÄ˽ԿºÍ¹«Ô¿¡£

$ gpg --list-public-keys # »áÁгöÀ´¹«Ô¿
$ gpg --list-secret-keys # »áÁгöÀ´Ë½Ô¿

µ¼ÈëÃÜÔ¿

$ gpg --import KEYFILE

ÃüÁîÖеÄKEYFILEÓ¦¸ÃÊÇÐèÒªµ¼ÈëµÄ¹«Ô¿ÎļþÃû¡££¨Èç¹ûÎļþ²»ÔÚÖ÷Ŀ¼ÖУ¬Ê¹ÓÃcdÃüÁîÇл»µ½¸ÃÎļþµÄĿ¼Ï£¬ÔÙÖ´ÐÐÉÏÃæµÄÃüÁ
µ¼³ö¹«Ô¿µ½Îļþ

ÓÃÏÂÃæµÄÃüÁî¿ÉÒÔ½«ÄãµÄ¹«Ô¿µ¼³öΪASCII¸ñʽ£º

$ gpg --export-a > publickey.asc

* * * * *
¹ØÓÚRichard White

RichardÊÇһλ¼¼Êõ°®ºÃÕߣ¬ÔÚ²»Ö¹Ò»¸ö³¡ºÏËû±»³ÆÎª¼«¿Í¡£Ëû»¹ÊÇÈý±¾ÊéµÄ×÷Õߣ¬×î½üµÄÒ»±¾¡¶Êý×Öʱ´úµÄÒþ˽¡·¼´½«ÔÚ2014Äê5Ô·ݳö°æ¾«×°±¾¡£Ëû»¹ÊÇÊý×Öʱ´úÍøÕ¾µÄÖ÷±àºÍÇý¶¯Õߣ¬Êý×Öʱ´úµÄÄ¿µÄÊÇÌṩ×ÊÔ´ºÍ¹¤¾ßÀ´ÊµÏÖºÍά»¤ÄäÃû£¬°²È«ºÍÒþ˽¡£Ricard¾­³£Ð´Ò»Ð©ºÍÒþ˽Ïà¹ØµÄÎÄÕ£¬×î½üæ×Åд¡¶CLIÒÕÊõ¡·£¬ÊÕ¼¯¿ªÔ´µÄÃüÁîÐÐÈí¼þ¡£¹ØÓÚGNU Privacy GuardµÄ¸ü¶àÐÅÏ¢ÒÔ¼°ÈçºÎʹÓÃGPGÈí¼þµÄͼÐνçÃæ¹¤¾ß£¬Äã¿ÉÒÔ·ÃÎÊWhiteµÄÊý×Öʱ´úÍøÕ¾¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ