À´Ô´£º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µÄÊý×Öʱ´úÍøÕ¾¡£