0%

tls1.3
TLS1.3的最终版本,在2018年8月发布,它包含着很多不同以往版本的改进,相对于之前版本安全性以及性能具有极大的提高,同时它也具备了更多的扩展和握手模式,那么从实现完整TLS1.3结构的角度去学习TLS,我们应该从哪些方面入手呢?


阅读全文 »

简介

ssh通过创建安全隧道来实现ssh客户端与服务器之间的连接,
它的主要用途是连接远程服务器然后在上面执行指令。

阅读全文 »

写在前面

先在前面说一下,我没有完全实现整个过程,因为有一个地方确实实现不了,等以后有条件再使用别的方法尝试一下。前一段时间看了一篇14年的论文,里面主要说的是比特币中随机数相同会造成私钥泄漏的问题,作者分析了当下存在很多因私钥泄漏,比特币频频被盗的现象,然后找到了问题所在,并且使用Blockchainr工具将其实现了,找出了比特币网络中存在的使用相同随机数的用户私钥。

阅读全文 »

Nmap工具

相关脚本

ssh-hostkey显示SSH主机的公钥
ssl-enum-ciphers该脚本重复启动SSLv3 / TLS连接,每次在记录主机是否接受时都尝试使用新的密码或压缩程序。最终结果是服务器接受的所有密码套件和压缩器的列表,主要就是返回的主机所使用的密码套件和椭圆曲线。
ssl-cert检索服务器的SSL证书。我主要通过这个脚本获得了以MD5和sha-1输出的签名,但是我还没搞懂对谁签的名。

阅读全文 »

Bitcoin and Key Management

比特币提供了匿名性,但是匿名性很差,使用多个私钥会获得较好的匿名性。但是如果比特币钱包包含的是随机生成的私钥,将会产生大量的私钥,在实际中很难管理,并且占用大量储存空间。所以找到一个好的解决方法至关重要。在较早的一批比特币客户端中,使用的是随机生成私钥的集合的钱包,这种钱包被称为零型非确定型钱包,它的缺点就是如果你生成很多私钥,就必须要保存它们的副本,不然私钥丢失里面的比特币也将付诸东流,并且这种情况与避免重复使用地址相冲突,地址关联多重交易和对方地址重复使用会减少隐私,也就是降低匿名性,所以这种钱包不是一种很好的选择,下面为大家介绍解决方法——确定性钱包

阅读全文 »

Fixed Point Multiplication Methods

double-and-add

在椭圆曲线中计算:$Q=kP$比较容易想到的方法是:double-and-add方法。此方法的想法是将$k$采用二进制表示:
      $k=k_0+2k_1+2^2k_2+\cdots+2^mk_m$
其中的 $[k_0,\cdots,k_m]\epsilon[0,1]$,并且 $m$ 是 $k$ 的位长度,所以在Bitcoin中 $m=256$。
给出其算法:

阅读全文 »

背景

比特币钱包的主要功能时存储地址和其对应的私钥,它有多种不同的形式,包括桌面软件、移动App,在线服务、硬件、智能卡和纸钱包等,而私钥呢是一个完全随机的数字,一般是256位二进制数,以64位16进制数显示,这对于人脑而言是很难记忆的并且做到安全存储,无论你使用哪种钱包,都始终有可能因网络安全漏洞而丢失私钥。
而大脑钱包就是一种解决方案,不需要用户将任何东西放在安全的地方并且仍然能够恢复其私钥,无需存储和保护私钥,而是可以将其存储在人的脑海当中,其使用人工选择的密码或密码短语创建私钥,使用SHA256算法,将其转换成256位二进制数,由于SHA256算法是确定性的方法,用户始终可以使用相同的密码来重新创建私钥,而不需要记住私钥,所以脑钱包的安全性仅取决于密码的不可预测性。

提出时间

2012年4月,一个名叫BrainWallet.org的网站出现了,这是一个基于网页的JavaScript比特币地址生成器

缺点

由于密码产生私钥,所以攻击者只要猜出密码就可以得到私钥并立即盗窃用户的BTC,并且攻击者可以无节制的进行离线猜测候选密码,因为在比特币区块链上,所有交易都是公开透明的,因此攻击者可以提取出所有的地址与自己所猜测的地址进行匹配

#