数字签名也许,公匙加密术最激动人心的方面就是数字签名的产生和确认。它基于一种数学变换,这种数学变换以如下方式将密匙和被签数据结合起来:
1. 只有拥有密匙的人才能产生数字签名。
2. 任何尤其有权使用公匙的人都能确认数字签名。
3. 被签数据的任何更改(即使仅仅改变了一个大文件中的一个字节)都会使数字签名无效。
数字签名也是数据,所以他们能够随着被保护的被签数据一起发送。例如,Bob可以产生一封给Alice的签过名的e-mail消息,签名将随着消息文本一起发送,向Alice 提供确认消息来源的信息。另外,签名还提供了一种方法,一确保数据在发源地到目的地的传输过程中不被篡改(不管是无意还是有意)。正因如此,他们可以用来提供一种保障的数据完整性机制。PK加密术可以用来提供健壮的分布式鉴定服务,实体鉴定保证数据的发送者是数据接收者所希望的。一种可能的方法是,数据的接收者Alice发送一个检测新信息给数据接收者Bob,用Bob的公匙加密,然后Bob将这个信息解码并发回给Alice,以证明他有权使用与Alice用来发布检测信息的公匙相关联的私匙。另一种方法是,Alice发送一个明文挑战(plaintext challenge)给Bob,然后Bob在挑战(challenge)中加入已被数字签名的其他消息。Alice再用Bob的公匙验证签名来证明Bob有相应的私匙。挑战(challenge)确保消息是唯一的,防止了有敌意的第三方通过重放(replay)进行攻击。无论哪一种方法,挑战(challenge)都被认为是财产协议的证明,因为发送方要证明他有权使用特定的私匙。