
密码学
文章平均质量分 80
hhh_2333
这个作者很懒,什么都没留下…
展开
-
身份基加密方案的安全性证明
在上一篇博客中,介绍了Boneh-Franklin的基于身份的加密方案,准确地说,是介绍了Boneh-Franklin论文中最基础的方案——BasicIdent。在这篇博客中,主要论述BasicIdent可以抵抗选择明文攻击(chosen plaintext attacks, CPA),但不可以抵抗选择密文攻击(chosen ciphertext attacks)。原创 2021-04-10 11:21:39 · 1528 阅读 · 5 评论 -
Boneh-Franklin的基于身份的加密方案
本篇博客主要讲Boneh和Franklin两人所提出的基于身份的加密方案(Boneh-Franklin identity-based encryption, BF-IBE)。第一节我会简单的介绍双线性映射,这是构造BF-IBE方案的重要数学工具。之后我会以Elgamal加密方案为例子,分析传统的公钥密码所存在的问题。最后引出BF-IBE方案的具体构造,阐明其具有的优越性。原创 2021-03-27 20:28:07 · 4129 阅读 · 0 评论 -
线性秘密共享方案(LSSS)矩阵的构造
线性密钥分享方案(LSSS)矩阵的构造基于属性加密(Attribute-Based Encryption, ABE)中有一个很重要的概念就是访问控制策略。具体到密文策略属性基加密(Ciphertext-Policy Attribute-Based Encryption, CP-ABE)方案中:方案存在着若干的属性,明文在一定的访问控制策略下被加密成密文;属性满足密文策略的用户就可以对密文进行解密。原创 2020-11-15 14:47:55 · 18225 阅读 · 15 评论 -
可证明安全
语义安全表示为攻击者即使已知某个消息的密文,也得不出该消息的任何部分信息,即使是1比特的信息。在完美保密性中,对于等长的消息m,m属于可被该加密算法加密的消息空间,当m用密钥k加密后,加密结果无法得到m的任何信息。原创 2020-06-17 13:14:37 · 3164 阅读 · 0 评论 -
IBE-使用PBC库
IBE-使用PBC库 identity-based encryption#include <pbc/pbc.h>int main(int argc, char **argv) { mpz_t z,V,M; element_t s,r,P,Ppub,Qid,dID,gID,gIDr,U,tem1; pairing_pp_t pp; ...原创 2018-06-14 23:33:41 · 2650 阅读 · 3 评论 -
PBC下载、安装及基本使用
PBC下载、安装及基本使用下载 安装在下PBC之前需要GMP库在官网找到相应的包进行安装我采用源码安装,将下载的pbc-0.5.14.tar.gz解压,并进入解压后的目录# 对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,根据提示先将依赖包安装好./configure# 对源码进行编译make# 将编译好的程序安装到相应目录,默认的目录...翻译 2018-05-30 21:29:41 · 3921 阅读 · 0 评论 -
BLS签名-使用PBC库
BLS签名-使用PBC库 本篇博客将介绍如何使用PBC库实现Boneh-Lynn-Shacham (BLS)签名方案,该程序的源代码文件是example/bls.c 我们有三个阶为素数r的群G1、G2、GT,和一个双线性映射,它能把一个来自G1的元素和一个来自G2的元素映射到GT对应的元素上。我们把这些与一个系统参数g一起发布,g是G2中随机选择的一个元素 Alice选...翻译 2018-06-04 21:24:35 · 4205 阅读 · 2 评论 -
PBC快速入门
PBC快速入门 就PBC库而言,双线性配对是来自两个循环群。G1和G2映射到第三个群GT,其中每一个群具有素数阶r在下载的安装包里,经过编译,pbc目录下有pbc可执行文件,用cli执行程序输入g := rnd(G1);g; 第一行生成群G1的随机元素g,而第二行打印出g的值。(语法受到任意精度计算器bc的影响) 输入h := rnd(G2);h;...翻译 2018-06-03 22:02:37 · 4615 阅读 · 4 评论 -
sms4的S盒构造c实现
sms4的S盒构造c实现sms4算法中的s盒的构造是由三个函数复合而成的,公式为S(x)=L(I(L(x))),其中L(x)是仿射变换,而I(x)是逆变换。仿射变换较为简单,而在模2的伽罗瓦域上求多项式的逆则比较复杂。基本的假设是:对于数字1011,表示的是x^3+x+1,即二进制数的第n位为1时表示x^(n-1) S盒仿射变换实现 int change(int x){ int A1...原创 2018-05-01 14:24:15 · 4406 阅读 · 13 评论 -
b-m算法
b-m算法原理及实现 b-m算法常用来研究某一的01比特串的线性复杂度,换句话说通过BM算法可以得到01序列的最小线性多项式。 在介绍b-m算法之前,我先列出基本的公式 从公式就可以看出b-m算法是一个迭代算法,它的基本思想是利用前n-1个01序列所求出的最小线性多项式来求前n个01 序列的最小线性多项式,初始值容易明确,其重点在于整个算法如何如何迭代。 首先要明确的是公式中的加法并不是‘或’ 的...原创 2018-04-05 17:50:26 · 6227 阅读 · 3 评论