GithubHelp home page GithubHelp logo

ltecc's Introduction

LTEcc

利用椭圆曲线secp256k1 进行加解密工具

这条曲线用的比较少,macos 没有这个曲线的实现, 我用到了 比特币里面的 libsecp256k1.a 实现。 关于ecc 曲线加密,可以看看这篇文章

生成密钥对

ecc g

或者指定随机私钥 (32字节的base64 )

ecc g -s ZGLesiQ5A09PfRDDvJqNM7FxZcf2j0dMeGyV0E/A74Q=
// 保存到keychain -S ecc g -s ZGLesiQ5A09PfRDDvJqNM7FxZcf2j0dMeGyV0E/A74Q= -S

输出 会显示公钥和私钥,同时显示私钥的sha256指纹,以及其randomart


ECC encryption privateKey finggerprint: 
ZGLesiQ5A09PfRDDvJqNM7FxZcf2j0dMeGyV0E/A74Q=
randomart:

+---[Secp251k1]---+
|       o+. . o+++|
|       .ooo + oo*|
|  . . + ++.o . O.|
|   + *o=o.    E *|
|    * =XS      * |
|     =Bo.     . +|
|      .o       . |
|                 |
|                 |
+----[SHA 256]----+

0/1 = 123/133   0.519531


priKey:A5ey2d8ddoiSCxW2p/2RnLbME1YyrrCaVbyONF7ynuQ=
pubKey:BKZ2iYIYZxAtxsw/ovquy67sS5nhVoWydYB+JEvwMxMRM26tdCux0f7oSuUgMZa/Sqh3+7ZqWTONarra2BGW9OM=


加密

ecc e -p BGjWSuufcBmXmfM6Tdvu0GQfhQRmigD9hD+C+cDgdAKRGug/ZTPC4eZrMlGR3dv4A798g4SyvyoJAg+wWUgOIMo= -m hello

或者

cat a.txt | ecc -p BGjWSuufcBmXmfM6Tdvu0GQfhQRmigD9hD+C+cDgdAKRGug/ZTPC4eZrMlGR3dv4A798g4SyvyoJAg+wWUgOIMo=

默认输出是二进制,如果想base64 输出可以,使用pip

ecc e -p BGjWSuufcBmXmfM6Tdvu0GQfhQRmigD9hD+C+cDgdAKRGug/ZTPC4eZrMlGR3dv4A798g4SyvyoJAg+wWUgOIMo= -m hello | base64

加密文件

ecc e -f SFBJ.txt // -p 指定公钥,不指定就从keychain读取, -o 指定目标文件

解密 文件

ecc d -f SFBJ.txt.ec // -s 指定私钥,不指定就从keychain读取, -o 指定目标文件

解密

echo 'encrypte base64 ' | base64 -d | ecc d -s A5ey2d8ddoiSCxW2p/2RnLbME1YyrrCaVbyONF7ynuQ=

randomart

这是我在ssh-keygen 上第一次看到,觉得蛮有趣的,就自己弄了 个。decode方法出来结果不是很好,因为太容易冲突了。

ecc r -m message

ecc r -m 'hello world'
+-----------------+
|                 |
|       o         |
|      . E . o    |
|       O = *     |
|      o S = *    |
|     .   . =     |
|                 |
|                 |
|                 |
+-----------------+


ltecc's People

Contributors

vitock avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.