Provided by: libcryptopant-dev_1.3.1-3_amd64 bug

NAME

       cryptopANT - IP Address Anonymization Library

SYNOPSIS

       #include <cryptopANT.h>

DESCRIPTION

       The  cryptopANT  ip  address  anonymization  library  implements  techniques  for  IPv4  and IPv6 address
       anonymization first described in:

       'Prefix-Preserving IP  Address Anonymization',
                Computer Networks, Volume 46, Issue 2, 7 October 2004, Pages 253-272, Elsevier.

       commonly known as Crypto-PAn.

       This implementation is provided by USC/ISI ANT project: http://ant.isi.edu

   API Overview
       int scramble_init_from_file(const char *keyfile, scramble_crypt_t c4, scramble_crypt_t c6, int *do_mac)

              Initializes library from a keyfile and sets up underlying cryptographical mechanism for scrambling
              of IPv4 (c4) and IPv6 (c6) addresses.  See scramble_crypt_t for possible  values  of  c4  and  c6.
              Typically  used are: SCRAMBLE_NONE for no scrambling or SCRAMBLE_AES for scrambling using fast AES
              cypher.  If  the  keyfile  does  not  exist,  it  is  created.   This  function  internally  calls
              scramble_readstate()  and  scrable_init().   Returns  0  if  successful.   SCRAMBLE_BLOWFISH  uses
              blowfish cypher.  While previously widely used, it's no longer recommended, as scrambling of  ipv6
              addresses can be very slow.

       int32_t   scramble_ip4(uint32_t input, int pass_bits)
       int32_t unscramble_ip4(uint32_t input, int pass_bits)

              Scrambles  or  un-scrambles (input) IP address passing through first (pass_bits); the scrambled ip
              address is returned.  Please note that even if (pass_bits) is 0, first few  bits  will  be  passed
              through  to  preserve class of the input IP.  Both input and output IPs are in network byte order.
              Note that unscrambling is a  costly  operation  and  unscrambling  a  large  number  of  different
              addresses can take a long time.

       void   scramble_ip6(struct in6_addr *input, int pass_bits)
       void unscramble_ip6(struct in6_addr *input, int pass_bits)

              Scrambles  or  un-scrambles  IPv6  address  pointed to by (input) in-place , passing through first
              (pass_bits).  Addresses are in network byte order.  Note that unscrambling is a  costly  operation
              and unscrambling a large number of different addresses can take a long time.

       int scramble_readstate(const char *keyfile, scramble_state_t *s)
       int scramble_savestate(const char *keyfile, const scramble_state_t *s)

              These functions can read scrambling keys from keyfile into memory pointed to by (s), or save/write
              previously  initialized state (s) to a (keyfile).  After state is read, the library still needs to
              be initialized by calling scramble_init() Return 0 on success.

       int scramble_init(const scramble_state_t *s)

              Initializes library using state pointed by (s).  Returns 0 on success.

SEE ALSO

       scramble_ips

              is a binary for anonymizing textual IP addresses, which comes packaged with this library

AUTHORS

       The cryptopANT library was written by

       Yuri Pradkin,
              University of Southern California, Information Sciences Institute, CA.

       The current version is available from "ANT Project"'s Web site at

              http://ant.isi.edu

BUGS

       Please send problems, bugs, questions, desirable enhancements, etc. to:

              ant@isi.edu

                                                   2024-01-24                            cryptopANT(3cryptopANT)