Skip to content

Commit

Permalink
WIP: sha3 with digest v0.11.0-pre
Browse files Browse the repository at this point in the history
  • Loading branch information
aewag committed May 5, 2023
1 parent 6b17990 commit a78f994
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 19 deletions.
2 changes: 1 addition & 1 deletion sha3/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ keywords = ["crypto", "sha3", "keccak", "hash", "digest"]
categories = ["cryptography", "no-std"]

[dependencies]
digest = "0.10.4"
digest = "0.11.0-pre"
keccak = "0.1.4"

[dev-dependencies]
Expand Down
36 changes: 18 additions & 18 deletions sha3/src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ macro_rules! impl_sha3 {
#[inline]
fn update_blocks(&mut self, blocks: &[Block<Self>]) {
for block in blocks {
self.state.absorb_block(block)
self.state.absorb_block(&block)
}
}
}
Expand All @@ -39,12 +39,12 @@ macro_rules! impl_sha3 {
#[inline]
fn finalize_fixed_core(&mut self, buffer: &mut Buffer<Self>, out: &mut Output<Self>) {
let pos = buffer.get_pos();
let block = buffer.pad_with_zeros();
let mut block = buffer.pad_with_zeros();
block[pos] = $pad;
let n = block.len();
block[n - 1] |= 0x80;

self.state.absorb_block(block);
self.state.absorb_block(&block);

self.state.as_bytes(out);
}
Expand Down Expand Up @@ -124,7 +124,7 @@ macro_rules! impl_shake {
#[inline]
fn update_blocks(&mut self, blocks: &[Block<Self>]) {
for block in blocks {
self.state.absorb_block(block)
self.state.absorb_block(&block)
}
}
}
Expand All @@ -135,12 +135,12 @@ macro_rules! impl_shake {
#[inline]
fn finalize_xof_core(&mut self, buffer: &mut Buffer<Self>) -> Self::ReaderCore {
let pos = buffer.get_pos();
let block = buffer.pad_with_zeros();
let mut block = buffer.pad_with_zeros();
block[pos] = $pad;
let n = block.len();
block[n - 1] |= 0x80;

self.state.absorb_block(block);
self.state.absorb_block(&block);
$reader {
state: self.state.clone(),
}
Expand Down Expand Up @@ -270,7 +270,7 @@ macro_rules! impl_turbo_shake {
#[inline]
fn update_blocks(&mut self, blocks: &[Block<Self>]) {
for block in blocks {
self.state.absorb_block(block)
self.state.absorb_block(&block)
}
}
}
Expand All @@ -281,12 +281,12 @@ macro_rules! impl_turbo_shake {
#[inline]
fn finalize_xof_core(&mut self, buffer: &mut Buffer<Self>) -> Self::ReaderCore {
let pos = buffer.get_pos();
let block = buffer.pad_with_zeros();
let mut block = buffer.pad_with_zeros();
block[pos] = self.domain_separation;
let n = block.len();
block[n - 1] |= 0x80;

self.state.absorb_block(block);
self.state.absorb_block(&block);
$reader {
state: self.state.clone(),
}
Expand Down Expand Up @@ -398,36 +398,36 @@ macro_rules! impl_cshake {
let mut b = [0u8; 9];
buffer.digest_blocks(left_encode($rate::to_u64(), &mut b), |blocks| {
for block in blocks {
state.absorb_block(block);
state.absorb_block(&block);
}
});
buffer.digest_blocks(
left_encode((function_name.len() * 8) as u64, &mut b),
|blocks| {
for block in blocks {
state.absorb_block(block);
state.absorb_block(&block);
}
},
);
buffer.digest_blocks(function_name, |blocks| {
for block in blocks {
state.absorb_block(block);
state.absorb_block(&block);
}
});
buffer.digest_blocks(
left_encode((customization.len() * 8) as u64, &mut b),
|blocks| {
for block in blocks {
state.absorb_block(block);
state.absorb_block(&block);
}
},
);
buffer.digest_blocks(customization, |blocks| {
for block in blocks {
state.absorb_block(block);
state.absorb_block(&block);
}
});
state.absorb_block(buffer.pad_with_zeros());
state.absorb_block(&buffer.pad_with_zeros());

Self {
padding: $cshake_pad,
Expand All @@ -452,7 +452,7 @@ macro_rules! impl_cshake {
#[inline]
fn update_blocks(&mut self, blocks: &[Block<Self>]) {
for block in blocks {
self.state.absorb_block(block)
self.state.absorb_block(&block)
}
}
}
Expand All @@ -463,12 +463,12 @@ macro_rules! impl_cshake {
#[inline]
fn finalize_xof_core(&mut self, buffer: &mut Buffer<Self>) -> Self::ReaderCore {
let pos = buffer.get_pos();
let block = buffer.pad_with_zeros();
let mut block = buffer.pad_with_zeros();
block[pos] = self.padding;
let n = block.len();
block[n - 1] |= 0x80;

self.state.absorb_block(block);
self.state.absorb_block(&block);
$reader {
state: self.state.clone(),
}
Expand Down

0 comments on commit a78f994

Please sign in to comment.