前言同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)也属于公开密钥算法。目前,国内详细介绍ECC的公开文献并不多(反正我没有找到)。有一些简介,也是泛泛而谈,看完后依然理解不了ECC的实质(可能我理解力太差)。前些天我从国外网站找到些材料,看完后对EC
开篇必看 我本机环境: win7、idea2016、jdk1.8、maven、tomcat7 我的每一个实现都包含服务端和客户端,分别为TCP实现和HTTP实现。其中TCP实现仅靠jdk本身jar包就可 实现,HTTP实现需要依赖其他jar包。 文章中斜体字都是我添加的需要注意的额外解释。 首先,添加m
转载
2024-10-13 18:50:28
72阅读
密码学在希腊语中是“秘密写作”的意思,但密码学这门科学不仅只包含被称之为秘密写作的加密学。 密码学也可以用来证明秘密的知识,而不会泄露秘密(数字签名),或证明数据的真实性(数字指纹)。 这些类型的加密证明是比特币中关 键的数学工具并在比特币应用程序中被广泛使用。具有讽刺意味的是,加密不是比特币的重要组成部分,因为它的通信和交易数据没有加密,也 不需要加密来保护资金。 在本章中,我们将介绍一些在比特
转载
2024-04-07 09:27:46
10阅读
加密算法的公私钥一般使用 ASN.1 标准的 DER 编码格式,本文先介绍 ASN.1( ASN.1 基础) 相关的基础知识,最后给出 ECC 公钥 DER 格式的示例便于更好理解 DER 编码。1、ASN.1 简介ASN.1( Abstract Syntax Notation One ) 是一种接口描述语言,提供了一种平台无关的描述数据结构的方式。ASN.1 是 ITU-T、ISO、...
转载
2021-07-12 17:47:24
2426阅读
ECC算法SM2非对称加密算法先从ECC算法开始。 Elliptic Curve Cryptography 椭圆曲线满足函数:y2=x3+ax+b (4a3+27b2 0) , 限定条件保证曲线不包含奇点。 椭圆曲线算法的基本要求:1)给定私钥k和椭圆曲线基点G,容易得到Q=kG;2)给定G和Q,求k的值很难。ECC算法步骤:选择椭圆曲线,在椭圆曲线上选择基点G;生成随机数k(作为私钥),生成公钥
hash 算法定义hash (哈希或散列)算法是信息技术领域非常基础也非常重要的技术。它能任意长度的二进制值(明文)映射为较短的固定长度的二进制值(hash 值),并且不同的明文很难映射为相同的 hash 值。例如计算一段话“hello blockchain world, this is yeasy@github”的 md5 hash 值为 89242549883a2ef85dc81b90fb60
转载
2024-10-30 14:45:05
34阅读
各种加密算法不可逆性算法:加密后的结果,不可逆向算出明文。如md5,加密结果固定,不安全,弱密码可以通过穷举法反推出明文。 对称加密算法:加密和解密使用同一个密码。如AES,加密结果固定。 非对加密算法:加密和解密使用不同的密码。如RSA,每次加密结果是不同的。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可
转载
2024-01-19 22:59:55
38阅读
首先需要强调---无论是python2还是python3都可以理解成是Unicode编码,但是在电脑硬盘上存储是按照不同的映射关系的。Python的encode和decode 首先明白一件事情,之前说过Unicode将所有的字符都对应上了相应的码点,而UTF-8或者ASCII码不过是对应从Unicode到字节的映射方式,既然有映射方式,那么就有映射方向。我们把从Unicode到字节码(byte s
转载
2024-01-24 10:24:35
49阅读
大家好,很久没更新了,也是年底了最近比较忙,同时也在研究python的其他内容,毕竟是python小白,自学道路艰难。好了今天和大家一起探讨下python3编码过程中对的一些转码事宜。python3中对文本和二进制做了比较清晰的区分。python3默认编码为unicode,由str类型进行表示。二进制数据使用byte类型表示,所以不会将str和byte混在一起。在实际应用中我们经常需要将两者进行互
转载
2023-08-18 12:29:05
72阅读
【密钥、地址、钱包】 私钥是一个256位的二进制数据。私钥随机产生,所以任何2人的私钥存在重复的可能。 以下是⼀个随机⽣成的私钥(k),以⼗六进制格式表⽰(256位的⼆进制数,以64位⼗六进制数显⽰,每个⼗六进制数占4位): getnewaddress 命令。出于安全考虑,命令运⾏后只显⽰⽣成的公钥,⽽不显⽰私钥。如果要bitcoind显⽰私钥,可以使⽤ dumpprivke
转载
2024-03-10 20:03:14
376阅读
使用强大的查找功能Windows系统自带的“记事本”的查找替换功能很弱,但EmEditor弥补了这一点,它支持的查找替换规则更加详细实用,对查找出的结果可以突出显示,并可以批量查找替换未打开的TXT、HTML、DOC等格式的文件中的内容:选择“搜索”菜单下的“在文件中查找”或“在文件中替换”命令,打开查相应对话框(如图1),输入自己想要替换的内容即可。EmEditor提示:批量替换的操作将无法撤消
转载
2024-03-31 08:25:51
57阅读
RSA是什么:RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。目前该加密方式广泛用于网上银行、数字签名等场合。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,
转载
2024-06-12 23:19:39
163阅读
Openssl是很常见的C接口的库,个人觉得易用。以下是AES加密的使用备忘。如果你有一定的密码学基础,那么就很好理解。代码是从网上弄下来的(原始地址已经忘记了),然后在尝试的过程中改了一点东西。其它的cbc、cfb、ecb加密方式的用法都是类似的,只是函数名有点区别,就不一一列举了。 【yasi】IV: Initialization Vector,即初始化向量 一、接口简介 //设置加密密钥,
转载
2024-03-28 23:43:59
253阅读
命名规范数组类型与中括号紧挨相连来表示数组正例:定义整形数组 int[] arrayDemo;反例:在 main 参数中,使用 String args[]来定义。POJO 类中布尔类型的变量POJO 类中布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型 Boolean isDeleted 的属性,它的方法也是 isDeleted(),RPC阿里巴巴
该漏洞发生在2020年6月9日,在7月18日公开,但是由于原因没有及时的复现。但是网上有好多师傅们进行了复现,于是自己参考他们的文章自己也来学习一下。漏洞概要OpenSSH的8.3p1中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。目前绝大多数linux系统受影响。但是前提是真的ssh用户名密码。openshh介绍 OpenSSh是用于使用SSH(Secure SHe
目录前言一、术语二、对称加密1. AES2.加密使用三、非对称加密1. ECC2.加密使用总结前言主要讲解对称加解密AES-256、以及非对称加密ECC一、术语两个常用动词:加密:cipher 或者 encrypt 解密:decipher 或者 decrypt另外有几个名词有必要解释:cipher: 指用于加解密的「密码算法」,有时也被直接翻译成「密码」 cryptographic algorit
转载
2024-10-25 21:21:06
133阅读
1、RAS 2、ECC椭圆曲线加解密算法原理 建立基于椭圆曲线的加密机制,需要找到类似RSA质因子分解或其他求离散对数这样的难题。而椭圆曲线上的已知G和xG求x,是非常困难的,此即为椭圆曲线上的的离散对数问题。此处x即为私钥,xG即为公钥。 椭圆曲线加密算法原理如下: 设私钥、公钥分别为k、K,即K = kG,其中G为G点。 公钥加密: 选择随机数r,
转载
2024-04-02 11:00:27
82阅读
# Java实现DER编码
## 什么是DER编码
DER(Distinguished Encoding Rules)编码是一种用于编码和解码二进制数据的规则,常用于密码学和网络通信中。DER编码是ASN.1(Abstract Syntax Notation One)的一种表示形式,ASN.1是一种用于描述数据结构和交换数据的标准。
ASN.1定义了一种语法,用于描述数据类型和数据结构。DE
原创
2024-01-16 03:48:25
346阅读
A message containing letters from A-Z is being encoded to numbers using the following mapping way: 'A' -> 1
'B' -> 2
...
'Z' -> 26 Beyond that, now the encoded string can al
# 实现java DER编码 解码
## 整体流程
首先,我们需要了解DER编码和解码的基本概念。DER(Distinguished Encoding Rules)是一种ASN.1(Abstract Syntax Notation One)的编码规则,用于对数据进行序列化和反序列化。在Java中,我们可以使用Bouncy Castle库来实现DER编码和解码。
下面是实现DER编码和解码的步
原创
2024-04-17 06:25:08
431阅读