$55 GRAYBYTE WORDPRESS FILE MANAGER $51

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cpanel/ea-apr16/include/apr-1/

HOME
Current File : /opt/cpanel/ea-apr16/include/apr-1//apr_siphash.h
/* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/*
   SipHash reference C implementation
   Copyright (c) 2012-2014 Jean-Philippe Aumasson
   <[email protected]>
   Copyright (c) 2012-2014 Daniel J. Bernstein <[email protected]>
   To the extent possible under law, the author(s) have dedicated all copyright
   and related and neighboring rights to this software to the public domain
   worldwide. This software is distributed without any warranty.
   You should have received a copy of the CC0 Public Domain Dedication along
   with this software. If not, see
   <http://creativecommons.org/publicdomain/zero/1.0/>.
 */

#ifndef APR_SIPHASH_H
#define APR_SIPHASH_H

#include "apr.h"
#include "apu.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @file apr_siphash.h
 * @brief APR-UTIL siphash library
 *        "SipHash-c-d is a family of pseudorandom functions (a.k.a. keyed
 *        hash functions) optimized for speed on short messages", designed by
 *        Jean-Philippe Aumasson and Daniel J. Bernstein. It generates a 64bit
 *        hash (or MAC) from the message and a 128bit key.
 *        See http://cr.yp.to/siphash/siphash-20120620.pdf for the details,
 *        c is the number of compression rounds, d the number of finalization
 *        rounds; we also define fast implementations for c = 2 with d = 4 (aka
 *        siphash-2-4), and c = 4 with d = 8 (aka siphash-4-8), as recommended
 *        parameters per the authors.
 */

/** size of the siphash digest */
#define APR_SIPHASH_DSIZE 8

/** size of the siphash key */
#define APR_SIPHASH_KSIZE 16


/**
 * @brief Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @param c   The number of compression rounds
 * @param d   The number of finalization rounds
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(apr_uint64_t) apr_siphash(const void *src, apr_size_t len,
                              const unsigned char key[APR_SIPHASH_KSIZE],
                                      unsigned int c, unsigned int d);

/**
 * @brief Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly
 * unaligned buffer (using the little endian representation as defined by the
 * authors for interoperabilty) usable as a MAC.
 * @param out The output buffer (or MAC)
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @param c   The number of compression rounds
 * @param d   The number of finalization rounds
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(void) apr_siphash_auth(unsigned char out[APR_SIPHASH_DSIZE],
                                   const void *src, apr_size_t len,
                             const unsigned char key[APR_SIPHASH_KSIZE],
                                   unsigned int c, unsigned int d);

/**
 * @brief Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
 * @param src The message to hash
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(apr_uint64_t) apr_siphash24(const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

/**
 * @brief Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly
 * unaligned buffer (using the little endian representation as defined by the
 * authors for interoperabilty) usable as a MAC.
 * @param out The output buffer (or MAC)
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(void) apr_siphash24_auth(unsigned char out[APR_SIPHASH_DSIZE],
                                     const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

/**
 * @brief Computes SipHash-4-8, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(apr_uint64_t) apr_siphash48(const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

/**
 * @brief Computes SipHash-4-8, producing a 64bit (APR_SIPHASH_DSIZE) hash
 * from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly
 * unaligned buffer (using the little endian representation as defined by the
 * authors for interoperabilty) usable as a MAC.
 * @param out The output buffer (or MAC)
 * @param src The message
 * @param len The length of the message
 * @param key The secret key
 * @return The hash value as a 64bit unsigned integer
 */
APU_DECLARE(void) apr_siphash48_auth(unsigned char out[APR_SIPHASH_DSIZE],
                                     const void *src, apr_size_t len,
                               const unsigned char key[APR_SIPHASH_KSIZE]);

#ifdef __cplusplus
}
#endif

#endif  /* APR_SIPHASH_H */


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
22 May 2025 9.10 AM
root / root
0755
apr-x86_64.h
17.909 KB
22 May 2025 9.10 AM
root / root
0644
apr.h
0.621 KB
22 May 2025 9.10 AM
root / root
0644
apr_allocator.h
6.071 KB
22 May 2025 9.10 AM
root / root
0644
apr_anylock.h
4.932 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_atomic.h
6.043 KB
22 May 2025 9.10 AM
root / root
0644
apr_base64.h
3.754 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_buckets.h
63.146 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_crypto.h
19.685 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_cstr.h
11.131 KB
22 May 2025 9.10 AM
root / root
0644
apr_date.h
3.471 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_dbd.h
23.349 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_dbm.h
8.397 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_dso.h
2.637 KB
22 May 2025 9.10 AM
root / root
0644
apr_encode.h
30.349 KB
22 May 2025 9.10 AM
root / root
0644
apr_env.h
2.056 KB
22 May 2025 9.10 AM
root / root
0644
apr_errno.h
53.771 KB
22 May 2025 9.10 AM
root / root
0644
apr_escape.h
17.232 KB
22 May 2025 9.10 AM
root / root
0644
apr_file_info.h
17.172 KB
22 May 2025 9.10 AM
root / root
0644
apr_file_io.h
42.881 KB
22 May 2025 9.10 AM
root / root
0644
apr_fnmatch.h
6.083 KB
22 May 2025 9.10 AM
root / root
0644
apr_general.h
7.337 KB
22 May 2025 9.10 AM
root / root
0644
apr_getopt.h
5.84 KB
22 May 2025 9.10 AM
root / root
0644
apr_global_mutex.h
7.188 KB
22 May 2025 9.10 AM
root / root
0644
apr_hash.h
10.08 KB
22 May 2025 9.10 AM
root / root
0644
apr_hooks.h
12.363 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_inherit.h
2.089 KB
22 May 2025 9.10 AM
root / root
0644
apr_ldap.h
5.57 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_ldap_init.h
5.645 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_ldap_option.h
8.402 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_ldap_rebind.h
3.094 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_ldap_url.h
3.71 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_lib.h
8.232 KB
22 May 2025 9.10 AM
root / root
0644
apr_md4.h
4.419 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_md5.h
6.201 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_memcache.h
16.82 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_mmap.h
5.013 KB
22 May 2025 9.10 AM
root / root
0644
apr_network_io.h
36.017 KB
22 May 2025 9.10 AM
root / root
0644
apr_optional.h
2.715 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_optional_hooks.h
3.781 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_perms_set.h
1.864 KB
22 May 2025 9.10 AM
root / root
0644
apr_poll.h
20.604 KB
22 May 2025 9.10 AM
root / root
0644
apr_pools.h
30.938 KB
22 May 2025 9.10 AM
root / root
0644
apr_portable.h
20.022 KB
22 May 2025 9.10 AM
root / root
0644
apr_proc_mutex.h
6.848 KB
22 May 2025 9.10 AM
root / root
0644
apr_queue.h
3.984 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_random.h
4.918 KB
22 May 2025 9.10 AM
root / root
0644
apr_redis.h
15.62 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_reslist.h
7.008 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_ring.h
18.775 KB
22 May 2025 9.10 AM
root / root
0644
apr_rmm.h
4.666 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_sdbm.h
5.97 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_sha1.h
3.793 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_shm.h
9.261 KB
22 May 2025 9.10 AM
root / root
0644
apr_signal.h
2.696 KB
22 May 2025 9.10 AM
root / root
0644
apr_siphash.h
6.014 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_skiplist.h
14.192 KB
22 May 2025 9.10 AM
root / root
0644
apr_strings.h
14.548 KB
22 May 2025 9.10 AM
root / root
0644
apr_strmatch.h
2.614 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_support.h
1.596 KB
22 May 2025 9.10 AM
root / root
0644
apr_tables.h
18.9 KB
22 May 2025 9.10 AM
root / root
0644
apr_thread_cond.h
5.396 KB
22 May 2025 9.10 AM
root / root
0644
apr_thread_mutex.h
4.393 KB
22 May 2025 9.10 AM
root / root
0644
apr_thread_pool.h
10.844 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_thread_proc.h
36.805 KB
22 May 2025 9.10 AM
root / root
0644
apr_thread_rwlock.h
4.654 KB
22 May 2025 9.10 AM
root / root
0644
apr_time.h
7.386 KB
22 May 2025 9.10 AM
root / root
0644
apr_uri.h
6.435 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_user.h
5.186 KB
22 May 2025 9.10 AM
root / root
0644
apr_uuid.h
2.053 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_version.h
5.218 KB
22 May 2025 9.10 AM
root / root
0644
apr_want.h
2.889 KB
22 May 2025 9.10 AM
root / root
0644
apr_xlate.h
6.258 KB
22 Aug 2025 2.46 PM
root / root
0644
apr_xml.h
12.193 KB
22 Aug 2025 2.46 PM
root / root
0644
apu.h
4.217 KB
22 Aug 2025 2.46 PM
root / root
0644
apu_errno.h
5.316 KB
22 Aug 2025 2.46 PM
root / root
0644
apu_version.h
4.199 KB
22 Aug 2025 2.46 PM
root / root
0644
apu_want.h
1.448 KB
22 Aug 2025 2.46 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF