forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fuzz: prototype for cross-language differential fuzzing #9
Open
stratospher
wants to merge
7
commits into
master
Choose a base branch
from
socket_diff_fuzz_chacha20
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Commits on Jan 17, 2022
-
Add implementation of chacha20 in python
Taken from https://github.com/ph4r05/py-chacha20poly1305. Note that this is different from the ChaCha20 implementation used in Bitcoin Core since this: 1. uses a 96 bit nonce (instead of a 64 bit nonce) 2. does not reuse existing keystream
Configuration menu - View commit details
-
Copy full SHA for f2c36ae - Browse repository at this point
Copy the full SHA f2c36aeView commit details -
Modify ChaCha20 to be consistent with Bitcoin Core implementation
That is, allow 64 bit nonce and keystream reuse.
Configuration menu - View commit details
-
Copy full SHA for 4fc9c4b - Browse repository at this point
Copy the full SHA 4fc9c4bView commit details -
Add python server file which performs chacha20 operations
The server creates a new unix domain socket which will listen and accept client connections. Based on the chacha20 operation the client(fuzz target) requests, it performs chacha20 operations parallelly using the python chacha20 implementation and sends back the response(like keystream, ciphertext) back to the client(fuzz target).
Configuration menu - View commit details
-
Copy full SHA for a8bd943 - Browse repository at this point
Copy the full SHA a8bd943View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bf1d4e - Browse repository at this point
Copy the full SHA 8bf1d4eView commit details -
Add fuzzing harness to compare python and cpp chacha20 outputs
This behaves like the client and sends requests to the python server file (src/test/fuzz/script.py) to perform certain operations, receives python output computed in the server file and compares both to see if they match.
Configuration menu - View commit details
-
Copy full SHA for ea4497b - Browse repository at this point
Copy the full SHA ea4497bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7712f33 - Browse repository at this point
Copy the full SHA 7712f33View commit details
Commits on Feb 12, 2022
-
Configuration menu - View commit details
-
Copy full SHA for abb8a6d - Browse repository at this point
Copy the full SHA abb8a6dView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.