区块链基础-签名和加密哪里不同
关于加密首先要说的就是对称加密和非对称加密:
对称加密
我想给一个朋友发送消息或者邮件,但是邮件的内容我不想让别人知道,但是我又不能控制邮件不被别人看到,这时我就和我这个朋友约定好,当我发送字母A,那么对应的就是C,发送的B,对应的就是D。也就是说,所有的都向后移动两位。好,这时候我和我的朋友都知道这个规则了,当我发送一封邮件时,上面的内容是看不懂的(因为都是正确的字母向前两位),当我朋友接受到邮件,他知道这个是我发送的,他就知道将所有的字母都向后移动两位,这样,就知道我发送的内容是什么了。
假如有一天有一个人知道了我们的规则,那么我们的所有信息都被看见了,如果这是在战争时代,后果不堪设想。
非对称加密
假如我的朋友有两个文件,或者我们直接称作密钥,当我使用其中一个文件对我发送的内容加密,然后生成一些看不懂的文字,我再发送给我的朋友,此时我的朋友使用他的另外一个文件来解密,看到的东西就是我发送的真实内容,反过来我朋友发送邮件给我时也是一样,这样加密就是非对称。每个人有两个密钥,一个叫做公钥,另一个叫做私钥。公钥是公开的,所有人都可以知道,密钥是自己的,不能给任何人。当我们发送邮件给我的朋友时,使用他的公钥来加密内容,他再使用私钥来解密内容,这样就是非对称的,即使是我发送的邮件,我也不能解密用我朋友公钥加密过的内容。
公钥和私钥是使用特定算法生成的,也就是所他俩是一对,我的私钥是解不开用别人公钥加密过的内容的。
当我们理解了公私钥之后,就很好理解加密和签名了
加密
在介绍非对称加密时,我们已经说的差不多了,当我使用其他人的公钥来将真实内容加密,目标人再使用自己特有的私钥解密,这就叫做加密。因为公钥是公开的,我想给谁发送消息就使用对方的公钥就好,而对方的私钥是独有的,只有对方才可以解开,而且只有公钥配对的私钥才可以解密公钥加密过的内容。
签名
当我们在办理一些业务时,经常需要手动签名,目的就是说这个是经过我本人同意的,别人才可以继续操作。
我们知道使用私钥是可以解密用对应公钥加密过的内容的,返回来也是一样,我使用公钥也可以界面私钥加密的内容。这就是签名,我使用私钥将内容加密,对方使用我的公钥将内容解密,之后一看内容是正确的,就可以根据具体内容来具体操作了。
因为私钥的独有的,所以我使用你的公钥能解密就认为这个加密的人一定是你。但是,如果一旦私钥泄露了,那么对方是不知道你的私钥泄露了,只要对方认为能使用你的公钥解密,就认为你是认可的。
在区块链中,签名大多数用来发送交易,也就是说我使用我的私钥加密这个交易,然后对方使用我的公钥来解密,解密开以后,可以根据消息的具体内容类决定转账给谁,和转账多少钱。好了,今天就说到这里。
感谢阅读,祝大家生活愉快!