IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    GPG 签名与加密

    microcai (microcaicai@gmail.com)发表于 2011-04-22 00:00:00
    love 0

    首先密码学的模型

    1) 通信双方的机器是没有问题的。没有木马,没有坏人。 2) 通信线路是不可靠的,有人监听,有人伪造信息

    那么,就要解决2个问题,首先,我得确信这个信息是你发送的,不是别人伪造你 发送的,俗称数字签名, 第二,我要确保没有人知道我们之间的通信,也就是加密。

    非对称加密的意思就是,同时有2个key. 用其中一个加密,只能用另一个解密。 这样,随机选一个做私钥,另一个公开做公钥就是下面我要讲的 GPG 签名与加密。

    对于 GPG 来说,GPG 会生成一个密钥对,一个是公钥,一个是私钥。

    对于公钥,你需要将它上传到公钥服务器。 对于私钥,要绝对反正泄露,并且不能丢失!!!! 我重复,不能丢失,也不能泄露。

    如果你要让别人相信你的邮件不是伪造的,那么你就需要进行签名。 签名就是用自己的私钥加密邮件。因为公钥是公开的,所以任何人都可以解密你的 邮件。但是只有用你的私钥才能发出那封邮件,所以别人可以肯定这是你的邮件, 不是别人伪造的。这就是用私钥进行签名的原因。

    如果是发送加密邮件,那么你必须有对方的 GPG 公钥。 然后你用 对方 的 公钥 加密邮件。

    因为这个时间上只有收件人有加密时使用的公钥的对应私钥,所以只有你的收件人 能解密这个邮件. 这样你就保证了你的邮件只有他能看到。PS, 你自己也不能解 密那个邮件。因为你没有他的私钥。

    加密和签名同时使用的时候,就可以保证

    1) 他可以确信邮件是你发送的 2) 你可以确信只有他能看那封邮件

    ===================================== 但是,这个前提是,你怎么知道/确信指定的公钥就是他的? 他怎么知道/确信某 个密钥就是你的!!!!

    这就引入了一个 信任机制。

    比如 A B C

    A 通过见面得知了 B 的公钥。这个时候 A 和 B 可以相互100%确认对方的公钥。

    这个时候来了个 C . C 自称他的公钥是 XXXX 。

    C 和 A 见过面。交换过公钥。

    然后 A 就给 C 的公钥签名,

    B 收到 C 的邮件的时候,发现他的公钥被 A 签名了,B 就可以不需要亲自去核 实,就可以确定 XXXX 确实是 C 的公钥.

    其实和 SSL 的证书机制差不多的啦。 我的 GPG 公钥是

    E84C0359 , 
    

    指纹是

    85D9 2529 F2D6 EE19 CBEB A685 A4F8 533E E84C 0359

    请记住哦 ;)



沪ICP备19023445号-2号
友情链接