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

网站设计报价怎么做wordpress创建搜索框

网站设计报价怎么做,wordpress创建搜索框,网站备案年限查询,电影网站的设计与实现论文重复使用 PGP 密钥作为比特币密钥 介绍 在数字安全领域#xff0c;密码学在确保数据的完整性和真实性方面发挥着至关重要的作用。 一种广泛使用的加密技术是使用 Pretty Good Privacy (PGP1)。 PGP 为安全通信#xff08;例如电子邮件、文件传输和数据存储#xff09;提供加… 重复使用 PGP 密钥作为比特币密钥 介绍 在数字安全领域密码学在确保数据的完整性和真实性方面发挥着至关重要的作用。 一种广泛使用的加密技术是使用 Pretty Good Privacy (PGP1)。 PGP 为安全通信例如电子邮件、文件传输和数据存储提供加密和身份验证。 PGP 可以使用与比特币相同的椭圆曲线称为 secp256k1因此可以与比特币兼容并利用。 现有的 PGP 椭圆密钥密钥对可以重复用作比特币密钥对因此我们可以 将比特币发送到从 PGP 公钥派生的地址。 只有用 PGP 私钥花费比特币。 对可信任的来自 PGP 用户的消息进行签名。 在本文中我们将深入研究可信预言机使用 secp256k1 椭圆曲线生成 PGP 签名的示例该签名使用 sCrypt 在链上进行验证和使用。 生成 PGP 签名 第一步是确保您的机器安装了 GnuPG。 这是一个使用非常广泛的程序您的系统上可能已经安装了它。 生成私钥 运行以下命令 gpg --full-gen-key --expert这将运行一个交互式提示来生成您的密钥。 当它要求您选择 ECC 密钥进行签名时使用“secp256k1”作为曲线。 完成后您的系统上将存储一个新密钥。 要列出所有密钥请运行以下命令 gpg --list-keys --with-fingerprint创建签名 由于我们将在比特币中验证的签名需要采用原始形式 (r, s)因此我们准备了一个工具可以从 GnuPG 生成的文件中提取此数据。 使用以下命令从 GitHub 克隆它 git clone https://github.com/sCrypt-Inc/parse-pgp-sig cd parse-pgp-sig该工具是原始工具的一个分支由 Mark Blundeberg 编写。 现在让我们对存储在“testmsg”文件中的消息进行签名。 首先编辑“makesig.sh”中的密钥 ID 以使用您在上一步中创建的密钥的 ID。 然后运行以下命令 ./makesig.sh这将创建一个名为“testmsg.sig”的文件其中包含签名。 因为我们还需要公钥所以我们必须将其导出如下所示 gpg --output pubkey.gpg --export KEY_ID最后运行以下命令 ./parsesig.py这将以正确的格式打印所需的所有数据以用于验证。 输出应如下所示 pubkey.gpg loaded, key ID AF73C8F7B546F94B39317588BC4509E6210D4B78 Public key point coordinates: x 48421684640566418104679532805542050894296452248858999768503364580534732096841 y 27832515582888013475460648727797934257300201948678282835754427898215825506626 Message: bHello world!\n Message hex: 48656c6c6f20776f726c64210a04001308001d162104af73c8f7b546f94b39317588bc4509e6210d4b7805026453693704ff00000023 Sig: r: 64359296802826103123327210017080540130282890114880640962625134547151700407256 s: 8795100933587794005356181940782496292717652651227485898667966611241902738847 Signature validity on message: True在比特币中验证签名 这是一个简单的 sCrypt 智能合约它可以验证我们刚刚创建的签名。 export class Verify extends SmartContract {prop()msg: ByteStringconstructor(msg: ByteString) {super(...arguments)this.msg msg}method()public unlock(sig: Signature, pubKey: Point) {// Hash message.const hashInt byteString2Int(reverseByteString(sha256(this.msg), 32) toByteString(00))// Verify signature.assert(SECP256K1.verifySig(hashInt, sig, pubKey),Sig invalid)} }正如我们所观察到的已部署的合约将原始消息存储为合约属性。 一旦有人调用“unlock”公共方法它就会对该消息进行哈希处理并将其转换为整数然后使用我们的“SECP256K1”库继续验证签名。 您可以从我们的 scrypt-ts-lib 包中导入该库。 使用上面的数据我们将初始化并调用合约如下所示 await Verify.compile() instance new Verify(toByteString(48656c6c6f20776f726c64210a04001308001d162104af73c8f7b546f94b39317588bc4509e6210d4b7805026453693704ff00000023))...const sig: Signature {r: 64359296802826103123327210017080540130282890114880640962625134547151700407256n,s: 8795100933587794005356181940782496292717652651227485898667966611241902738847n, }const pubKey: Point {x: 48421684640566418104679532805542050894296452248858999768503364580534732096841n,y: 27832515582888013475460648727797934257300201948678282835754427898215825506626n, }const { tx: callTx, atInputIndex } await instance.methods.unlock(sig,pubKey,{fromUTXO: getDummyUTXO(),} as MethodCallOptionsVerify )const result callTx.verifyScript(atInputIndex)一旦我们验证了该消息我们就可以在我们的合约中使用它并确信它来自给定的 PGP 用户。 参考: https://gist.github.com/markblundeberg/af59d7cd234cbdb14dcf9e00f0ea2c17 [1] Hal Finney 是一位早期的比特币贡献者他从比特币的创造者中本聪那里收到了第一笔比特币交易他在 PGP 公司工作在那里他开发了一些最早的 PGP 代码。
http://www.hkea.cn/news/14380073/

相关文章:

  • seo网站有优化培训吗wordpress爱客0.9
  • 安徽国贸网站建设做h5网站制作
  • php做网站浏览量赣州市人才网
  • 有那种网站么四面山网站建设
  • 网站界面(ui)设计形考任务1自己做的网站打开显示很慢
  • 做餐饮加盟的网站软件开发技术文档范文
  • 哈尔滨网站优化流程建设什么网站比较好
  • 北京做网站建设比较好的公司网站建设对比
  • 西安建网站公司wordpress超简洁企业主题
  • 企业建设网站软件医院网站建设公司价格
  • 传奇官方网站高唐企业建网站服务商
  • 百度统计网站速度诊断工具三门峡建设网站哪家好
  • 新乡网站自然优化做网站的软件帝国
  • 余志国外贸网站建设frontpage制作个人网页教程
  • 河北网站备案查询系统网站制作 php
  • 个人网站怎么推广素材网站在哪里找
  • seo站长工具箱典型的软件开发模型
  • 官方网站在哪里wordpress添加js
  • 上海医疗网站备案wordpress职场博客
  • 网站点击弹出下载框 怎么做的微信公众平台网页
  • 刚做的网站 为啥搜不到北京网页设计公司招聘
  • 涡阳做网站上海静安做网站多少钱
  • 网站谁做的展厅效果图
  • 网站策划培训个人简历免费模板
  • 虚拟主机建站教程杭州房产免费网站建设
  • 外贸建站 知乎wordpress页面设置教程
  • 网站做等保官方网页qq登陆
  • 建筑网站案例wordpress会员微信支付
  • 私募网站建设莆田网站建站
  • 学做西餐的网站微企点建好网站后要怎么做