~/bend-docscommunity

src/hub_sha/core.bend checks

raw source on the hub · import mylsm-lsm-store@0.4.0.0/src/hub_sha/core.bend as Core

Vendored from bend-collections 0x9ee2e9a299991dcc089fe22c7f3ceb5f (src/crypto/sha/core.bend), byte-identical except Window renamed to ShaWindow: Bend 2.0.28 Base added a GUI Window type that collides with this module's schedule-window type. Verify against NIST vectors, not the upstream PROOF.bend (which covers the original names).

2 imports
import Base
import ./state.bend as S

Types

type ShaWindow source · line 10 · raw

Data

Represent ShaWindow data used by the SHA-256 compression implementation.

Definitions

def initial source · line 16 · raw

0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

SHA-256 for byte sequences. Each input U32 contributes its low 8 bits. SHA-256 arithmetic is native U32, hence addition wraps modulo 2^32.

def rotr source · line 21 · raw

@+word:U32 -> @+bit_shift:Nat -> U32

Handle rotr in the SHA-256 compression implementation.

def big0 source · line 25 · raw

@+word:U32 -> U32

Compute the big sigma function for 0 for the SHA-256 compression implementation.

def big1 source · line 31 · raw

@+word:U32 -> U32

Compute the big sigma function for 1 for the SHA-256 compression implementation.

def small0 source · line 37 · raw

@+word:U32 -> U32

Compute the small sigma function for 0 for the SHA-256 compression implementation.

def small1 source · line 43 · raw

@+word:U32 -> U32

Compute the small sigma function for 1 for the SHA-256 compression implementation.

def choose source · line 49 · raw

@+word_x:U32 -> @word_y:U32 -> @word_z:U32 -> U32

Handle choose in the SHA-256 compression implementation.

def majority source · line 53 · raw

@+word_x:U32 -> @+word_y:U32 -> @+word_z:U32 -> U32

Handle majority in the SHA-256 compression implementation.

def step source · line 57 · raw

@state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> @round_constant:U32 -> @schedule_word:U32 -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Handle step in the SHA-256 compression implementation.

def feedforward source · line 64 · raw

@prior_state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> @round_state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Feed forward for the SHA-256 compression implementation.

def get source · line 71 · raw

@xs:List<&2, U32> -> @index:Nat -> U32

Handle get in the SHA-256 compression implementation.

def next_word_slow source · line 81 · raw

@+history:List<&2, U32> -> U32

Reverse history: at round t, index j contains W[t-1-j].

def next_word source · line 88 · raw

@+history:List<&2, U32> -> U32

Schedule histories always contain at least 16 words. Destructuring that prefix avoids four independent linked-list walks for every expanded word; the fallback preserves the total behavior used by the universal refinement theorem.

def expand source · line 96 · raw

@rounds_left:Nat -> @+history:List<&2, U32> -> List<&2, U32>

Handle expand in the SHA-256 compression implementation.

def schedule source · line 105 · raw

@extra:Nat -> @+block:List<&2, U32> -> List<&2, U32>

Handle schedule in the SHA-256 compression implementation.

def rounds source · line 110 · raw

@ks:List<&2, U32> -> @ws:List<&2, U32> -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Handle rounds in the SHA-256 compression implementation.

def compress source · line 120 · raw

@ws:List<&2, U32> -> @ks:List<&2, U32> -> @+state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Compression consumes an already expanded 64-word schedule.

def expanded_rounds source · line 126 · raw

@rounds_left:Nat -> @+history:List<&2, U32> -> @ks:List<&2, U32> -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Generate each derived schedule word immediately before its round. The reverse history is still retained for the recurrence, but the chronological 48-word extension is never materialized.

def schedule_rounds source · line 137 · raw

@ws:List<&2, U32> -> @+extra:Nat -> @+history:List<&2, U32> -> @ks:List<&2, U32> -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Consume the original block words, then continue directly with its expansion.

def window_rounds source · line 154 · raw

@rounds_left:Nat -> @win:ShaWindow -> @ks:List<&2, U32> -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

A fixed rolling window drops schedule words as soon as they are older than 16 rounds. This avoids growing and reference-counting the reverse history list.

def window_schedule_rounds source · line 166 · raw

@ws:List<&2, U32> -> @+extra:Nat -> @win:ShaWindow -> @ks:List<&2, U32> -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Handle window schedule rounds in the SHA-256 compression implementation.

def fused_compress_slow source · line 182 · raw

@+block:List<&2, U32> -> @+extra:Nat -> @+ks:List<&2, U32> -> @+state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Handle fused compress slow in the SHA-256 compression implementation.

def fused_compress source · line 186 · raw

@+block:List<&2, U32> -> @+extra:Nat -> @+ks:List<&2, U32> -> @+state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Handle fused compress in the SHA-256 compression implementation.

def window_compress16 source · line 197 · raw

@+word_a:U32 -> @+word_b:U32 -> @+word_c:U32 -> @+word_d:U32 -> @+word_e:U32 -> @+word_f:U32 -> @+word_g:U32 -> @+word_h:U32 -> @+word_i:U32 -> @+word_j:U32 -> @+round_constant:U32 -> @+word_l:U32 -> @+word_m:U32 -> @+count:U32 -> @+word_o:U32 -> @+word_p:U32 -> @+extra:Nat -> @+ks:List<&2, U32> -> @+state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Fast path for the 16-word blocks produced by block_bytes. It executes the seed rounds directly and constructs only the fixed rolling window.

def be32 source · line 243 · raw

@+word:U32 -> List<&2, U32>

Handle be32 in the SHA-256 compression implementation.

def length_octets source · line 248 · raw

@count:Nat -> @+byte_length:Nat -> @acc:List<&2, U32> -> List<&2, U32>

Return the length of gth octets in the SHA-256 compression implementation.

def bit_length source · line 256 · raw

@+byte_length:Nat -> List<&2, U32>

Handle bit length in the SHA-256 compression implementation.

def pack source · line 261 · raw

@word_a:U32 -> @word_b:U32 -> @word_c:U32 -> @word_d:U32 -> U32

Handle pack in the SHA-256 compression implementation.

def digest source · line 267 · raw

@state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> List<&2, U32>

Handle digest in the SHA-256 compression implementation.

def block_bytes source · line 273 · raw

@bytes:List<&2, U32> -> @+extra:Nat -> @+ks:List<&2, U32> -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Generic block decoder over a padded byte list and any constant table. The fast path below is proved equal to it with the FIPS table.

def round_constants source · line 286 · raw

List<&2, U32>

FIPS 180-4 round constants, the table the specialized rounds below inline.

def kr64 source · line 308 · raw

@state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

SHA-256 round t (16 <= t < 64) with its constant as a literal. Like window_rounds, q bounds the remaining rounds (48 for SHA-256) and each round derives its schedule word from the rolling window before continuing with round t+1. Defined last-to-first because names must precede use.

def kr63 source · line 312 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 63.

def kr62 source · line 321 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 62.

def kr61 source · line 330 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 61.

def kr60 source · line 339 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 60.

def kr59 source · line 348 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 59.

def kr58 source · line 357 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 58.

def kr57 source · line 366 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 57.

def kr56 source · line 375 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 56.

def kr55 source · line 384 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 55.

def kr54 source · line 393 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 54.

def kr53 source · line 402 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 53.

def kr52 source · line 411 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 52.

def kr51 source · line 420 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 51.

def kr50 source · line 429 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 50.

def kr49 source · line 438 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 49.

def kr48 source · line 447 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 48.

def kr47 source · line 456 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 47.

def kr46 source · line 465 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 46.

def kr45 source · line 474 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 45.

def kr44 source · line 483 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 44.

def kr43 source · line 492 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 43.

def kr42 source · line 501 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 42.

def kr41 source · line 510 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 41.

def kr40 source · line 519 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 40.

def kr39 source · line 528 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 39.

def kr38 source · line 537 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 38.

def kr37 source · line 546 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 37.

def kr36 source · line 555 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 36.

def kr35 source · line 564 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 35.

def kr34 source · line 573 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 34.

def kr33 source · line 582 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 33.

def kr32 source · line 591 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 32.

def kr31 source · line 600 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 31.

def kr30 source · line 609 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 30.

def kr29 source · line 618 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 29.

def kr28 source · line 627 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 28.

def kr27 source · line 636 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 27.

def kr26 source · line 645 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 26.

def kr25 source · line 654 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 25.

def kr24 source · line 663 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 24.

def kr23 source · line 672 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 23.

def kr22 source · line 681 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 22.

def kr21 source · line 690 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 21.

def kr20 source · line 699 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 20.

def kr19 source · line 708 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 19.

def kr18 source · line 717 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 18.

def kr17 source · line 726 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 17.

def kr16 source · line 735 · raw

@rounds_left:Nat -> @win:ShaWindow -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Return the SHA-256 round constant for schedule index 16.

def fips_compress16 source · line 744 · raw

@+word_a:U32 -> @+word_b:U32 -> @+word_c:U32 -> @+word_d:U32 -> @+word_e:U32 -> @+word_f:U32 -> @+word_g:U32 -> @+word_h:U32 -> @+word_i:U32 -> @+word_j:U32 -> @+round_constant:U32 -> @+word_l:U32 -> @+word_m:U32 -> @+count:U32 -> @+word_o:U32 -> @+word_p:U32 -> @+rounds_left:Nat -> @+state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

window_compress16 specialized to the FIPS table: no constant list is walked.

def suffix source · line 784 · raw

@+byte_length:Nat -> List<&2, U32>

FIPS padding suffix for a message of n bytes, computed with modular arithmetic. The proofs state the streaming hash in terms of it.

def len_hi source · line 792 · raw

@+byte_length:Nat -> U32

Big-endian words of the 64-bit message bit length 8n, computed from n with exactly the digit expressions bit_length produces, but without building and matching an eight-element list. bit_length(n) is [o(d6), .., o(d0), low] where d0 = n / 32, d(k+1) = dk / 256 and o(x) = x mod 256.

def len_lo source · line 804 · raw

@+byte_length:Nat -> U32

Return the length of lo in the SHA-256 compression implementation.

def fin0 source · line 815 · raw

@+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Final block(s) for an n-byte message ending in r = 0..63 tail bytes. Each tail length has its own padded layout: the tail bytes, the 0x80 marker, the zero fill and the big-endian bit length are packed straight into schedule words, so no padded list is built.

def fin1 source · line 820 · raw

@+t0:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 1 to the compression state.

def fin2 source · line 825 · raw

@+t0:U32 -> @+t1:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 2 to the compression state.

def fin3 source · line 830 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 3 to the compression state.

def fin4 source · line 835 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 4 to the compression state.

def fin5 source · line 848 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 5 to the compression state.

def fin6 source · line 862 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 6 to the compression state.

def fin7 source · line 877 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 7 to the compression state.

def fin8 source · line 893 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 8 to the compression state.

def fin9 source · line 910 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 9 to the compression state.

def fin10 source · line 928 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 10 to the compression state.

def fin11 source · line 947 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 11 to the compression state.

def fin12 source · line 967 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 12 to the compression state.

def fin13 source · line 988 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 13 to the compression state.

def fin14 source · line 1010 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 14 to the compression state.

def fin15 source · line 1033 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 15 to the compression state.

def fin16 source · line 1057 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 16 to the compression state.

def fin17 source · line 1082 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 17 to the compression state.

def fin18 source · line 1108 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 18 to the compression state.

def fin19 source · line 1135 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 19 to the compression state.

def fin20 source · line 1163 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 20 to the compression state.

def fin21 source · line 1192 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 21 to the compression state.

def fin22 source · line 1222 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 22 to the compression state.

def fin23 source · line 1253 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 23 to the compression state.

def fin24 source · line 1285 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 24 to the compression state.

def fin25 source · line 1318 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 25 to the compression state.

def fin26 source · line 1352 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 26 to the compression state.

def fin27 source · line 1387 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 27 to the compression state.

def fin28 source · line 1423 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 28 to the compression state.

def fin29 source · line 1460 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 29 to the compression state.

def fin30 source · line 1498 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 30 to the compression state.

def fin31 source · line 1537 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 31 to the compression state.

def fin32 source · line 1577 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 32 to the compression state.

def fin33 source · line 1618 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 33 to the compression state.

def fin34 source · line 1660 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 34 to the compression state.

def fin35 source · line 1703 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 35 to the compression state.

def fin36 source · line 1747 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 36 to the compression state.

def fin37 source · line 1792 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 37 to the compression state.

def fin38 source · line 1838 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 38 to the compression state.

def fin39 source · line 1885 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 39 to the compression state.

def fin40 source · line 1933 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 40 to the compression state.

def fin41 source · line 1982 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 41 to the compression state.

def fin42 source · line 2032 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 42 to the compression state.

def fin43 source · line 2083 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 43 to the compression state.

def fin44 source · line 2135 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 44 to the compression state.

def fin45 source · line 2188 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 45 to the compression state.

def fin46 source · line 2242 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 46 to the compression state.

def fin47 source · line 2297 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 47 to the compression state.

def fin48 source · line 2353 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 48 to the compression state.

def fin49 source · line 2410 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 49 to the compression state.

def fin50 source · line 2468 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 50 to the compression state.

def fin51 source · line 2527 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 51 to the compression state.

def fin52 source · line 2587 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 52 to the compression state.

def fin53 source · line 2648 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 53 to the compression state.

def fin54 source · line 2710 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 54 to the compression state.

def fin55 source · line 2773 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 55 to the compression state.

def fin56 source · line 2837 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 56 to the compression state.

def fin57 source · line 2903 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 57 to the compression state.

def fin58 source · line 2970 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+t57:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 58 to the compression state.

def fin59 source · line 3038 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+t57:U32 -> @+t58:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 59 to the compression state.

def fin60 source · line 3107 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+t57:U32 -> @+t58:U32 -> @+t59:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 60 to the compression state.

def fin61 source · line 3177 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+t57:U32 -> @+t58:U32 -> @+t59:U32 -> @+t60:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 61 to the compression state.

def fin62 source · line 3248 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+t57:U32 -> @+t58:U32 -> @+t59:U32 -> @+t60:U32 -> @+t61:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 62 to the compression state.

def fin63 source · line 3320 · raw

@+t0:U32 -> @+t1:U32 -> @+t2:U32 -> @+t3:U32 -> @+t4:U32 -> @+t5:U32 -> @+t6:U32 -> @+t7:U32 -> @+t8:U32 -> @+t9:U32 -> @+t10:U32 -> @+t11:U32 -> @+t12:U32 -> @+t13:U32 -> @+t14:U32 -> @+t15:U32 -> @+t16:U32 -> @+t17:U32 -> @+t18:U32 -> @+t19:U32 -> @+t20:U32 -> @+t21:U32 -> @+t22:U32 -> @+t23:U32 -> @+t24:U32 -> @+t25:U32 -> @+t26:U32 -> @+t27:U32 -> @+t28:U32 -> @+t29:U32 -> @+t30:U32 -> @+t31:U32 -> @+t32:U32 -> @+t33:U32 -> @+t34:U32 -> @+t35:U32 -> @+t36:U32 -> @+t37:U32 -> @+t38:U32 -> @+t39:U32 -> @+t40:U32 -> @+t41:U32 -> @+t42:U32 -> @+t43:U32 -> @+t44:U32 -> @+t45:U32 -> @+t46:U32 -> @+t47:U32 -> @+t48:U32 -> @+t49:U32 -> @+t50:U32 -> @+t51:U32 -> @+t52:U32 -> @+t53:U32 -> @+t54:U32 -> @+t55:U32 -> @+t56:U32 -> @+t57:U32 -> @+t58:U32 -> @+t59:U32 -> @+t60:U32 -> @+t61:U32 -> @+t62:U32 -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Apply SHA-256 round 63 to the compression state.

def fips_blocks source · line 3393 · raw

@bytes:List<&2, U32> -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Tail-recursive block loop over an already padded byte list.

def zeros_onto source · line 3401 · raw

@word_z:Nat -> @acc:List<&2, U32> -> List<&2, U32>

Append zero padding to onto for the SHA-256 compression implementation.

def padding source · line 3409 · raw

@+byte_length:Nat -> List<&2, U32>

The padding suffix built only with tail-recursive loops.

def byte_count source · line 3413 · raw

@bytes:List<&2, U32> -> @acc:Nat -> Nat

Handle byte lengths for count for the SHA-256 compression implementation.

def finish_n source · line 3426 · raw

@+tail:List<&2, U32> -> @+byte_length:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Final block(s) of an n-byte message whose tail has fewer than 64 bytes. stream never passes 64 or more bytes; that case pads with tail-recursive loops. The match is exhaustive: a default case would make Bend rebuild the consumed cells at every depth. Length words are computed directly from n; note that sharing any List<U32> would make Bend reference-count every list match, including the input loop in stream.

def finish source · line 3560 · raw

@+tail:List<&2, U32> -> @count:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

count is the number of bytes already hashed, always a multiple of 64.

def stream source · line 3566 · raw

@+bytes:List<&2, U32> -> @count:Nat -> @+extra:Nat -> @state:0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State -> 0x571fd57004366c423dfd4b51196743b5/src/hub_sha/state.State

Compress complete 64-byte blocks straight from the input list, so the message is never copied, counted or reversed. count is the number of bytes already hashed and extra the number of derived schedule words (48).

def ascii source · line 3579 · raw

@arg_s:String -> List<&2, U32>

ASCII convenience only; binary inputs use sha256 directly.

def hex_digit_if source · line 3587 · raw

@digit:U32 -> @small:Bool -> Char

Decode hexadecimal digit if for the SHA-256 compression implementation.

def hex_digit source · line 3595 · raw

@+digit:U32 -> Char

Decode hexadecimal digit for the SHA-256 compression implementation.

def hex_word_go source · line 3599 · raw

@digit_count:Nat -> @+word:U32 -> @acc:String -> String

Decode hexadecimal word go for the SHA-256 compression implementation.

def hex_word source · line 3607 · raw

@word:U32 -> String

Decode hexadecimal word for the SHA-256 compression implementation.

def hex source · line 3611 · raw

@ws:List<&2, U32> -> String

Handle hex in the SHA-256 compression implementation.

def sha256 source · line 3619 · raw

@bytes:List<&2, U32> -> List<&2, U32>

Handle sha256 in the SHA-256 compression implementation.