Types
Blake2b = object
- Stateful BLAKE2b computation. Update with chunks, then finish.
Sha512Digest = array[Sha512DigestSize, uint8]
Sha512Hmac = array[Sha512DigestSize, uint8]
Sha512HmacState = object
- Stateful HMAC-SHA-512 computation.
Sha512State = object
- Stateful SHA-512 computation.
Consts
Blake2bMaxDigestSize = 64
Blake2bMaxKeySize = 64
HkdfMaxOkmLen = 16320
Sha512BlockSize = 128
Sha512DigestSize = 64
Procs
proc blake(message: openArray[byte]; hashSize: int = Blake2bDefaultDigestSize): seq[ byte] {....raises: [ValueError], tags: [], forbids: [].}
- Compute the BLAKE2b hash of the message (default 32-byte digest).
proc blake(message: string; hashSize: int = Blake2bDefaultDigestSize): seq[byte] {. ...raises: [ValueError], tags: [], forbids: [].}
proc blakeHex(message: openArray[byte]; hashSize: int = Blake2bDefaultDigestSize): string {. ...raises: [ValueError], tags: [], forbids: [].}
proc blakeHex(message: string; hashSize: int = Blake2bDefaultDigestSize): string {. ...raises: [ValueError], tags: [], forbids: [].}
proc blakeKeyed(message, key: string; hashSize: int = Blake2bDefaultDigestSize): seq[ byte] {....raises: [ValueError], tags: [], forbids: [].}
proc blakeKeyed(message: openArray[byte]; key: openArray[byte]; hashSize: int = Blake2bDefaultDigestSize): seq[byte] {. ...raises: [ValueError], tags: [], forbids: [].}
- Compute a keyed BLAKE2b hash (MAC).
proc blakeKeyedHex(message, key: string; hashSize: int = Blake2bDefaultDigestSize): string {. ...raises: [ValueError], tags: [], forbids: [].}
proc blakeKeyedHex(message: openArray[byte]; key: openArray[byte]; hashSize: int = Blake2bDefaultDigestSize): string {. ...raises: [ValueError], tags: [], forbids: [].}
proc finish(state: var Sha512HmacState): Sha512Hmac {....raises: [ValueError], tags: [], forbids: [].}
proc finish(state: var Sha512State): Sha512Digest {....raises: [ValueError], tags: [], forbids: [].}
proc finishHex(state: var Sha512HmacState): string {....raises: [ValueError], tags: [], forbids: [].}
proc finishHex(state: var Sha512State): string {....raises: [ValueError], tags: [], forbids: [].}
proc hkdfExpandSha512(prk, info: openArray[byte]; okmLen: Natural): seq[byte] {. ...raises: [ValueError], tags: [], forbids: [].}
- Expand a pseudo-random key with HKDF-SHA-512.
proc hkdfExpandSha512(prk, info: string; okmLen: Natural): seq[byte] {. ...raises: [ValueError], tags: [], forbids: [].}
proc hkdfExpandSha512[N: static[int]](prk, info: openArray[byte]): array[N, uint8]
proc hkdfSha512(ikm, salt, info: openArray[byte]; okmLen: Natural): seq[byte] {. ...raises: [ValueError], tags: [], forbids: [].}
- Derive output keying material of okmLen bytes with HKDF-SHA-512.
proc hkdfSha512(ikm, salt, info: string; okmLen: Natural): seq[byte] {. ...raises: [ValueError], tags: [], forbids: [].}
proc hkdfSha512[N: static[int]](ikm, salt, info: openArray[byte]): array[N, uint8]
- Derive a fixed-size output key of N bytes with HKDF-SHA-512.
proc initBlake2b(hashSize: int = Blake2bDefaultDigestSize): Blake2b {. ...raises: [ValueError], tags: [], forbids: [].}
proc initBlake2bKeyed(key: openArray[byte]; hashSize: int = Blake2bDefaultDigestSize): Blake2b {. ...raises: [ValueError], tags: [], forbids: [].}
proc initBlake2bKeyed(key: string; hashSize: int = Blake2bDefaultDigestSize): Blake2b {. ...raises: [ValueError], tags: [], forbids: [].}
proc initSha512(): Sha512State {....raises: [], tags: [], forbids: [].}
proc initSha512Hmac(key: openArray[byte]): Sha512HmacState {....raises: [], tags: [], forbids: [].}
proc initSha512Hmac(key: string): Sha512HmacState {....raises: [], tags: [], forbids: [].}
proc sha512(message: openArray[byte]): Sha512Digest {....raises: [], tags: [], forbids: [].}
proc sha512(message: string): Sha512Digest {....raises: [], tags: [], forbids: [].}
proc sha512Hex(message: openArray[byte]): string {....raises: [], tags: [], forbids: [].}
proc sha512Hex(message: string): string {....raises: [], tags: [], forbids: [].}
proc sha512Hmac(key, message: openArray[byte]): Sha512Hmac {....raises: [], tags: [], forbids: [].}
proc sha512Hmac(key, message: string): Sha512Hmac {....raises: [], tags: [], forbids: [].}
proc sha512HmacHex(key, message: openArray[byte]): string {....raises: [], tags: [], forbids: [].}
proc sha512HmacHex(key, message: string): string {....raises: [], tags: [], forbids: [].}
proc update(state: var Blake2b; chunk: openArray[byte]) {....raises: [ValueError], tags: [], forbids: [].}
proc update(state: var Sha512HmacState; message: openArray[byte]) {. ...raises: [ValueError], tags: [], forbids: [].}
proc update(state: var Sha512HmacState; message: string) {....raises: [ValueError], tags: [], forbids: [].}
proc update(state: var Sha512State; message: openArray[byte]) {. ...raises: [ValueError], tags: [], forbids: [].}
proc update(state: var Sha512State; message: string) {....raises: [ValueError], tags: [], forbids: [].}
proc verifyDigest(a, b: openArray[byte]): bool {....raises: [], tags: [], forbids: [].}
- Constant-time comparison of two digests.