skein_iv.c revision 45818ee124adeaaf947698996b4f4c722afc6d1f
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * Pre-computed Skein IVs
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * NOTE: these values are not "magic" constants, but
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * are generated using the Threefish block function.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * They are pre-computed here only for speed; i.e., to
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * avoid the need for a Threefish call during Init().
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * The IV for any fixed hash length may be pre-computed.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * Only the most common values are included here.
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* Copyright 2013 Doug Whiting. This code is released to the public domain. */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * Illumos implementation note: these constants are for Skein v1.3 as per:
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens * http://www.skein-hash.info/sites/default/files/skein1.3.pdf
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens#include <sys/skein.h> /* get Skein macros and types */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens#include "skein_impl.h" /* get internal definitions */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 256 bits. hashSize = 128 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 256 bits. hashSize = 160 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 256 bits. hashSize = 224 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 256 bits. hashSize = 256 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 512 bits. hashSize = 128 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 512 bits. hashSize = 160 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 512 bits. hashSize = 224 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 512 bits. hashSize = 256 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 512 bits. hashSize = 384 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 512 bits. hashSize = 512 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 1024 bits. hashSize = 384 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 1024 bits. hashSize = 512 bits */
45818ee124adeaaf947698996b4f4c722afc6d1fMatthew Ahrens/* blkSize = 1024 bits. hashSize = 1024 bits */