Yet another Crypto-PAn implementation for Python
Project description
# Yet another Crypto-PAn implementation for Python
## Overview
This package provides a function to anonymize IP addresses keeping their prefix consistency. This program is based on the paper “Prefix-Preserving IP Address Anonymization: Measurement-based Security Evaluation and a New Cryptography-based Scheme” written by Jun Xu, Jinliang Fan, Mostafa H. Ammar, and Sue B. Moon. The detailed explanation can be found in [Xu2002].
This package supports both IPv4 and IPv6 anonymization.
## Usage
>>> from yacryptopan import CryptoPAn >>> cp = CryptoPAn('32-char-str-for-AES-key-and-pad.') >>> cp.anonymize('192.0.2.1') '192.0.125.244' >>> cp.anonymize_bin(0xc0000201, version=4) 3221257716L >>> cp.anonymize('2001:db8::1') '27fe:8bc7:fee:1e:1e1f:f0fe:f0e1:83fd' >>> cp.anonymize_bin(0x20010db8000000000000000000000001, version=6) 53161570263948813229648829710638089213L
## Code
The source code is available at https://github.com/keiichishima/yacryptopan
## Bug Reports
Please submit bug reports or patches through the GitHub interface.
## References
[Xu2002] Jun Xu, Jinliang Fan, Mostafa H. Ammar, and Sue B. Moon, “Prefix-Preserving IP Address Anonymization: Measurement-based Security Evaluation and a New Cryptography-based Scheme”, in Proceedings of the IEEE International Conference on Network Protocols, Paris, 2002.
## Contributors
Cornelius Diekmann, https://github.com/diekmann
Matteo Pergolesi, https://github.com/TheWall89
## Author
Keiichi SHIMA / IIJ Innovation Institute Inc. / WIDE project
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.