secp256k1_util.c
2024-03-01 14:14:26 2KB
1
全部: utxo 更改为仅包含 utxo 偏移量而不是整个哈希 交易只需要一个签名,而不是对每个 utxo 输入进行签名 联网 将 pow 算法从 sha256 更改为更耐 asic 的东西。(也许是 Nerva 的算法?) 可以通过切换到 Schnorr 来提高安全性和内存 O(n) -> O(1)(因此我们可以在每个 tx 中批量签名,因为 sum(sig) 验证 sum(keys)) 基于 Utxo 的加密货币使用 sha256 散列算法和 secp256k1 椭圆曲线上的 ecdsa 签名 序列化输出/utxo 版本 -- 2 个字节 值 -- 4 个字节 所有者 -- 32 字节 序列化输入 utxo hash -- 32 bytes <-- 这是从 Sha256([utxo, blockheader, index in utxos of block]) 创建的 信号大小 -- 1 字节 签名sig 大小-- 67-70 字节 序列化交易 版本 -- 2 个字节 输入计数n -- 1 字节 序列化输入n -- 99-102 字节 输出计数z -- 1 字节 序列化输出z
2022-06-11 18:06:23 22KB rust 算法
Pollard的SECPK1袋鼠 用于SECP256K1的Pollard袋鼠间隔ECDLP求解器(基于VanitySearch引擎)。 该程序仅限于125位间隔搜索。 特征 固定大小的算术 快速模块化反转(延迟右移62位) SecpK1快速模块化乘法(使用64位数字将512位折叠为256位减少量的2个步骤) 多GPU支持 通过嵌入式PTX组装进行CUDA优化 讨论主题 讨论主题: ://bitcointalk.org/index.php 5244940.0 用法 Kangaroo v2.1 Kangaroo [-v] [-t nbThread] [-d dpBit] [gpu] [-check] [-gpuId gpuId1[,gpuId2,...]] [-g g1x,g1y[,g2x,g2y,...]] inFile -v: Print ve
1
欢迎 警告:这本书还没写完! 我仍在研究某些章节。 完成后,我将其发布为PDF和EPUB。 耐心点。 一本关于密码学的现代实用书籍,为开发人员提供了代码示例,涵盖了以下核心概念:哈希(例如SHA-3和BLAKE2), MAC代码(例如HMAC和GMAC),密钥派生功能(例如Scrypt,Argon2),密钥协议(例如DHKE,ECDH),对称密码(例如AES和ChaCha20,密码块模式,经过身份验证的加密,AEAD,AES-GCM,ChaCha20-Poly1305),非对称密码和公钥密码系统(RSA,ECC,ECIES),椭圆曲线密码术(ECC,secp256k1,curve25519)
2022-01-24 15:26:02 7.49MB python cryptography tutorial programming
1
secp256k1-js 纯JS实现secp256k1签名,验证,恢复ECDSA。 该代码在浏览器和NodeJS中均按原样工作,而无需捆绑程序。 Node.js的用法 npm install @enumatech/secp256k1-js 例子 const crypto = require ( 'crypto' ) const assert = require ( 'assert' ) const Secp256k1 = require ( '@enumatech/secp256k1-js' ) // Generating private key const privateKeyBuf = crypto . randomBytes ( 32 ) const privateKey = Secp256k1 . uint256 ( privateKeyBuf , 16 ) // Genera
2021-08-22 18:20:52 15KB nodejs javascript bitcoin ecc
1
eciesjs TypeScript中secp256k1的椭圆曲线集成加密方案。 这是JavaScript /打字稿版本的带有内置类样secp256k1 ,你可以去那里详细的文档和学习引擎盖下的机制。 如果希望WASM版本在浏览器中运行,请检查 。 安装 npm install eciesjs 快速开始 > import { encrypt , decrypt , PrivateKey } from 'eciesjs' > const k1 = new PrivateKey ( ) > const data = Buffer . from ( 'this is a test' ) > decrypt ( k1 . toHex ( ) , encrypt ( k1 . publicKey . toHex ( ) , data ) ) . toString ( ) 'this is a test' API encrypt(receiverRawPub: string | Buffer, msg: Buffer): Buffer 参数: receiverRawPub-接收者的se
2021-08-22 13:35:04 42KB javascript cryptography typescript bitcoin
1
爆笑 python中secp256k1的椭圆曲线集成加密方案。 其他语言版本: 您也可以查看FastAPI Web后端演示。 安装 在Python pip install eciespy使用pip install eciespy 。 快速开始 >> > from ecies . utils import generate_eth_key , generate_key >> > from ecies import encrypt , decrypt >> > eth_k = generate_eth_key () >> > sk_hex = eth_k . to_hex () # hex string >> > pk_hex = eth_k . public_key . to_hex () # hex string >> > data = b'this is a test' >> > decrypt ( sk_hex , encrypt ( pk_hex , data )) b'this is a test' >> > secp_k = generate_key () >> >
2021-08-16 18:08:42 31KB cryptography bitcoin ethereum python3
1
该实例是加密货币的椭圆曲线算法,使用C+编写。可以方便学习加密/签名,是做区块链项目的重要的一个子项目参考。
2021-07-13 17:08:27 10.16MB ECC Blockchain 数字货币加密
1
程序对提供的点 G(输入)和提供的 256 位随机生成的私钥 d(输入)执行标量乘法。 程序默认为 secp256k1 基点。 输入应为大端十六进制。 程序仅使用各种私钥在几个点上进行了测试。 用户通过 Q=dG 生成用户的公钥并提供给另一个用户。 另一个用户提供他们的公钥 (q),它通过再次运行算法生成共享密钥 S=dq。 共享密钥 (S) 用于使用 AES (Advanced_Encryption_Standard) 等算法对两个用户之间共享的消息进行加密和解密。 该程序不是为高速而设计的,但执行速度仍然相当快。 程序不会运行检查来验证输入点是否在椭圆曲线上 (y^2=Y=x^3+7)。
2021-06-30 12:59:14 3KB matlab
1
基于secp256k1椭圆曲线的加密解密
2021-06-19 17:33:49 321KB C/C 开发-加密解密
1