The sip-hash Reference Manual

This is the sip-hash Reference Manual, version 1.7, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:53:51 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 sip-hash

SipHash hash functions

Author

Robert Brown <>

License

Public domain

Long Description

SipHash, a cryptographically strong family of hash functions designed by Jean-Philippe Aumasson and Daniel J. Bernstein. (http://131002.net/siphash/)

Version

1.7

Defsystem Dependency

com.google.base (system).

Dependencies
  • com.google.base (system).
  • nibbles (system).
  • sb-rotate-byte (system).
Source

sip-hash.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 sip-hash/sip-hash.asd

Source

sip-hash.asd.

Parent Component

sip-hash (system).

ASDF Systems

sip-hash.


3.1.2 sip-hash/package.lisp

Source

sip-hash.asd.

Parent Component

sip-hash (system).

Packages

sip-hash.


3.1.3 sip-hash/sip-hash.lisp

Dependency

package.lisp (file).

Source

sip-hash.asd.

Parent Component

sip-hash (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 sip-hash

An implementation of the SipHash family of hash functions.

Source

package.lisp.

Use List
  • com.google.base.
  • common-lisp.
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: hash-128-2-4 (octets k0 k1 &key start end)

Returns as two (unsigned-byte 64) values the 128-bit SipHash-2-4 hash code for positions START through END of OCTETS, using the initial state stored in K0 and K1.

Package

sip-hash.

Source

sip-hash.lisp.

Function: hash-128-4-8 (octets k0 k1 &key start end)

Returns as two (unsigned-byte 64) values the 128-bit SipHash-4-8 hash code for positions START through END of OCTETS, using the initial state stored in K0 and K1.

Package

sip-hash.

Source

sip-hash.lisp.

Function: hash-64-2-4 (octets k0 k1 &key start end)

Returns as an (unsigned-byte 64) the 64-bit SipHash-2-4 hash code for positions START through END of OCTETS, using the initial state stored in K0 and K1.

Package

sip-hash.

Source

sip-hash.lisp.

Function: hash-64-4-8 (octets k0 k1 &key start end)

Returns as an (unsigned-byte 64) the 64-bit SipHash-4-8 hash code for positions START through END of OCTETS, using the initial state stored in K0 and K1.

Package

sip-hash.

Source

sip-hash.lisp.


5.2 Internals


5.2.1 Macros

Macro: ash-u64 (x y)
Package

sip-hash.

Source

sip-hash.lisp.

Macro: define-sip-hash (function-name compress-rounds finalization-rounds double documentation)

Defines a function called FUNCTION-NAME that implements the SipHash hash function that performs COMPRESS-ROUNDS compression rounds and FINALIZATION-ROUNDS finalization rounds. The defined SipHash function is documented with a DOCUMENTATION string. When DOUBLE is true, a 128-bit hash result is produced.

Package

sip-hash.

Source

sip-hash.lisp.

Macro: incf64 (place x)

Increment, modulo 2^64, PLACE by X.

Package

sip-hash.

Source

sip-hash.lisp.

Macro: logiorf (place x)

Logically inclusive or PLACE by X.

Package

sip-hash.

Source

sip-hash.lisp.

Macro: logxorf (place x)

Logically exclusive or PLACE by X.

Package

sip-hash.

Source

sip-hash.lisp.

Macro: mod-2^64 (x)
Package

sip-hash.

Source

sip-hash.lisp.

Macro: rotatef-left-64 (place x)

Rotate 64-bit PLACE left by X bit positions.

Package

sip-hash.

Source

sip-hash.lisp.

Macro: sip-round (v0 v1 v2 v3)
Package

sip-hash.

Source

sip-hash.lisp.

Macro: u64+ (x y)
Package

sip-hash.

Source

sip-hash.lisp.


5.2.2 Ordinary functions

Function: rotate-left-64 (x count)

Rotates the unsigned 64-bit integer X left by COUNT bit positions.

Package

sip-hash.

Source

sip-hash.lisp.


Appendix A Indexes


A.1 Concepts


A.3 Variables