0%

承诺方案(commit scheme)主要目的是提供“针对双方的信息互换方案”,通过隐藏关键值来避免信息泄露。Pedersen Commitment也不例外,但不同于普通的承诺方案,其可以通过不揭露相关信息来达到确认双方是否拥有某一个相同的值。承诺方案有两个基本性质:隐藏性(Hiding)绑定性(Binding)。隐藏性为承诺值不会泄露任何关于消息 m 的信息;绑定性是指任何恶意的承诺方都不能将承诺打开为非 m 的消息且验证通过,即接收方可以确信 m 是和该承诺对应的消息。

阅读全文 »

隐私是用户最关心的问题之一,而环签名解决的问题是,我对你说了一句话,但是你只知道是某一群人中有人对你说了这句话,而不知道这群人里具体哪个人说的。简言之就是,我把自己藏进了人群里。环签名通过将实际签名者的公钥藏进一个公钥集合,来达到保护签名者身份的目的。例如,某协会主席提出一种议案,但如果协会成员中有人提出反对意见则议案需被取消。但投反对票的会员又不想暴露自己的身份,因此他可以用环签名的技术,将自己的反对票用自己的私钥和其他协会成员的公钥进行签名。签名之后所有协会成员都可以看到协会中有人反对该项议案,但不知道确切的反对者是谁。

阅读全文 »

插值法的中心思想就是:

在我们已具备一组 KV 键值对的情况下,如何得出还没被定到的区域的值

使用插值法所建立的函数,在构造的函数中一定要重现原本给定的 KV 键值对,否则就不是插值法而是函数近似或者曲线拟合的问题了

插值的做法,直观来讲就是:

  1. 先从 KV 键值对来获得函数 f(x)

  2. 用函数 f(x) 求出我们所要的任何特定 x 之 f(x ) 函数值。

阅读全文 »

门限机制

在现实中有效的门限机制在密钥管理的应用中有着举足轻重的地位。我们假设一个场景,有一个秘密被锁在一个箱子里面,一共有 5 个人参与这件事,最少需要 3 个人在场的时候才可以打开这个箱子,那么最少需要多少把锁,而每个人最少需要保管几把钥匙?答案是 10 把锁,6 把钥匙。但是如果将人数扩大到 11 人,最少需要 6 人才能打开箱子,那么锁和钥匙数就会扩大到 462 和 252。抽象成 N 个人,锁的数量为 C(N,N/2),钥匙数量为 C(N-1,N/2)。随着人数增加,锁和钥匙的数量将会呈现指数级增加,这也会大大增加资源的负担。

我们将某个现实中的问题抽象成为某个数据 D 。我们的目标是将 D 分成 n 份 D1 , D2 , … Dn ,满足:

(1)任意k或多于 k 份 Di 可以很容易地计算出 D

(2)任意 k-1 或少于 k-1 份 Di 信息不能准确计算出 D (所有可能的值相同)

这样的机制称为一个 (k, n) 门限机制。

阅读全文 »

随着云计算的发展,我们越来越趋向于将数据保存在第三方云端上,同时这些数据的安全性也越来越收到用户的重视。在传统的加密技术中,用户的数据被加密之后存储到云端,当用户需要这些数据时,从云端获取加密的数据,然后使用自己的私钥对这些加密的数据进行解密从而获得明文信息。

阅读全文 »

在本篇 Blog 中将会对在部署过程中发现的问题进行总结

访客计数出错

  • 错误场景:

在使用 LeanCloud 时,发现填入 AppId 以及 AppKey 之后阅读数量出错,错误代码为

1
Counter not initialized! More info at console err msg.
  • 解决方案:
  1. security 字段改为 false
  2. 安装了插件hexo-leancloud-counter-security(命令行执行npm install hexo-leancloud-counter-security

阅读全文 »

接下来我们来介绍一下基于 Next 主题的进阶优化

修改主题

首先我们先将 Hexo 默认的主题修改为 Next 主题:

  • 安装 Next 主题
1
npm install hexo-theme-next
  • 修改网站配置文件 _config.yml ,找到 theme 字段,修改为:
1
theme: next
阅读全文 »