- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 现代密码学学习笔记1
学习目的:简要的了解什么是经典密码学和几个经典密码学方案,为后面现代密码学的学习做铺垫。⚠️:虽然经典密码学已经不再适用于现代社会,但对其的学习也很重要。一、现代密码学的定义在20世纪晚期之前,密码学更多的是一门艺术,它主要是用于秘密通信。在那个时候没有什么理论可以依赖,也没有什么有效的定义可以构建一个好的密码。直到上个世纪80年代开始,现代密码学的出现使得对密码学的研究成为了一门科学和数学学科。适用对象:经典密码学:军事组织和政府。现代密码学:everywhere。对密码学的定义:.
2021-06-05 18:56:40
567
原创 Python 利用Matplotlib画图系列(一)
Python 利用Matplotlib画图系列(一)1. matplotlib基础用法2. 坐标轴的使用3. 增加图例4. 增加标注5. 散点图绘制6. 3D图绘制7. 动态图8. 图的位置放置(排版)1. matplotlib基础用法画一条5x+1的直线,显示范围为(-1,1)之间的100个点import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-1,1,100)#从-1到1的100个点y = 5*x + 1pl
2021-05-28 21:56:42
414
原创 OpenSSL的安装与初次使用
OpenSSL的安装与初次使用OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。在安装之前先测试下系统中是否已经安装了OpenSSL:从截图中可以看出Mac OS系统自带有LibreSSL 2.8.3。LibreSSL是OpenSSL加密软件库的一个分支,为一个安全套接层(SSL)和传输层安全(TLS)的开源实现。在OpenSSL爆出心脏出血安全漏洞之后,一些OpenBSD开发者于2014年4月创立了
2021-05-28 16:50:47
672
原创 以太坊系列(二)---Ubuntu20.04安装以太坊开发环境并建立私有链
目录安装版本说明环境搭建搭建以太坊安装Nodejs安装Solidity安装Truffle以太坊开发安装版本说明Ubuntu版本:20.04Ethereum版本:1.10.1-stableNodejs版本:v10.19.0Solidity版本:0.7.4Truffle版本:v5.3.0 - a development framework for Ethereum环境搭建搭建以太坊安装命令:sudo add-apt-repository -y ppa:ethereum
2021-04-04 20:53:34
2480
2
原创 阅读笔记:Poison Over Troubled Forwarders: A Cache Poisoning Attack Targeting DNS Forwarding Devices
注意:阅读本笔记需要有DNSDNSDNS域名解析的基本知识,了解其详细的解析过程(可查看我的另一篇博客:最全DNSDNSDNS域名解析流程及域名注册(细节!))。攻击名称:Cache Poisoning Attack Targeting DNS Forwarding DevicesCache~Poisoning~Attack~Targeting~DNS~Forwarding~DevicesCache Poisoning A.
2020-11-21 10:48:19
981
原创 密码学概述5
本周主要完成了对伪随机性、伪随机发生器、伪随机函数、伪随机置换、SP网络、Feistel网络、DES、AES(还未看完);MAC(消息鉴别码)、CBC-MAC、抗碰撞散列函数、Merkle-Damgard变换、NMAC、HMAC的学习。有关消息私密性的内容:敌手的攻击类型主要有四种:被动的唯密文攻击和已知明文攻击,主动的选择明文攻击和选择密文攻击。其实直到这周我才发现,每每遇到一个新的攻击类型,作者都是先通过一个实验,对其安全性进行分析证明,然后再构造一个安全的加密方案。到上周为止,都是被动类型的窃听敌手
2020-11-20 22:04:33
415
原创 密码学概述4
本周主要完成了有关模算术、基本群论、大数分解和RSA假设的相关内容。其次回顾了上周的学习内容。因为公钥密码学的构造方法依赖于某个困难问题。这周就是看了一些“困难的”问题。作者介绍了一个与因子分解假设的困难程度相当的RSA假设。因子分解假设就是用一个GenModulus算法得到(N,p,q),敌手在只知道N的情况下猜测p,q的值,其猜中的概率可忽略时,就说因子分解问题与GenModulus相关是困难的。而RSA假设就是利用N的分解形式的情况来判定RSA问题是不是困难的。虽然说假设“RSA问题是困难的”比假设
2020-11-20 22:00:35
303
原创 最全DNS域名解析流程及域名注册(细节!)
DNS详解DNS解析流程详解图 1 DNS解析流程图 1.客户机上的用户在应用程序(如web浏览器)中输入网址。应用程序首先检查其浏览器缓存,如果缓存中有,则这个域名解析过程就结束。如果浏览器缓存中没有,浏览器会查找本地的hosts文件是否有这个映射关系,如果有,就先调用这个IP地址映射,完成域名解析。如果没有,应用程序则调用客户机上的解析器,解析器先向其内部的缓存进行查询,如果没有,则创建一个包含服务器名称的DNS递归查询消息,并将其传输到在计算机的TCP/IP配置中确定的DNS服务器(命令行
2020-11-13 09:22:25
2964
原创 密码学基础知识1
2020-7-06本周主要完成了Pollard的p-1方法、Pollard的Rho方法、对称密钥加密的局限性及解决方法、Diffie-Hellman密钥交换协议、公钥加密基础、混合加密、RSA加密、ElGamal加密、二次剩余和二次非剩余的相关内容。对称密钥加密在密钥分配、存储和保密问题以及在开放系统中的不适用性问题,无法真正做到安全的分配密钥。一个局部的解决方法是密钥分配中心,通信方都信任一个第三方,由第三方分发两方通信的会话密钥以及各个通信方的一个私钥。为了能够在没有隐蔽信道的情况下进行秘密通信,D
2020-11-13 09:18:09
421
原创 密码学基础知识2
2020-7-13本周主要完成了数字签名、公钥基础设施、随机预言机模型的相关内容。关于数字签名,将它与消息鉴别码对比着来学,对其的理解会更加深刻。用于公钥密码学的消息完整性鉴别的数字签名,可以避免一个发送者为多个接收者发送不同的秘密密钥,它只需要计算一个签名,就可以被所有接收者验证。由于公钥密码学的特点,数字签名可以公开验证。正是这个公开验证的优势,数字签名还可以应用到证书和PKIPKIPKI中。作者对数字签名做出了形式化的定义,介绍了555种不同的签名:(1)(1)(1)教科书式RSARSARSA
2020-11-13 09:14:42
195
原创 密码学基础知识3
2020-7-20日本周完成了经典密码学、现代密码学、对称密钥加密、消息鉴别的阅读,正在阅读中的是中本聪的论文。(3)感想:再次阅读《现代密码学导论》,节奏上比第一次快,因为脑海中有了一点密码学的内容,当再次看到的时候就会浮现。曾经对密码学没有了解,看的时候没有重点,因此也忽略了某些必要的密码学基础,所以这次看的时候还是有一些收获的。这回阅读,我关注的是现代密码学部分。密码学,通俗的讲,就是保证通信双方在通信过程中的私密性和完整性。根据不同的使用场景和不同的使用对象,分别有不同的安全的加密方案。针对
2020-11-13 09:08:07
222
原创 伪随机性
本周完成了有关伪随机的内容。在这之前了解了伪随机性的概念,也用伪随机发生器、伪随机函数和伪随机置换这333个原语构造过安全的加密方案,但是却对这些原语的构造没有什么了解。这次就从单向函数存在这个假设出发,构造这些原语。这样,安全的对称密钥加密方案就可以基于更弱的假设,也就更加的具有说服力,需要说明的是,这里没有考虑构造方案的执行效率,仅从假设方面出发。虽然构造伪随机发生器等原语是可以用单向函数存在这一假设的,但是证明过程过于复杂,作者介绍的是基于任何单向置换构造出伪随机发生器、伪随机函数、伪随机置换和强
2020-11-12 15:02:05
1146
1
原创 公钥密码学4
数字证书 它作为数字签名的一个应用,它将某个实体与某个公钥绑定在一起。通俗来说,它就像是一个官方机构对某个用户的身份进行认证,通过一个具体的证书来让其他用户相信该用户的身份是合法的,当其他用户需要验证该身份的合法性时,只要用该官方机构的公钥进行验证即可。比如,本科毕业证书上有校长的签名和学校的公章,它们的存在就认证了该学生的毕业证书是合法认可的。当学生就业的时候,面试官对其毕业证书进行验证,核实这是否是学校的公章和校长的签名。下图是GlobalSign Organization Validation C
2020-10-29 10:38:10
437
2
原创 公钥密码学3
本周主要的内容是:(1)实现填充RSA加密算法以及其攻击原理。(2)多个数字签名的历史地位,明白其各个签名所产生的背景。PKCS1 v1.5 加密算法实现定义xxx如下图所示,图中数字的单位均为字节:PKCS1 RSA加密的v1.5的具体实现过程分为以下几个步骤:1.公私钥对生成2.随机生成117117117字节的字符串作为消息DDD2.在DDD前面进行填充:“000000”和“020202”填充、PSPSPS(非零随机数)填充、“000000”填充3.将八位字节字符串转换成整数4.RSA
2020-10-29 10:31:40
497
2
原创 公钥密码学2
(1)主要看的书籍与相关视频:《现代密码学导论:原理与协议》、《Introduction to Modern Cryptography》(2)具体学习情况如下: 这周的学习有一些收获,也有一些问题还没有解决。有关使用PKCS1 v1.5的填充方式的RSA加密的例子没找到参考的代码,然后安装vs的时候电脑内存不够了,所以还没有实现填充式RSA。PKCS1 v1.5 用于RSA加密的PKCS1 v1.5编码格式主要用于提供机密性,通常用于分发对称加密密钥。它有010101和020202两种模式,分别
2020-10-29 10:23:02
387
2
原创 公钥密码学1
Diffie-Hellman密钥交换协议对称密钥加密需要通信双方有共享和保密的密钥,在公开的信道中,这些密钥无法安全的传送。对此,Diffie和Hellman提出了Diffie-Hellman密钥交换协议。这个协议可以使得通信双方在公开的信道中生成密钥,即便窃听敌手可以监听到整个过程,也无法知道密钥的任何信息,这种密钥交换协议是需要双方同时在线交互的。原理:但是,Diffie-Hellman协议无法抵抗中间人攻击。公钥加密ElGamal加密其安全性基于判定性Diffie-Hellman问题的
2020-10-29 10:14:50
347
1
A Cache Poisoning Attack Targeting DNS Forwarding Devices
2020-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人