bend-collections
Search uses release 1.0.0.0 · 4,483 definitions
Definitions (4,483)
- def segmentSegment s of lane l in pass r; data-independent addressing in the first two slices of the first pass.
- def lanes_go
- def slices_go
- def passes_go
- def init_goB[l][0] = H'^1024(H0 || LE32(0) || LE32(l)), B[l][1] = H'^1024(H0 || LE32(1) || LE32(l)).
- def final_goC = B[0][q-1] XOR ..
- def validRFC 9106 section 3.1 ranges: 1 <= p <= 2^24 - 1, 4 <= T <= 2^32 - 1, 8p <= m <= 2^32 - 1, 1 <= t <= 2^32 - 1, 8 <= |S| <= 2^32 - 1 and |P|, |K|, |X| <= 2^32 - 1.
- def blocksm' = 4p floor(m / 4p), the number of blocks.
- def fitsThis implementation's limit: the memory of m' blocks is an array of at most 2^31 words, so m' <= 2^23 (8 GiB), the RFC allowing up to 2^32 - 1 KiB.
- def runThe tag for valid parameters.
- def checked
- def argon2idArgon2id(P, S, K, X; t passes, m KiB, p lanes, T tag bytes): the T-byte tag, or None when a parameter is out of the RFC 9106 ranges or the memory does not fit (fits).
- def loThe low half of a lane (trunc in RFC 9106).
- def prodThe full 64-bit product of two U32 (src/math/w64.bend, proved).
- def blafBlaMka(x, y) = x + y + 2 * trunc(x) * trunc(y) mod 2^64 (RFC 9106 section 3.6).
- def gb4GB (RFC 9106 section 3.6), one assignment pair per function.
- def gb3
- def gb2
- def gb1
- def gb
- def put0
- def step0GB on positions 0, 4, 8, 12.
- def put1
- def step1GB on positions 1, 5, 9, 13.
- def put2
- def step2GB on positions 2, 6, 10, 14.
- def put3
- def step3GB on positions 3, 7, 11, 15.
- def put4
- def step4GB on positions 0, 5, 10, 15.
- def put5
- def step5GB on positions 1, 6, 11, 12.
- def put6
- def step6GB on positions 2, 7, 8, 13.
- def put7
- def step7GB on positions 3, 4, 9, 14.
- def pThe permutation P on sixteen lanes.
- def rowsP on each row: lanes 16i ..
- def untrThe eight permuted columns back into rows: column i holds lanes 2i, 2i+1 of every row.
- def colsP on each column: lanes 2i, 2i+1, 2i+16, 2i+17, .., 2i+112, 2i+113.
- def xsLane-wise XOR of two rows, and of two blocks (row by row).
- def xor
- def finG(X, Y) = P(R) XOR R with R = X XOR Y, P on the rows then the columns (RFC 9106 section 3.5).
- def compress
- def compress_xorVersion 0x13 passes after the first: G(X, Y) XOR the block being overwritten.
- def zeroThe all-zero block.
- def rdWords i - n ..
- def read_fin
- def getBlock b; the memory is handed back.
- def wrThe words stored from word i on.
- def setThe memory with block b replaced by v.
- def pw
- def levels_goThe smallest k >= k0 with 2^k >= n.
- def levels
- def newA zeroed memory of 2^k blocks.
- type Phc
- type GotA number read and the rest of the string.
- type CutA string cut at a '$': before and after it.
- def c0The crumbs of a byte n, high first: n = ((c3 * 4 + c2) * 4 + c1) * 4 + c0.
- def c1
- def c2
- def c3
- def byte_ofThe byte of four crumbs, high first.
- def sextThe base64 digit value of three crumbs, high first, and back.
- def su
- def sv
- def sw
- def digit_last
- def digit_hi
- def digit_mid
- def digit_code
- def digitThe character of digit value s < 64: A-Z, a-z, 0-9, +, /.
- def in_range
- def value_slash
- def value_sym
- def value_num
- def value_low
- def value_code
- def valueThe value of a base64 character, or None.
- def enc1
- def enc2
- def enc3
- def b64Standard base64 without padding.
- def dec2_fin
- def dec2
- def dec3_fin
- def dec3
- def dec4
- def unb64The bytes of canonical unpadded base64, or None.
- def dchar
- def dec_goThe decimal digits of n before acc; fuel bounds the number of digits and last says n < 10.
- def decimaln in decimal, without leading zeros.
- def is_digit
- def starts_digit
- def read_goDigits from s on top of v (d says s starts with a digit); the value and the rest.
- def read_check
- def readA decimal number (at least one digit) and the rest.
- def same_char
- def heads
- def strip_gos without the prefix lit, or None (same says the first characters agree).