具体到2个问题:1.如何加密/解密一个e-mail ? 2.如何加密/解密任意一个文件 ?-*-最好能同时提供Windows下和Linux下的操作方法。谢谢。

热心网友

公钥密码技术 公钥密码技术核心思想是使用公钥密码算法的用户有一对密钥,其中一个称谓私钥,用于解密消息或对消息进行数字签名,由用户自己使用,需妥善保存,防止泄密;另一称为公钥,公布在公开位置,由其他人使用,其作用是进行加密或验证数字签名。 假设用户A要使用公钥密码技术将消息M加密传给用户B,用户A首先从公开位置查询到用户B的公钥PubKeyB,并用该公钥加密消息M得到密文PubKeyB(M),然后,用户A将密文PubKeyB(M)发送给用户B。当用户B收到密文PubKeyB(M)后,利用自己的私钥PriKeyB解密密文PubKey(M)就可以得到消息M。对于以上过程,因为消息M是以密文形式传输的,公钥密码算法保证了只有拥有私钥PriKeyB才能解密密文,所以,任何别有用心的人都无法通过网络窃听获取明文消息M。从上述过程可以看出,利用公钥密码技术传递消息之前用户A与用户B不必通过秘密渠道协商加密密钥,用户A只需在公开位置查询到用户B的公钥就可以了。公钥密码技术的这一优势是传统对称密码技术无法比拟的,它不要求通信双方在进行通信之前通过秘密渠道协商加密密钥。但采用公钥密码技术加密信息的速度远远低于采用传统对称密码技术加密信息速度。因而,在应用中经常首先利用公钥密码技术传递传统对称密码技术所需要的加密密钥,然后再使用传统对称密码技术加密所需传递的信息。 公钥密码技术的另一个优势就是消息发送者可以利用自己的私钥对发送消息进行数字签名,而消息接收者使用发送者的公钥可以验证发送者所作的数字签名。通过验证数字签名可以保证消息来源的真实性,也可以防止发生纠纷时消息发送者对发送过的消息进行抵赖。另外,数字签名还可以保证数据的完整性,因为消息篡改者无法为篡改后的消息消息伪造原始发送者所要做的数字签名。 在实际应用中,每一个用户通常有两对密钥:一对专门用来进行加解密,另一对专门用户进行数字签名与验证数字签名。对应的公钥分别称为加密公钥,验证签名公钥,对应的私钥分别称为解密私钥,数字签名私钥。 根据公钥技术的特点,用户的公钥是存放在公开位置的,需要使用时可以到公开位置查询,这样可以大大简化对密钥的管理。然而利用公钥密码技术实现数据传输安全并不意味着不存在密钥管理问题。如果用户B存放在公开位置的公钥被不法用户D替换为自己的公钥,用户A使用用户B的公钥加密信息,不法信息使用自己的私钥就可以解密通过网络传输的密文。因此在利用公钥密码技术实现数据的安全传输时,必须采取措施让用户确信自己使用的公钥确实是它所期望的用户的公钥。利用公钥基础设施PKI可以使用用户能够判断自己所使用的公钥正是所期望的公钥。二、认证机构CA与公钥证书 根据公钥密码技术原理,要想在Internet上进行安全的数据传输,必须保证其中一方拥有另一方的公钥。如何在广域网上安全得到对方的公钥,以防止假日攻击,止前主要依赖认证机构CA来实现。认证机构CA是可信的权威机构,其权威性首先体现在它的所有用户都知道其验证签名公钥及加密公钥。CA的用户U首先在CA注册,并提交自己的公钥。当注册成功,也就是CA验证了用户U身份的真实性后,CA就将用户名U,用户的公钥及另外一些用户属性放在一个文本中,对所形成的文本进行数字签名处理。文本及CA对文本的签名信息,就形成用户A的公钥证书。认证机构CA作为可信权威机构其可信性体现在CA能保证书中的用户名与公钥是致的,也就是说CA能保证基所签署的标识为用户A的证书中的公钥一定是用户A的,而且证书中的有关属性是正确的。有了CA,用户拥有了公钥证书,广域网上方便快捷的安全的通信便成为了可能。三、公钥基础设施的结构 公钥基础设施系统通常包括认证机构CA、证书与CPL数据存储区和用户三部分,其中用户包括证书申请者与证书使用者,如图1所示。 公钥证书申请者首先要生成自己的公私钥对,并将公钥与自己的身份证明材料提交给认证机构CA。认证机构CA通过用户提供的身份证明材料,验证用户的身份。如果用户提供的身份证明材料真实可信,认证机构CA为用户登记注册,并使用自己的私钥为用户签发公钥证书。公钥证书的结构如图2所示,从中可以看出公钥证书通常包括三部分内容:需要签名部分、签名算法部分和签名值部分。 需要签名部分包括证书版本号,序列号,持有者(证书主体)的公钥,有效期及其他相关信息。签名算法部分的内容标识CA对证书进行数字签名所使用的公钥签名算法。签名值部分包含的是CA使用签名算法部分所标识的签名算法,使用自己的签名私钥对需要签名部分进行数字签名的签名结果。 认证机构CA将其签发的用户公钥证书公布在公开位置,如图1中的数据存储区。从图1中可以看出,数据存储区中除了存放用户公钥证书之外,还存放证书吊销列表CRL(Certificate Revocation List),它列出了由于种种原因而吊销了的证书。 当用户A要使用用户B的公钥进行安全数据传输时,用户A首先在公钥基础设施的存储区查询用户B的公钥证书,然后使用认证机构CA的验证签名公钥验证证书中CA的数字签名。如果CA的数字签名正确,用户A还需要检查用户B的公钥证书是否被吊销,这需要通过查询认证机构CA公布的CRL来实现。当用户B的公钥证书中CA的数字签名有效,且公钥证书没有被列入CRL时,用户凡可以放心地使用用户B的公钥证书中的公钥进行安全数据传输。四、公钥基础设施提供的服务 公钥基础设施作为网络数据安全传输的基础设施通常提供下列服务: 提供进行密码操作的密码模块。用户使用这些密码模块可以进行加解密操作,也可以利用这些模块进行数字签名,验证数字签名,生成公私钥对,生成会话密钥与用户口令。 为用户提供证书服务。公钥基础设施可以帮助用户生成证书申请,也可以为用户签发证书,同时也可以为用户验证证书的有效性,如证书是否过期,是否已经被吊销等。 为用户提供密钥管理服务。包括密钥的生成,密钥备份,密钥存储,密钥恢复,密钥查询等。五、公钥基础设施的应用前景 PKI作为网络信息安全的基础设施,在给企业或组织提供可靠的安全性的同时,也可以为企业节省开支,最大可能地利用现有投资,并可以不断啬新的安全模块。特别是随着Internet的发展,基于开放式网络的电子设备应用不断深入,PKI作为保障电子商务安全的基础,在整个网络的安全交易中起着核心的作用,必将会得到更大的发展。另外,为了打破国外信息安全领域的垄断,特别是在基础领域,我国的企业和研究机构更应该研制和开发具有独立知识产权的PKI产品,构筑我国的信息安全长城。 。