- 博客(10)
- 收藏
- 关注
原创 深入学习区块链的隐私保护(五)数据隐私保护
论文《Decentralizing Privacy: Using Blockchain to Protect Personal Data》笔记1. 概述论文旨在解决如果利用区块链技术保护用户数据的隐私,以解决传统第三方服务器存储数据时存在的隐私泄露、数据拥有权等问题。该论文算是区块链上数据隐私保护的开山之作,提出了去中心化用户数据管理框架,在该框架下可以确保用户真正地拥有自己的数据并掌握绝对的控制权。该论文的安全模型为:服务器是诚实但又好奇的敌手,即半诚实敌手,服务器的行为遵循协议的规则并且不恶
2020-07-05 17:50:06 3720
原创 深入学习区块链的隐私保护(四)秘密共享
秘密共享是指将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。秘密共享的概念最早由著名密码学家Shamir【1】和Blakley【2】于1979年分别基于拉格朗日插值法、多维空间点的性质给出了各自的方案。他们的方案由两个算法组成,秘密份额的分配算法和秘密的恢复算法。秘密份额的分配算法是将秘密分为若干子份,并将每个子份发送给不同参与者。秘密的恢复算法是指当参与者收集到足够多的子份后,可以调用该算法恢复出原始秘密。Sha...
2020-07-05 17:38:32 2695 2
原创 深入学习区块链的隐私保护(三)Schnorr签名
Schnorr签名算法是由Claus Schnorr提出,是一个椭圆曲线上的签名算法,我们回顾下素数域上一些术语:椭圆曲线的阶:椭圆曲线所有点的个数,包含无穷远点; 椭圆曲线上点的阶:若P为椭圆曲线上的点,nP=无穷远点,n取最小整数,即n为P的阶。 基点:椭圆曲线参数之一,用G表示,是椭圆曲线上的一点; 余因子:椭圆曲线的余因子,用h表示,为椭圆曲线点的个数/基点的阶。 椭圆曲线参数:素数域:,其中p为素数,确定,a和b确定椭圆曲线的方程,G为基点,n为G的阶,h为余因子。首先介绍下Schn
2020-06-20 18:36:12 953
原创 深入学习区块链的隐私保护(二)一大波盲签名算法
盲签名是由David Chaum提出的一种特殊签名方式,盲签名允许消息拥有者先将消息盲化后,把盲化后的消息发送给签名者进行签名,最后消息的拥有者对签名进行去盲因子处理,得到原消息的签名。盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,盲签名需要满足如下两个特殊性质:签名者不知道所签署消息的具体内容 当签名消息被公布后,签名者无法知道这是他哪次签署的 根据不同的公钥密码体制构造依赖于不同密码假设下的盲签名方案,通常使用的有基于RSA的盲签名算法、...
2020-06-11 20:58:47 2273 3
原创 密码学的成长之路(一)概述
密码学可以分为古典密码学和现代密码学。古典密码学主要关注信息的保密书写和传递,以及相应的破译。而现代密码学不仅关注信息保密问题,同时还涉及消息完整性验证、消息的不可抵赖性以及在分布式计算中产生的所有信息安全问题。两者最重要的区别在于,前者的编译和破解通常依赖于设计者和敌手的创造力与技巧,对密码原件没有清晰的定义。而现代密码学的学术研究始于20世纪70年代,如今,密码学已经发展成为一门成熟的系统的学科,是一门很有趣的并与计算机科学、数学以及电子工程都存在交叉的学科。20世纪70年代,密码学仅应用于外交、军
2020-05-28 15:20:44 578 1
原创 通过strace和monkey测试安卓应用的系统调用
配置adb1. 下载android studio2. 增加系统变量https://blog.csdn.net/lxzmmd/article/details/50455671 配置x86安卓虚拟机1. https://www.cnblogs.com/wynn0123/p/6288344.html2. 通过ip地址连接虚拟机(为了保证虚拟机能上网,并且可以被实体机连接)https:/...
2018-04-19 10:26:45 1298
原创 BIGNUM转换成16进制并用字符串保存以及md5算法基于c语言和openssl编程
md5算法在openssl下的实现这里就不具体说了,下面代码的功能是随机生成一个bignum类型的大数,将该大数(保存大数的部分是unsignedlong指针)转换成16进制然后保存在字符串中,再把该字符串做md5运算,得到摘要。 int sprintf(char *buffer,const char *format, [argument]) 指的是字符串格式化命令,主要功能是把格
2018-01-18 17:23:57 1728
原创 基于tcp协议的简单多并发服务器-c语言
tcp协议的基本情况在此就不详细介绍,上图是《UNIX网络编程》书里的一张图,此图直观的展现了tcp服务器和客户是如何开始通信、进行通信和结束通信的全过程。一、套接字地址结构介绍 首先介绍Ipv4套接字地址结构: struct in_addr { in_addr_t s_addr;//32位 ipv4的地址存放在这 }; struct sockad
2018-01-17 17:03:27 4837 1
原创 如何在Xcode下引入openssl库
第一步 将已经下载好的openssl头文件(.h文件)和静态链接库文件(.a文件)放在两个不同文件夹。 将两个文件夹放入一个叫openssl(这个名字可以任意)的文件夹内。 !!!! 这里要注意include里面的那个文件夹,也就是包含头文件的文件夹一定要命名为openssl,因为里面的头文件源码的include包含的是 include 第二步
2018-01-13 10:13:16 4138 2
原创 学习ECC及Openssl下ECC生成密钥的部分源代码心得
一、ECC的简介椭圆曲线算法可以看作是定义在特殊集合下数的运算,满足一定的规则。椭圆曲线在如下两个域中定义:Fp域和F2m域。 Fp域,素数域,p为素数; F2m域:特征为2的有限域,称之为二元域或者二进制扩展域。该域中,元素的个数为2m个。 以下只介绍素数域。 一些术语说明: 1) 椭圆曲线的阶(order of a curve) 椭圆曲线所
2018-01-11 14:17:26 12961 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人