Pinned Repositories
aes
A pure Python implementation of AES
api-v1-client-python
Blockchain Bitcoin Developer APIs - Python
awesome-gpt3
awesome-graph-explainability-papers
Papers about explainability of GNNs
bert_language_understanding
Pre-training of Deep Bidirectional Transformers for Language Understanding: pre-train TextCNN
bitcoin-abe
Abe: block browser for Bitcoin and similar currencies
bitcoinbook
Mastering Bitcoin 2nd Edition - Programming the Open Blockchain
CryptoChallenge
密码算法和密码破译挑战题
DSA
MD4-Collision
MD4 Collisions MD4 is a 128-bit cryptographic hash function, meaning it should take a work factor of roughly 2^64 to find collisions. It turns out we can do much better. The paper "Cryptanalysis of the Hash Functions MD4 and RIPEMD" by Wang et al details a cryptanalytic attack that lets us find collisions in 2^8 or less. Given a message block M, Wang outlines a strategy for finding a sister message block M', differing only in a few bits, that will collide with it. Just so long as a short set of conditions holds true for M. What sort of conditions? Simple bitwise equalities within the intermediate hash function state, e.g. a[1][6] = b[0][6]. This should be read as: "the sixth bit (zero-indexed) of a[1] (i.e. the first update to 'a') should equal the sixth bit of b[0] (i.e. the initial value of 'b')". It turns out that a lot of these conditions are trivial to enforce. To see why, take a look at the first (of three) rounds in the MD4 compression function. In this round, we iterate over each word in the message block sequentially and mix it into the state. So we can make sure all our first-round conditions hold by doing this: # calculate the new value for a[1] in the normal fashion a[1] = (a[0] + f(b[0], c[0], d[0]) + m[0]).lrot(3) # correct the erroneous bit a[1] ^= ((a[1][6] ^ b[0][6]) << 6) # use algebra to correct the first message block m[0] = a[1].rrot(3) - a[0] - f(b[0], c[0], d[0]) Simply ensuring all the first round conditions puts us well within the range to generate collisions, but we can do better by correcting some additional conditions in the second round. This is a bit trickier, as we need to take care not to stomp on any of the first-round conditions. Once you've adequately massaged M, you can simply generate M' by flipping a few bits and test for a collision. A collision is not guaranteed as we didn't ensure every condition. But hopefully we got enough that we can find a suitable (M, M') pair without too much effort. Implement Wang's attack.
HMY626's Repositories
HMY626/awesome-gpt3
HMY626/awesome-graph-explainability-papers
Papers about explainability of GNNs
HMY626/Data-Science-Tutorial-By-Lambda-School
HMY626/ADBench
Official Implement of "ADBench: Anomaly Detection Benchmark".
HMY626/ailearning
AiLearning:数据分析+机器学习实战+线性代数+PyTorch+NLTK+TF2
HMY626/animegan2-pytorch
PyTorch implementation of AnimeGANv2
HMY626/anomalib
An anomaly detection library comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization, and edge inference.
HMY626/AntiFraudChatBot
A simple prompt-chatting AI based on wechaty and fintuned NLP model
HMY626/awesome-chatgpt
Curated list of awesome tools, demos, docs for ChatGPT and GPT-3
HMY626/awesome-community-detection
A curated list of community detection research papers with implementations.
HMY626/awesome-flask
A curated list of awesome Flask resources and plugins
HMY626/cleanlab
The standard data-centric AI package for data quality and machine learning with messy, real-world data and labels.
HMY626/ControlNet
Let us control diffusion models
HMY626/DIG
A library for graph deep learning research
HMY626/disco-diffusion
HMY626/faiss
A library for efficient similarity search and clustering of dense vectors.
HMY626/fastSum
HMY626/gradio
Create UIs for your machine learning model in Python in 3 minutes
HMY626/graph4nlp
Graph4nlp is the library for the easy use of Graph Neural Networks for NLP. Welcome to visit our DLG4NLP website (https://dlg4nlp.github.io/index.html) for various learning resources!
HMY626/GraphSVX
Explanation method for Graph Neural Networks (GNNs)
HMY626/interpret
Fit interpretable models. Explain blackbox machine learning.
HMY626/matplotlib
matplotlib: plotting with Python
HMY626/MetaOD
Automating Outlier Detection via Meta-Learning (Code, API, and Contribution Instructions)
HMY626/PlotNeuralNet
Latex code for making neural networks diagrams
HMY626/pycorrector
pycorrector is a toolkit for text error correction. 文本纠错,Kenlm,ConvSeq2Seq,BERT,MacBERT,ELECTRA,ERNIE,Transformer,T5等模型实现,开箱即用。
HMY626/ShameCom
收集校招污点公司或组织,帮助学弟学妹避雷。互联网不曾遗忘!
HMY626/shap
A game theoretic approach to explain the output of any machine learning model.
HMY626/tabnet
PyTorch implementation of TabNet paper : https://arxiv.org/pdf/1908.07442.pdf
HMY626/Translation_Spark-The-Definitive-Guide
Translation of the book,"Spark-The-Definitive-Guide", from English into Chinese. 书籍 《Spark权威指南》翻译
HMY626/WGDN
Wiener Graph Deconvolutional Network Improves Self-Supervised Learning in AAAI 2023