mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-24 15:02:20 +01:00
fuzztarget sha -> XOR, crates secp256k1
This commit is contained in:
parent
1d1ebbb290
commit
f462d8ac70
3 changed files with 9 additions and 11 deletions
|
@ -19,7 +19,7 @@ fuzztarget = ["secp256k1/fuzztarget", "bitcoin/fuzztarget"]
|
|||
bitcoin = "0.13"
|
||||
rust-crypto = "0.2"
|
||||
rand = "0.4"
|
||||
secp256k1 = { git = "https://github.com/rust-bitcoin/rust-secp256k1", branch = "master" }
|
||||
secp256k1 = "0.9"
|
||||
|
||||
[build-dependencies]
|
||||
gcc = "0.3"
|
||||
|
|
|
@ -18,7 +18,7 @@ honggfuzz_fuzz = ["honggfuzz"]
|
|||
[dependencies]
|
||||
lightning = { path = "..", features = ["fuzztarget"] }
|
||||
bitcoin = { version = "0.13", features = ["fuzztarget"] }
|
||||
secp256k1 = { git = "https://github.com/rust-bitcoin/rust-secp256k1", branch = "master" , features=["fuzztarget"]}
|
||||
secp256k1 = { version = "0.9", features=["fuzztarget"] }
|
||||
rust-crypto = "0.2"
|
||||
honggfuzz = { version = "0.5", optional = true }
|
||||
afl = { version = "0.3", optional = true }
|
||||
|
|
|
@ -4,33 +4,31 @@ pub use crypto::sha2::Sha256;
|
|||
#[cfg(feature = "fuzztarget")]
|
||||
mod fuzzy_sha {
|
||||
use crypto::digest::Digest;
|
||||
use crypto::sha2;
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct Sha256 {
|
||||
state: sha2::Sha256,
|
||||
state: u8,
|
||||
}
|
||||
|
||||
impl Sha256 {
|
||||
pub fn new() -> Sha256 {
|
||||
Sha256 {
|
||||
state: sha2::Sha256::new(),
|
||||
state: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Digest for Sha256 {
|
||||
fn result(&mut self, data: &mut [u8]) {
|
||||
self.state.result(data);
|
||||
data[0] = self.state;
|
||||
for i in 1..32 {
|
||||
data[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
fn input(&mut self, data: &[u8]) { self.state.input(data); }
|
||||
fn reset(&mut self) { self.state.reset(); }
|
||||
fn output_bits(&self) -> usize { self.state.output_bits() }
|
||||
fn block_size(&self) -> usize { self.state.block_size() }
|
||||
fn input(&mut self, data: &[u8]) { for i in data { self.state ^= i; } }
|
||||
fn reset(&mut self) { self.state = 0; }
|
||||
fn output_bits(&self) -> usize { 256 }
|
||||
fn block_size(&self) -> usize { 64 }
|
||||
}
|
||||
}
|
||||
#[cfg(feature = "fuzztarget")]
|
||||
|
|
Loading…
Add table
Reference in a new issue