前言同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、...
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编码,但是在电脑硬盘上存储是按照不同映射关系。Pythonencode和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混在一起。在实际应用中我们经常需要将两者进行互
【密钥、地址、钱包】  私钥是一个256位二进制数据。私钥随机产生,所以任何2人私钥存在重复可能。      以下是⼀个随机⽣成私钥(k),以⼗六进制格式表⽰(256位⼆进制数,以64位⼗六进制数显⽰,每个⼗六进制数占4位):      getnewaddress 命令。出于安全考虑,命令运⾏后只显⽰⽣成公钥,⽽不显⽰私钥。如果要bitcoind显⽰私钥,可以使⽤ dumpprivke
转载 2024-03-10 20:03:14
376阅读
使用强大查找功能Windows系统自带“记事本”查找替换功能很弱,但EmEditor弥补了这一点,它支持查找替换规则更加详细实用,对查找出结果可以突出显示,并可以批量查找替换未打开TXT、HTML、DOC等格式文件中内容:选择“搜索”菜单下“在文件中查找”或“在文件中替换”命令,打开查相应对话框(如图1),输入自己想要替换内容即可。EmEditor提示:批量替换操作将无法撤消
RSA是什么:RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发。RSA取名来自开发他们三者名字。RSA是目前最有影响力公钥加密算法,它能够抵抗到目前为止已知所有密码攻击,已被ISO推荐为公钥数据加密标准。目前该加密方式广泛用于网上银行、数字签名等场合。RSA算法基于一个十分简单数论事实:将两个大素数相乘十分容易,
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日公开,但是由于原因没有及时复现。但是网上有好多师傅们进行了复现,于是自己参考他们文章自己也来学习一下。漏洞概要OpenSSH8.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
 1、RAS 2、ECC椭圆曲线加解密算法原理  建立基于椭圆曲线加密机制,需要找到类似RSA质因子分解或其他求离散对数这样难题。而椭圆曲线上已知G和xG求x,是非常困难,此即为椭圆曲线上离散对数问题。此处x即为私钥,xG即为公钥。  椭圆曲线加密算法原理如下:  设私钥、公钥分别为k、K,即K = kG,其中G为G点。  公钥加密:    选择随机数r,
# 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阅读
  • 1
  • 2
  • 3
  • 4
  • 5