~/bend-docscommunity

spec/crypto/keccak/main.bend checks

raw source on the hub · import 0xd9a2fae439ac7ff9e21e0853948f94fe/spec/crypto/keccak/main.bend as Main

3 imports
import Base
import ../../../src/crypto/keccak/types.bend as T
import ./permutation.bend as F

Definitions

def initial source · line 5 · raw

0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State

def low_tail source · line 8 · raw

@w:U32 -> @n:Nat -> U32

def select_tail source · line 16 · raw

@c:Cmp -> @w:U32 -> @n:Nat -> U32

def tail_word source · line 22 · raw

@w:U32 -> @+pos:Nat -> @+remain:Nat -> U32

def last_bit source · line 25 · raw

@w:U32 -> @last:Bool -> U32

def pad source · line 30 · raw

@ws:List<&2, U32> -> @+pos:Nat -> @+remain:Nat -> List<&2, U32>

def prepare source · line 36 · raw

@padding:Bool -> @ws:List<&2, U32> -> @remain:Nat -> List<&2, U32>

def inject source · line 41 · raw

@s:0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State -> @ws:List<&2, U32> -> 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State

def gather source · line 47 · raw

@+round_count:Nat -> @n:Nat -> @+base:U32 -> @+next:U32 -> @+padding:Bool -> @+remain:Nat -> @s:0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State -> @acc:List<&2, U32> -> @pair:Pair(Array<U32>, U32) -> Pair(Array<U32>, 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State)

def absorb source · line 54 · raw

@+round_count:Nat -> @a:Array<U32> -> @+index:U32 -> @s:0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State -> Pair(Array<U32>, 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State)

def finish source · line 57 · raw

@round_count:Nat -> @a:Array<U32> -> @+index:U32 -> @remain:Nat -> @s:0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State -> 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State

def blocks source · line 60 · raw

@+round_count:Nat -> @n:Nat -> @+index:U32 -> @remain:Nat -> @pair:Pair(Array<U32>, 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State) -> 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State

def unchecked source · line 65 · raw

@+round_count:Nat -> @a:Array<U32> -> @+length:Nat -> 0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State

def digest source · line 68 · raw

@s:0xd9a2fae439ac7ff9e21e0853948f94fe/src/crypto/keccak/types.State -> Array<U32>

def checked source · line 73 · raw

@round_count:Nat -> @valid:Bool -> @a:Array<U32> -> @length:Nat -> Maybe<&1, Array<U32>>

def sized source · line 78 · raw

@round_count:Nat -> @+length:Nat -> @pair:Pair(Array<U32>, U32) -> Maybe<&1, Array<U32>>

def keccak256_rounds source · line 82 · raw

@round_count:Nat -> @a:Array<U32> -> @length:Nat -> Maybe<&1, Array<U32>>