1. 数字签名/信息摘要
相反,如果某一用户使用他的私钥加密明文,任何人都可以用该用户的公钥解密密文;由于私钥只由该用户自己持有,故可以肯定该文件必定出自于该用户;公众可以验证该用户发布的数据或文件是否完整、中途有否曾被篡改,接收者可信赖这些数据、文件确实来自于该用户,这被称作数字签名,大部分国家已经立法承认数字签名拥有等同传统亲笔签名的法律效力。
公钥可以透过数字证书认证机构签授的电子证书形式公布,接收者透过信任链形成一套完整的公开密钥基础建设。例如,从网上下载的安装程序,大部分都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。而现时的网上银行或购物网站都会使用 HTTPS,避免沟通过程中的信息泄露。
1.1. 数字签名算法
Message Digest commands (see the `dgst' command for more details)
gost-mac md4 md5 md_gost94
ripemd160 sha1 sha224 sha256
sha384 sha512 streebog256 streebog512
whirlpool
1.2. 信息摘要
OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法。此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1。