区块链和密码学是相辅相成的过程。密码学知识在区块链中被广泛使用。同样,为了满足区块链的不同场景,密码学的进一步发展也被反向推进。
密码学是区块链技术的核心。所有的事务信息都被编码到块中,99金银这些块被连接在一起形成一个区块链结构。
随着计算机时代的到来,密码学上升到了一个新的水平。那么,密码学在区块链中可以做什么,它扮演什么角色?今天我们将讨论这个话题。
本文将介绍区块链中密码学的具体用法,以了解为什么区块链可以防止消息被篡改,以及如何执行数字身份验证。如何通过多个签名让多人共同管理一个账户的比特币交易。
布隆过滤器
Bloom filter是一种基于散列的高效查找结构,可以快速确定某个元素是否在集合中。
首先,让我们回顾一下基于散列的快速查找。由于哈希算法具有一对一的对应关系,即内容对应于哈希值,哈希值可以转换为二进制代码,二进制代码自然构成了“内容索引”。一个结构。
对于给定的内容和存储数组,可以通过构造散列函数来实现快速的基于内容的查找,这样散列值的总数就不会超过数组的大小。如果“算法改变生命”的散列值为“1000”,则存储在数组的第1000个单元中。如果需要快速查找任何内容,如“算法改变生命”字符串存储在存储系统中,只需要计算散列值,并使用散列值查看系统中相应的元素。
Bloom过滤器使用多个散列函数来提高空间利用率。对于相同的给定输入,多个哈希函数计算多个地址,这些地址在相应的地址处标记为1。执行查找时,执行相同的计算过程,并检查相应的元素。如果两者都是1,说明输入存在的概率很大。
使用单一哈希算法搜索Bloom过滤器,极大地提高了空间利用率,并且可以使用更少的空间来表示更大集合的存在。上面提到的散列查找和Bloom filter的基本思想是基于内容寻址的。
同态加密
同态加密可以直接对密文进行处理,对明文进行处理后对处理结果进行加密,得到的结果是相同的。同态加密保证处理器不能访问数据本身。
同态是什么?它来自于代数领域,包括四种类型:加法同态、乘法同态、减法同态和除法同态。同时满足加法同态和乘法同态意味着它是一个代数同态,即完全同态。同时,满足四个同态称为算术同态。
在计算机中实现完全同态意味着可以实现所有进程的同态。只有在一个特定的操作中才能实现的同态称为一个特定的同态。
区块链中的应用:使用同态加密技术,在区块链上运行的智能契约可以在不知道真实数据的情况下处理密文,大大提高了隐私安全。
虽然同态加密的优点是明显的,并且已经实现,金银行情但问题是需要更高的计算时间或存储成本,这是与传统加密算法的性能和强度的差距。因此,机遇与困难并存。谁解决了这些困难,谁就会抓住机会。
数字签名
数字签名可以验证数字内容的完整性并确认其来源,具有不可抵赖性。理论上,所有的非对称加密算法都可以用来实现数字签名。常用的算法有DSA(数字签名算法)和ECSDA(椭圆曲线数字签名算法)。特别的数码签署技术已发展,以配合特定的保安需要:
盲签名:签名者需要在看不到原始内容的情况下对信息进行签名。实现对被签名内容的保护,防止签名者看到原始内容;同时防止了跟踪预防,签名者无法将签名内容与签名结果进行匹配。
多重签名:当收集到x个签名时,至少y (x >= y >= 1)个签名被认为是合法的。x是提供的公钥数量,y是匹配公钥所需的最小签名数量。它可以有效地应用于多人投票支持共同决策的场景。比特币交易支持多签名,允许多人共同管理一个账户的比特币交易。
组签名:一个组的成员可以匿名地代表一个组签名。签名验证哪个成员来自组,但不能准确跟踪签名。也存在一些问题,即组签名需要组管理员添加新的组成员,因此存在组管理员可能跟踪签名成员的风险。
环签名:签名者首先选择一组包括签名者本身的临时签名者。签名可以使用签名集合中其他人的私钥和公钥独立生成,无需其他人的帮助。签名者集合的其他成员可能不知道它们包含在最终签名中。环签名的主要目的是保护匿名性,属于简化的群签名。
数码证书可分为两类:
加密的数字证书:用于保护用于加密目的的公钥。
签名验证数字证书:保护用于签名目的的公钥。
这两种类型的公钥也可以同时放在同一个证书中。同时,证书需要由证书颁发机构CA签发和认可。权威的商业认证机构包括DigiCert、GlobalSign等。用户还可以构建自己的CA系统,以便在专用网络上使用。
数字证书内容可以包括证书域(证书版本、序列号、签名算法类型、发布方信息、过期日期、已发布主体、已发布公钥)、CA的证书签名算法和签名值。证书的颁发者还需要使用自己的私钥对证书内容进行签名,以防止其他人篡改证书内容。
PKI的全称是公钥基础设施公钥基础设施,是基于公钥和私钥的安全可靠的消息传递和身份确认的通用框架。包含3个核心组件:
CA:认证机构的全称,负责颁发和撤销证书,接收来自RA的请求。
RA:注册机构全称,验证用户身份,验证数据合法性,负责注册,审核后发给CA;
证书数据库:存储证书,主要采用X.500系列标准格式。用户信息可以与LDAP目录服务一起管理。
CA是核心组件,负责维护证书信息的维护。通常的操作流程为:
用户通过RA注册申请证书,提供身份和认证信息等→CA审核后,制作证书发给用户。→如果用户需要撤销证书,则需要再次将应用程序发送到CA。
总结
回顾这篇文章,我们主要解释了密码学中的一些核心问题和经典算法。我相信读者对现代密码学的发展和关键技术有了初步的了解。
掌握这些知识有助于理解区块链系统是如何实现隐私保护和安全的。现代密码安全技术是以专业的现代数学知识为基础的。如果你想深入研究它的原理,你需要学习更多的现代数学,尤其是数论和抽象代数。
区块链和密码学是相辅相成的过程。密码学知识在区块链中被广泛使用。同样,为了满足区块链的不同场景,密码学的进一步发展也被反向推进。