当前位置: 首页 > news >正文

购物商场网站开发过程详细说明wordpress分类缩略图

购物商场网站开发过程详细说明,wordpress分类缩略图,免费动画制作软件,设计师必看的10个网站本篇主要介绍可验证随机函数的定义及其在区块链上的作用。 1 可验证随机函数 1.1 定义 可验证随机函数(Verifiable Random Function,VRF)本质上还是一类具有验证功能的伪随机函数。对于一个特定的输入 m m m以及输入者的私钥 S K SK SK,VRF会输出一个随…

  本篇主要介绍可验证随机函数的定义及其在区块链上的作用。

1 可验证随机函数

1.1 定义

  可验证随机函数(Verifiable Random Function,VRF)本质上还是一类具有验证功能的伪随机函数。对于一个特定的输入 m m m以及输入者的私钥 S K SK SK,VRF会输出一个随机数 r e s u l t result result以及一个证明 p r o o f proof proof,验证者可以通过输出的随机数、证明和输入这三部分验证出随机数是否由该输入产生。在这个过程中,不必暴露输入者的私钥。其原理如下图(出自参考资料1):
在这里插入图片描述

1.2 VRF在区块链中的作用

  区块链中,VRF主要应用在共识机制的设计中。在共识算法中,利用VRF产生的不可预测的随机性输出来的选择出块节点,可以防止恶意节点或攻击者预测下一次的结果,提高区块链系统的安全性和抗攻击性。

2 具体实现

2.1 一般实现

  可验证随机函数算法的一个简单实现方式是使用RSA数字签名算法和哈希函数来保证算法的可验证性和唯一性。VRF算法过程如下:

  • 用户计算 r e s u l t = result= result=VRF_Hash ( S K , m ) (SK,m) (SK,m),得到随机数 r e s u l t result result
  • 用户计算 p r o o f = proof= proof=VRF_Proof ( S K , m ) (SK,m) (SK,m),得到证明 p r o o f proof proof
  • 用户将计算得到的随机数 r e s u l t result result、证明 p r o o f proof proof、公钥 P K PK PK、消息 m m m发送给验证者;
  • 验证者计算 r e s = res= res=VRF_P2H ( p r o o f ) (proof) (proof),对比 r e s res res r e s u l t result result是否一致。若一致,则进行下一步,否则返回给用户 f a l s e false false
  • 验证者使用公钥执行VRF_Verify ( P K , m , p r o o f ) (PK,m,proof) (PK,m,proof)函数,检验证明是否基于原始消息产生,结果为 t r u e true true f a l s e false false;
2.2 RSA算法实现

  一般地,可以使用RSA来实现VRF。首先使用RSA数字签名算法对消息进行签名,然后使用哈希函数计算数字签名哈希值。这样通过RSA保证对于不同的消息可以得到不同的数字签名,进而得到不同的随机数,另外RSA验证算法可以对签名进行校验,进而判断随机数的合法性。具体实现代码如下:

import hashlib
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA256def key_generate():# 生成RSA密钥对key = RSA.generate(2048)private_key = key.export_key()public_key = key.publickey().export_key()return private_key,public_keydef VRF_proof(m,private_key):#生成签名private_key = RSA.import_key(private_key)signer = PKCS1_v1_5.new(private_key)signature = signer.sign(SHA256.new(m)) #证明#生成随机数hash_value=hashlib.sha256(signature).digest() value=int.from_bytes(hash_value,byteorder='big') #随机数return signature,hash_value,valuedef VRF_Verify(hash_value,signature,public_key,m):public_key = RSA.import_key(public_key)verifier = PKCS1_v1_5.new(public_key)verified = verifier.verify(SHA256.new(m), signature)label=(hash_value==hashlib.sha256(signature).digest())if label and verified:return Trueelse:return Falseif __name__=="__main__":message="hello,world".encode('utf-8')SK,PK=key_generate()#生成证明和随机数signature,hash_value,value=VRF_proof(message,SK)#验证过程result=VRF_Verify(hash_value,signature,PK,message)if result:print("验证通过")print("生成的随机数为:{}".format(value))

其结果如下:

验证通过
生成的随机数为:77876531940376032378317377175633191069877154593624050739618917512592264308996

参考资料

  1. 《基于可验证随机函数的Hyperledger Fabric共识机制优化方案》
http://www.yayakq.cn/news/267258/

相关文章:

  • 建材网站都有哪些可以做app的网站
  • 石家庄网站优化公司商城网站模板html
  • 网站审批苏州吴江建设局招投标网站
  • 南沙区网站建设宜兴做网站的公司
  • 网站建设 预算买一款app要多少钱
  • 苏州企业网站建设服务好wordpress 腾讯课堂
  • 深圳网站建设 卓越迈源码可以做网站吗
  • iis怎么查看网站的域名网站优化的公司
  • tk后缀网站是什么网站南京网站建设开发公司
  • 教育网站建站做趣味图形的网站
  • 网站技术解决方案征求网站建设意见的通知
  • 广东十大网站建设品牌公司管理系统网站模板下载
  • 贵州住房和城乡建设厅网站运营网站挣钱方法
  • 站长之家权重wordpress自定义文章类型模板
  • 适合做网站开发的电脑配置做网站北京
  • 广州网站建设公司怎么挑选一个ip做网站
  • 网站开发承包合同wordpress重定向插件
  • 网站网络7一12岁手工科技小发明
  • wordpress 插件_seo移动网站页面怎么做
  • 公司网站版面怎么设计外贸销售
  • 个人网站制作新手教程如何提高网站的排名
  • 江门网站建设总部电话齐家网装修怎么收费
  • 做网站赚钱流程做网上营销怎样推广
  • 网站在百度上搜不到了购物网站开发 项目描述
  • 米思米网站订单取消怎么做常州知名网站建设公司
  • 郑州做网站最好的公司网站建设专业性评价内容
  • 怎么建设手机小说网站网站开发手把手
  • 《网站建设 补充合同华为认证培训机构排行榜
  • php网站架设教程seocui cn
  • 大良营销网站建设教程wordpress主机和xampp