Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aidatorajiro/crypto
crypto fun repository
https://github.com/aidatorajiro/crypto
bitcoin crypto cryptography ecdsa elliptic-curves ethereum http2 learning-with-errors monoalphabetic pari-gp postquantum python python3 segwit solidity ssl tls13
Last synced: 2 months ago
JSON representation
crypto fun repository
- Host: GitHub
- URL: https://github.com/aidatorajiro/crypto
- Owner: aidatorajiro
- Created: 2018-04-09T07:36:23.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T16:17:38.000Z (over 1 year ago)
- Last Synced: 2024-03-14T23:52:32.313Z (10 months ago)
- Topics: bitcoin, crypto, cryptography, ecdsa, elliptic-curves, ethereum, http2, learning-with-errors, monoalphabetic, pari-gp, postquantum, python, python3, segwit, solidity, ssl, tls13
- Language: JavaScript
- Homepage:
- Size: 1.11 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# my crypto works
My codes on crypto.
# contents
## Misc
- README.md - this file
- fft.py - Fast Fourier Transform (WIP)
- package.json - package.json for `.js` files
- nanndah.py - key exchange (WIP)
- shadh.py - key exchange (WIP)
- general.py - general encryption system## Elliptic Curve
- EC.sol - ECDSA in JS.
- EC2.sol - Elliptic Curve compution in Solidity.
- EC_test.js - Elliptic Curve test file
- ec.js - Elliptic curve address generation
- gp.gp - PARI/GP elliptic curve pairing
- zcash.gp - PARI/GP zcash (WIP)
- mont_to_wiel.gp - montgomery curve to weierstrass curve### Python Fullscratch Project
These python scripts are greatly helped by the stackoverflow post : . And here:
- fullscratch_pairing_weil.py - fullscratch weil pairing.
- fullscratch_pairing_tate.py - fullscratch tate pairing.
- fullscratch.py - fullscratch ECDSA in python.
- fullscratch_address.py - fullscratch ECDSA address generation in python.
- fullscratch_elgamal.py - fullscratch EC elgamal in python. (WIP?)
- fullscratch_mod_elgamal.py - fullscratch EC modified elgamal in python.
- fullscratch_pairing.py - fullscratch EC pairing in python. (WIP?)
- fullscratch_takusan.py - fullscratch ECDSA in python (infinite loop).
- fullscratch_zcash.py - fullscratch zcash in python (WIP)
- fullscratch_zcash_2.py - fullscratch zcash in python (WIP)
- fullscratch_zero_prf.py - fullscratch elliptic curve zero knowledge proof in python.
- projection.py - fullscratch EC addition / multiplication / pairing. Using projection to improve performance.## Blockchain
- HomomorphicTransaction.sol - additive homomorphic transaction in solidity
- HomomorphicTransaction_test.js - additive homomorphic transaction in solidity
- NestedSign.sol - ECDSA verifier in Solidity. Signed message in signed Ethereum transaction!
- bech32.js - copy of bech32.js by Pieter Wuille
- btc_wallet.js - bitcoin wallet
- eth_wallet.js - Ethereum wallet
- eth_wallet_2.js - Ethereum wallet (WIP)
- segwit_addr.js - SegWit address
- zclib.py - ZCash transaction parse library
- zcrpc.py - ZCash RPC## Statistics and Machine Learning over a Finite Field
- kusa.py - mean, variance, Standard deviation (if exists) in a finite field
- kusa2.py - polynomial fitting over a finite field, using numpy
- kusa3.py - polynomial fitting (without loss) over a finite field, pure python Oddly faster than kusa2.py.
- kusa3.test.py - tests of kusa3.py
- kusa4.py - polynomial fitting (with loss) over a finite field, pure python (WIP)
- kusa4.test.py - tests of kusa4.py## Learning with Error
- lwe_sugoi.py - Learning with error cryptosystem in python (requires library mpmath).## Post-Quantum RSA (multi prime RSA)
- pqrsa.py - key generation
- pqrsa_decr.py - decrypt
- pqrsa_decr_2.py - decrypt## Monoalphabetic Substitution Cryptosystem
- mono_decr.py - Simple decryptor.
- mono_kaiseki.py - Count each characters
- mono_shuukei.py - Count consecutive characters.
- monosol - Graphical monoalphabetic substitution solver using Vue.js.### Decrypting Romaji Ciphertext
- KWDLC - You have to download this from in order to run `mono_kana*.py`.
- mono_kana_cipher.txt - Ciphertext input for `mono_kana*.py`. You have to create this file.
`"\n"` (LF) can be used as a separator.
- mono_kana_setting.py - Setting for `mono_kana*.py`. You have to create this file.
Set the contents to `cipher_char_whitelist = ""`.
`cipher_char_whitelist` must be 23 character length.
- mono_kana1.py - Count each characters from KWDLC
- mono_kana2.py - PCA Analysis of neighbor count (separated matrix)
- mono_kana3.py - PCA Analysis of neighbor count (concatenated matrix)
- mono_kana4.py - PCA Analysis of neighbor count (separated matrix, use different normalization)
- mono_kana5.py - PCA Analysis of neighbor count (separated matrix, mono_kana_setting.py not needed)## TLS 1.3 (X25519, EMSA_PSS_VERIFY, etc.)
- ssl.gp - fullscratch TLS 1.3 related program (WIP?)
- ssl2.gp - fullscratch TLS 1.3 related program (WIP?)
- tls13.py - fullscratch TLS 1.3 related program (WIP?)## HTTP/2
- muzukasisa.txt - Not actually crypto but obfuscation? Attempt to "netcat" (although using openssl so not completely full-scratch) HTTP/2 connection. Not working for now...