cryptoPAN

package module
v0.0.0-...-335e46f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2023 License: AGPL-3.0 Imports: 6 Imported by: 0

README

CryptoPAN - Preserving Both Privacy and Utility in Network Trace Anonymization

This is an implementation of the cryptoPAN algorithm working for IPv4 and IPv6 addresses in Go according to:

  • Meisam Mohammady
  • Lingyu Wang
  • Yuan Hong
  • Habib Louafi
  • Makan Pourzandi
  • Mourad Debbabi

View paper

License

cryptoPAN

Preserving Both Privacy and Utility in Network Trace Anonymization

Copyright (c) 2023 Fabian Fröhlich mail@f-froehlich.de https://f-froehlich.de

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

For all license terms see README.md and LICENSE Files in root directory of this Project.

Checkout this project on github https://github.com/f-froehlich/cryptoPAN and also my other projects https://github.com/f-froehlich

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CryptoPAn

type CryptoPAn struct {
	// contains filtered or unexported fields
}

CryptoPAnConfig is a struct to hold the Crypto-PAn configuration.

func NewCryptoPAn

func NewCryptoPAn(key []byte) (*CryptoPAn, error)

NewCryptoPAn creates a new CryptoPAnConfig instance with the provided encryption key.

func (*CryptoPAn) Anonymize

func (cp *CryptoPAn) Anonymize(ip net.IP) (net.IP, error)

func (*CryptoPAn) AnonymizeIPv4

func (cp *CryptoPAn) AnonymizeIPv4(ip net.IP) (net.IP, error)

Anonymize sanitizes the given IP address using Crypto-PAn.

func (*CryptoPAn) AnonymizeIPv6

func (cp *CryptoPAn) AnonymizeIPv6(ip net.IP) (net.IP, error)

AnonymizeIPv6 sanitizes the given IPv6 address using Crypto-PAn.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL