区块链技术之密码学

密码学是研究编制密码和破译密码的技术科学,研究密码变化的客观规律,应用于编制密码以保守通信秘密的,成为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。

在区块链中重要问题之一就是区块链如何安全?什么是区块链安全?区块链安全性建立在密码学和散列两个概念之上。

区块链中的密码学

密码学是一种保护数据免遭未经授权访问的方法。在区块链中,密码学用于保护区块链网络中两个节点之间发生的交易。如上所述,在区块链中有两个主要概念加密和散列。密码学用于加密P2P网络中的消息,哈希用于保护区块链中的块信息和链接块。

密码学主要侧重于保护参与者、交易的安全和防止双重支出。它有助于保护区块链网络中的不同交易。它确保只有交易数据所针对的个人才能获取、读取和处理交易。

密码学在区块链中的作用

区块链是用一个系列不同的密码学概念开发的。密码学技术的发展促进了对区块链进一步发展的限制。

  1. 在区块链中,密码学主要用于保护用户隐私和交易信息,保证数据的一致性

  1. 密码学的核心技术包括对称加密和非对称加密。

  1. 非对称密码学使用数字签名进行验证,每笔记录到区块的交易都由发送方通过数字签名进行签名,确保数据不被破坏。

密码学在保持公共网络安全起着关键作用,因此适当维护区块链的完整性和安全性。

密码学

密码学是一种技术或一组系欸,可在通信过程中保护来自任何第三方的信息。它是由两个希腊术语组成,Kryptos术语意为“隐藏”和Braphein,意为“书写”。与密码学相关的一些术语:

  1. 加密:将普通文本转换为随机位序列

  1. 密钥:需要一些信息来获取密码算法的信息

  1. 解密:加密的逆过程,将随机位序列转换位明文。

  1. 密码:数学函数,即用于将明文转换为密文(随机位序列)的密码算法。

密码学类型

两种类型的密码学是对称密钥密码术和非对称密钥加密,接下来,让我们详细讨论他们。

  1. symmetric-key encryption:它着重于加密和解密的相似密钥。最重要的是,对称密钥加密方法也适用于安全的网站连接或者数据加密。它也是秘密密钥密码术。唯一的问题是发送方和接收方以安全的方式交换密钥。流行的对称密钥加密系统是数据加密系统(DES)。加密算法利用密码中的密钥来加密数据,并且必须访问数据。委托密钥的人可以解密数据。示例:AES\DES等。

     特征:

  • 它也被成为密钥密码术

  • 双方拥有相同的保密钥匙

  • 它适用于批量加密

  • 它需要更少的计算能力和更快的传输

  1. 非对称密钥加密:这种加密方法在加密和解密过程中使用不同的密钥。这种加密方法使用公钥和私钥方法。这种公钥方法可以帮助完全未知的各方在他们之间共享信息,利用电子邮件ID。私钥有助于解密消息,也有助于验证数字签名。密钥之间的数学关系是私钥不能从公钥推导出来,但是公钥可以从私钥推导出来。示例:ECC\DSS等。

     特征:

  • 它也是被称为公钥加密

  • 它通常用于共享对称密码学的密钥

  • 它需要很长的处理时间才能执行

  • 在网站服务器真实性中起着重要作用

钱包和数字签名

区块链钱包是一种特殊的软件或者硬件设备,用于保存用户的交易信息和个人信息。区块链钱包不包含实际货币。钱包用于保存私钥和维持交易余额。

钱包只是一种通信工具,用于与其他用户进行通信以进行交易。真实的数据或货币存储在区块链中的块中。

数字签名就像是用户提供给接收方和网络中其他节点的证明,以证明它是网络中合法的节点,可以进行交易。在与区块链网络中的其他节点发起交易时,用户首先必须通过使用特殊算法将交易数据与用户的私钥相结合来创建唯一的数据签名。这个过程将保证节点的真实性和数据的完整性。

区块链中的密码学哈希函数

密码学最著名的用途之一是密码散列。散列使区块链中的不变性成为可能。密码散列中的加密不涉及任何密钥的使用。当交易被验证时,哈希算法将哈希加到块中,并将原始交易的新的唯一哈希添加到块中。哈希继续组合或生成新的哈希,但原始足迹任然可以访问。单个组合哈希称为根哈希。哈希函数有助于链块以及维护块内数据的完整性,块数据中的任何更改都会导致区块链中断。一些常用的散列函数是MD5和SHA-1。

加密哈希的属性:

  1. 对于特定的消息,散列函数不会改变

  1. 数据的每一次微笑变化会导致哈希值发生重大变化

  1. 无法从输出哈希函数中猜测输入值

  1. 它们快速高效,因为他们主要依赖于按位运算

  1. 哈希函数在区块链中的好处:

  1. 较少交易的带宽

  1. 防止数据块中的修改

  1. 使交易验证更容易

  1. 使用加密哈希函数

由于区块链也是对所有人公开的,因此保护区块链中的数据并保护用户数据免受恶意攻击非常重要。因此,这可以通过密码学轻松实现。

当通过哈希算法验证交易时,它被添加到区块链中,当交易被确认时,它被添加到网络中,形成区块链。

密码学使用数学代码,它确保数据的目标用户可以获得它以读取和才处理交易。

多年来,出现了许多与密码学在区块链中应用相关的新工具,他们具有不同的功能。

密码学在区块链中的好处

区块链中的密码学有很多好处,其中一些如下所述:

加密:密码学使用非对称加密来确保网络上的交易保护信息和通信免受未经授权的泄露和信息访问。

不变性:密码学的这一特性使得它对区块链很重要,它可以使块与其他块安全地链接起来,还可以确保存储在区块链中的数据的可靠性,它还可以确保任何攻击者都无法为未设置的密码派生出有效的签名来自先前查询的查询以及其相应的签名。

安全性:密码学使用数据加密以及使用公钥和私钥访问数据使交易记录更容易。加密散列篡改数据是不可能的,使区块链更安全。

可扩展性:密码学使交易不可逆转,确保所有用户都可以依赖数字分账的准确性。它允许在网络中安全地记录无限的交易。

不可否认:数字签名提供不可否认服务,以防止对发送方传递的消息的任何拒绝。这种好处可以与抗碰撞性相关,即:由于每个输入值都有一个唯一的哈希函数,因此发送的消息之间没有冲突,并且可以很容易地将一条消息与另一条消息区分开来。

防止黑客:数字签名可防止黑客更改数据,因为如果数据发生更改,数字签名将失效。借助密码学,它可以保护数据免受黑客攻击,并使区块链中的密码学势不可挡。

区块链中的密码学的局限性

信息难以访问:即使是合法用户在决策制定的最关键时刻,也可能难以访问高度加密和数字签名的信息。网络可能会受到入侵者的攻击并使其无法运行。

高可用性:它是信息安全的基本方面之一,不能通过使用密码学来保证。需要其他方法来防范拒绝服务或信息系统完全崩溃等威胁。

昂贵:密码学需要大量的时间和金钱投资。公钥密码学需要建立和维护公钥基础设施,投资巨大。在发送消息和信息处理时台南佳加密技术会增加延迟。

漏洞:密码技术的安全性取决于数据问题的复杂性和难度。解决此类数学问题的任何突破都可能使密码技术变得脆弱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/5635.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

锁 一、锁的分类 1.1 可重入锁、不可重入锁 Java中提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁。 重入:当前线程获取到A锁,在获取之后尝试再次获取A锁是可以直接拿到的。 不可重入:当前…

Eclipse下载使用手册

Eclipse下载使用手册 目录Eclipse下载使用手册Eclipse的介绍与安装Eclipse简介Eclipse的下载Eclipse的解压Eclipse的介绍与安装 Eclipse简介 Eclipse 是一个开放源代码的,基于 Java 的可扩展开发平台。Eclipse官方版是一个集成开发环境(IDE),可以通过安…

MySQL-自带工具介绍

目录 🍁mysql 🍁mysqladmin 🦐博客主页:大虾好吃吗的博客 🦐MySQL专栏:MySQL专栏地址 MySQL数据库不仅提供了数据库的服务器端应用程序,同时还提供了大量的客户端工具程序,如mysql&a…

Linux安装MySQL5.7MySQL8.0

Linux安装MySQL5.7一、设置yum源并安装1.1 配置rpm仓库1.1.1 更新密钥1.1.2 安装mysql yum库1.2 使用yum进行安装1.3 启动并配置开机启动二、配置MySQL2.1 获取初始密码2.2 登录MySQL2.3 修改root密码2.3.1 设置复杂密码(默认)2.3.2 设置简单的用户密码2.4 授权root用户远程登陆…

蓝桥杯第十四届校内赛(第三期) C/C++ B组

一、填空题 (一)最小的十六进制 问题描述   请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。   请将这个数的十进制形式作…

力扣二叉树题目专题解析

题目分类大纲如下: 二叉搜索树 前面介绍的树,都没有数值的,而二叉搜索树是有数值的了,二叉搜索树是一个有序树。 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空&#x…

滴滴滴,请看MYSQL事务的四大特征(ACID)的实现原理:晓其原理而通其实现。

一.什么是事务的四特征 原子性(Atomicity,或称不可分割性)一致性(Consistency)隔离性(Isolation)持久性(Durability) 接下来,我们将对四大特性的具体概念以及…

java中File转为MultipartFile的问题解决

今天为了需要,把File需要转为MultipartFile,下列代码,编译启动都没有问题 public static MultipartFile getMultipartFile(File file){FileInputStream fileInputStream;MultipartFile multipartFile;try {fileInputStream new FileInputSt…

《JavaEE初阶》计算机网络之网络原理(应用层)

《JavaEE初阶》计算机网络之网络原理(应用层) 文章目录《JavaEE初阶》计算机网络之网络原理(应用层)前言:应用层:自定义应用层协议:如何进行自定义应用层协议自定义应用层协议的格式选择:应用层的现成协议.前言: 本章主要讲解计算机网络原理中的应用层概念以及如何自定义应用层…

centos7 安装photoprism部署私人相册

1、安装docker; 这个是前置条件,也很简单,暂且不表。 2、安装docker-compose; curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose #下载docker-co…

如何让你的blynk服务器随ubuntu系统启动?

昨天在ubuntu系统搭建了blynk服务器,无奈每次重启都要手动去启动,麻烦! 今天就把它加入系统服务里面运行,一劳永逸 首先用WINSCP连接ubuntu在/root/文件夹下新建一个blynk文件夹 把blynk服务器文件放到文件夹中 在/etc/systemd/…

黑马程序员Java教程学习笔记(六)

学习视频:https://www.bilibili.com/video/BV1Cv411372m 如侵权,请私信联系本人删除 文章目录黑马程序员Java教程学习笔记(六)File概述、File对象创建File类的常用方法方法递归非规律化递归问题:文件搜索IO前置内容&am…

P1003 [NOIP2011 提高组] 铺地毯

题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有 �n 张地毯,编号从 11 到 �n。现在将这些地毯按照编号从小到大的顺序平行于…

C语言试题生成与考试系统的设计与实现

当前,网络教学方兴未艾。网上考试已在其中扮演了重要的角色,传统试卷考试方式有待提高。网络教学已从其规范性、科学性及考试工作组织、管理的统一性,影响到教学质量的好坏。基于此,本系统开发实现了基于B/S模式的c试题生成与考试…

经典毕设项目-博客系统(spring boot、spring mvc、mybatis) gitee开源源码

目录 项目背景 核心技术 项目页面设计 注册页面 登录页面 博客列表页 博客详情页 个人博客列表页 个人博客发布页 个人博客修改页 项目模块与需求分析 AOP 处理模块 用户模块 文章模块 项目创建 实现 AOP 模块 实现登录拦截器 拦截器 拦截注册 实现统一数据…

补充C语言

1.关键字 前言: C90一共有32个关键字,C99比C90多了5个关键字,但主流的编译器对C99关键字支持的不是特别好, 所以后面主要以C90的32个关键字为标准1.1认识auto关键字 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int i 0;auto int j 0;retur…

为什么要参加软考?软考如何备考?

软考是指软件工程师职业资格考试&#xff0c;它是由国家人力资源和社会保障部颁发的国家级职业资格证书&#xff0c;是目前我国最具权威性的计算机职业资格证书之一。软考考试内容丰富&#xff0c;包括软件工程、软件测试、软件项目管理、数据库等多个方面&#xff0c;考试难度…

Java分布式事务(七)

文章目录 🔥Seata提供XA模式实现分布式事务_业务说明🔥Seata提供XA模式实现分布式事务_下载启动Seata服务🔥Seata提供XA模式实现分布式事务_搭建聚合父工程构建🔥Seata提供XA模式实现分布式事务_转账功能实现上🔥Seata提供XA模式实现分布式事务_转账功能实现下🔥Se…

Qt-Web混合开发-CEF加载网页简单示例(12)

Qt-Web混合开发-CEF加载网页简单示例&#x1f499;&#x1f353; 文章目录Qt-Web混合开发-CEF加载网页简单示例&#x1f499;&#x1f353;1、概述&#x1f41b;&#x1f986;2、实现效果&#x1f605;&#x1f64f;3、实现功能&#x1f42e;&#x1f434;4、Qt部分关键代码&am…

2023/4/2总结

题解 线段树OR树状数组 - Virtual Judge (vjudge.net) 正如这道题目一样&#xff0c;我的心情也如此。 1.这道题是线段树问题&#xff0c;更改学生值即可&#xff0c;不需要用到懒惰标记。 2.再去按照区间查找即可。&#xff08;多组输入&#xff0c;拿20多次提交换来的&am…