21_数字签名、证书
发布网友
发布时间:2022-10-10 21:38
我来回答
共1个回答
热心网友
时间:2023-10-09 14:23
数字签名其实就是将公钥密码反过来使用,由消息的发送者通过“私钥”生成签名,由消息的接收者通过“公钥”来验证签名。
PS:之所以要有第一步计算,是因为非对称加密的原理*可加密的内容不能太大(不能大于上述n的位数,也就是一般不能大于1024位/2048位),于是若要对任意大的数据签名,就需要改成对它的特征值签名,效果是一样的。
对某一份数据打个标记,表示认可了这份数据(签了个名),然后发送给其他人,其他人可以知道这份数据是经过我认证的,数据没有被篡改过。如果有人篡改了文件内容或者签名内容,就会导致签名验证失败,证明内容被篡改了。数字签名不能保证机密性。
要正确使用签名,有一个前提就是用于验证签名的公钥必须属于真正的发送者,如果遭遇了中间人攻击,那么公钥将是伪造的,数字签名将失效,所以在验证签名之前,首先得先验证公钥的合法性。
那么如何验证公钥的合法性?
又称公钥证书(Public-key Certificate,PKC),里面有个人信息、此人的公钥,并由权威认证机构(Certificate Authority,CA)对公钥施加的数字签名。CA 是指能够认定“公钥确实属于此人”并能够生成数字签名的个人或者组织。证书保证公钥合法性。