区块链密码学之对称加密

2023-11-01

前言

对称加密,顾名思义就是公钥和私钥都是同一个,只有一把密钥,那么密钥的共享就需要特别注意,容易泄露。但是由于它的加密效率高(速度快、占用空间小),主要用在大量数据的加密,往往需要提前分发密钥。

对称密码从实现上可以分为两种:分组密码和序列密码。前者将明文切分为定长数据块作为基本加密单位,应用最为广泛。后者则每次只对一个字节或字符进行加密处理,且密码不断变化,只用在一些特定领域,如数字媒介的加密等。

分组密码其中代表算法有DES、AES等。AES目前尚未出现有效的破解手段。

比特币中的对称加密

比特币中使用的对称加密算法为AES算法,具体来说是AES256。用于比特币钱包的私钥加密。采用用户设置的密码通过AES对钱包私钥进行加密,确保客户端私钥的安全。下面从源码使用来看看,地址为:https://github.com/1261385937/AES256

secret_key是用来加密的密钥,比特币使用的非对称加密的私钥,为了方便,上面是我随意写的。

public_key_hash_first_half是用来混合加密的,比特币中使用的是Serialize后的公钥,经过sha256后,取前128位。

上面的代码是对 msg 加密,加密结果保存在vchCiphertext。 下面来看看如何解密:

解密时,同样需要传入secret_key和public_key_hash_first_half。对vchCiphertext进行解密,揭秘结果放在quondam_msg中。显而易见,quondam_msg的内容为1,2,3。

总结

至此,AES256如何加密解密使用介绍完毕。密码学这块,是无数“密码朋克”的心血结晶,密码学这块比较特殊,极其严谨,需要经过大量使用验证的。即使知道原理,也不见得可以对它进行修改,因为你无法保证“你捣鼓出来的”安全性如何。所以笔者觉得,如果你不是专门研究密码学的高手,知道核心细节和不知道核心细节区别不大。密码学这块还是选用出名的、成熟的加密算法为上上策。以太坊和EOS也是选用了和比特币一样的secp256k1。原因恐怕也是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区块链密码学之对称加密 的相关文章

  • Python日期格式处理

    数据分析工作中 Python和SQL是常用的两大工具 常见的数据类型有数值型 字符串型 日期型等 对日期型格式进行处理也是比较常见的情形 文章SQL中日期格式处理记录了SQL针对日期型字段的处理过程 本文记录Python对日期型数据的处理

随机推荐

  • Linux 下创建新用户并且添加为root组用户

    1 创建用户及设置密码 创建用户名 useradd test 设置密码 passwd test 输入两次密码 test 2 给新用户授root权限 1 chmod v u w etc sudoers 增加 sudoers 文件的写的权限 默
  • 有关StandardScaler的transform和fit_transform方法

    背景 StandardScaler类是一个用来讲数据进行归一化和标准化的类 所谓归一化和标准化 即应用下列公式 使得新的X数据集方差为1 均值为0 问题一 StandardScaler类中transform和fit transform方法有
  • OpenCV中利用knn进行数字(0-9)识别--RGB-D相机采集

    目录 前言 一 KNN原理 二 数字识别系统效果演示 三 数字识别系统 1 图像采集 2 阈值分割 定位数字区域 3 轮廓特征分析 定位数字区域 4 数字轮廓提取 5 扩充边界并归一化其尺寸 6 训练数据集并预测测试样本 总结 前言 本章使
  • Google Cloud API设计指南

    目录 一 基于资源的设计 什么是 REST API 设计流程 资源 方法 示例 Gmail API Cloud Pub Sub API Cloud Spanner API 二 资源名称 完整资源名称 相对资源名称 资源 ID 集合 ID 资
  • 牛客:华为机试---人民币转换

    1 题目描述 考试题目和要点 1 中文大写金额数字前应标明 人民币 字样 中文大写金额数字应用壹 贰 叁 肆 伍 陆 柒 捌 玖 拾 佰 仟 万 亿 元 角 分 零 整等字样填写 30分 2 中文大写金额数字到 元 为止的 在 元 之后 应
  • ubuntu18 安装gcc 9遇到add-apt-repository: command not found

    sudo add apt repository ppa ubuntu toolchain r test 执行上面命令遇到add apt repository command not found问题 尝试了各种方法 发现下面方法最有用 依次执
  • Makefile 中的几种 等号

    在Makefile中我们经常看到 这几个赋值运算符 那么他们有什么区别呢 我们来做个简单的实验 新建一个Makefile 内容为 ifdef DEFINE VRE VRE Hello World else endif ifeq OPT de
  • 《HRNet-OCR:Object-Contextual Representations for Semantic Segmentation》论文笔记

    参考代码 HRNet OCR 1 概述 导读 这篇文章研究了语义分割中上下文信息的提取与表达 其方法设计的灵感来自于 分割中一个像素的label是其对应目标 object 的类别 那么基于此文章便是通过不同object区域的表达去关联并表达
  • spring-security--基础--5.1--ACL--介绍

    spring security 基础 5 1 ACL 介绍 代码位置 https gitee com DanShenGuiZu learnDemo tree master spring security learn 1 介绍 ACL 访问控
  • JDBC(数据库连接)——url写法

    JDBC的URL 协议名 子协议名 数据源名 协议名 总是 jdbc 子协议名 数据库类型协议 数据源名 用户 数据库名等信息 常见的数据库连接 oracle 驱动 oracle jdbc driver OracleDriver URL j
  • 解析智能扫地机器人中蕴含的情感元素

    在新一轮新冠疫情爆发后 大众宅在家的时候也变多起来 对于居家清洁的需求也越来越旺盛 人们希望可以从日常的繁琐的家务中解放出来 其中智能扫地机器人就占有一席之地 在市场需求持续走高的催生下 技术也在不断革新换代 根据数据显示 2021年前11
  • js数组处理方法总结slice、join、filter、map、indexOf、reduce、reduceRight等

    归纳总结数组的处理方法如下 1 splice 功能 1 删除 从数组中删除元素 两个参数 第一个参数 要删除元素的起始位置 第二个参数 要删除的项数 2 添加 插入元素到数组中 三个参数 第一个参数 起始位置 第二个参数 0 第三个参数 插
  • 【论文速递】TPAMI2022 - 自蒸馏:迈向高效紧凑的神经网络

    论文速递 TPAMI2022 自蒸馏 迈向高效紧凑的神经网络 论文原文 Self Distillation Towards Efficient and Compact Neural Networks 获取地址 https ieeexplor
  • virsh help domain命令内容解析

    简介 这段时间学习热迁移 要不断的在qemu monitor和libvirt中调转使用命令 故整理virsh命令 这篇是第一篇 整理virsh help domain相关内容 span style color 656565 span sty
  • 相约清华!AI药物研发大赛总决赛明日开幕

    2022年 百度飞桨联合清华大学药学院 筹备建设 AI 药学 产学研融合创新基地 推出了一系列AI 生物计算前沿课程和人才培养计划 今年5月 百度飞桨联合清华大学药学院 百度智能云和临港实验室 共同发起了首届全球AI药物研发算法大赛 并得到
  • mac如何卸载python2.7_mac python环境的安装与卸载

    换电脑之前并没有了解很多mac 所以习惯性的安装软件都是官网或者appstore下载来安装的 so 我下载了python2 7 并安装了 后来学习的视频是3 6的版本 又下载的3 6的版本来安装 过程中知道自带python2 7版本 也看到
  • 踩坑系列—mybatis查询没有数据时返回的list是null还是空集合?

    场景 根据多个条件查询 返回list集合数据 代码 第1步 根据页面多个条件查询 List list userDao queryOrders queryParams if null list return null 第2步 有数据再追加其他
  • Photoshop 通道讲解

    我常常问我的学生 什么是Photoshop最重要 不可或缺的功能 很多人的回答是图层 Layer 其实在Photoshop3 0之前根本没有图层的功能 在Photoshop的领域中 最重要的功能是选取范围 正确的运用选取范围 才能够做出精准
  • 从CSV文件导入Hive出现中文乱码问题解决

    关于HIVE中文乱码问题的解决办法 网上有很多帖子 然而很多都是基于LINUX终端显示字符的修改 其实上对于一些条件下的HIVE中文乱码问题是无法解决的 如从CSV文件导入到HIVE中出现的中文乱码问题 大家都知道 HIVE原生的字符编码是
  • 区块链密码学之对称加密

    前言 对称加密 顾名思义就是公钥和私钥都是同一个 只有一把密钥 那么密钥的共享就需要特别注意 容易泄露 但是由于它的加密效率高 速度快 占用空间小 主要用在大量数据的加密 往往需要提前分发密钥 对称密码从实现上可以分为两种 分组密码和序列密