作者 | Shiva Sai Kumar B
翻译 | 火火酱,责编 | Carol
出品 | 区块链大本营(ID:blockchain_camp)
加密技术让区块链技术变得更加强大,并逐渐从其他技术中脱颖而出。密码学使用了先进的数学原理和方法来传输和存储数据,这种存储方式要求只有数据接收者才能对数据进行读取和处理。
“加密是密码学的核心概念——它以一种‘除了接收者以外没有任何人可以解密’的方式对消息进行编码,因为其他人无法理解消息格式,所以它可以防止数据被窃听者窃听。”
先快速介绍一下加密技术。凯撒(Caesar)首先使用凯撒密码来加密他的消息:将纯文本加密为密文,然后通过通信通道发送,中间过程中没有任何窃听者能够阅读和理解该文本。当在接收器端进行接收时,密文将被解密为纯文本。
加密技术的两种类型:
1. Symmetric cryptography 对称加密
2. Asymmetric cryptography 非对称加密
对称加密技术
对称加密技术与凯撒密码技术相同,使用单个密钥来对数据进行加密和解密。为了更好地理解这一过程,我将这一过程可视化为下图:
但对称加密也存在缺陷。
发送方和接收方都必须使用相同的密钥。使用相同的密钥虽然也可以,但是其中存在一个问题是我们如何在共享密钥的同时保证密钥不被窃听者拦截?
假设我们要用对称加密技术传输数据,并保证数据不被其他人截获,那么我们就必须要将密钥共享给接收者。如果接收者住在附近,我们可以直接用信封或其他线下办法把密钥交给他,但是如果接收者来自其他州或其他国家的话该怎么办?在这种情况下,发送密钥的任务变得十分困难,因此要克服此问题,就要用到另一种名为“非对称加密”的技术。
我们在区块链技术中使用的正是这种非对称加密技术。
非对称加密技术
非对对称加密技术使区块链技术的机制更加稳健,并且解决了对称加密技术的弊端。
“非对称加密技术比对称加密技术稍微复杂一点,二者之间的主要区别是:对称加密使用共享密钥来解密数据,非对称加密使用密钥对来解密数据”。
密钥对由两部分组成:公钥和私钥。
下面我们以Gmail为例,假设我们需要向个人或公司发送邮件:
1. Gmail的每个用户都有自己的的用户名和密码。
2. 用户通过接收者的用户名发送信息。
3. 接收者收到来自发送者的信息,并读取内容。
同样的过程也适用于非对称加密技术。
“每个用户都有像自己用户名一样的公钥,所有人都能看到,但无权访问其中的数据。私钥就像你的邮箱密码一样,帮助你将数据发送给另一个人”。
要想发送数据,首先,我们要有私钥(即密码)以及接收者的公钥(即用户名),这使加密技术变得更加复杂。
然后,接收者使用其私钥(即密码)和发送者的公钥(即用户名)来对数据进行解密。这保证了数据在传输过程中免受窃听者的攻击,该加密系统也变得更加坚固。
不需要中间人,我们就可以将数据发送给这个世界上的任何人。
同样,为了更好地理解该过程,我也将其可视化为下图:
数字签名
现在,当你要通过邮箱ID发送邮件时,接收者通过查看用户名就能知道你是发件人。没有密码的话是无法发送数据的,即你要为通过自己的用户名发送的任何邮件负责。因为没有密码的话,任何人都无法进入你的帐户。
同样,如果没有私钥,就没有人可以通过你的公钥发送消息。通过你的公钥发送信息的只能是你一人,其他人都无法过你的地址发送消息。只不过我们必须更加小心一点,因为对于Gmail来说,我们可以通过中央数据库来检索密码,但是区块链是分散的,因此你要更小心谨慎地保存好自己的私钥。
当我们通过私钥发送数据时,该数据会由我们的数字签名进行签名,并且具有不可抵赖性,这意味着发送消息的人必须拥有私钥才可以。
“如果你使用私钥加密(“锁定”)了某物,则任何人都可以对其进行解密(“解锁”),但这可以作为对其进行加密的证据:该物已由你进行“数字签名”的。”
——PanayotisVryonis