Yet another Crypto-PAn implementation for Python
# Yet another Crypto-PAn implementation for Python
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.
>>> from yacryptopan import CryptoPAn >>> cp = CryptoPAn('32-char-str-for-AES-key-and-pad.') >>> cp.anonymize('192.0.2.1') '126.96.36.199' >>> 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
The source code is available at https://github.com/keiichishima/yacryptopan
This module works with Python3.
## Bug Reports
Please submit bug reports or patches through the GitHub interface.
[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.
Cornelius Diekmann, https://github.com/diekmann
Matteo Pergolesi, https://github.com/TheWall89
Keiichi SHIMA / IIJ Innovation Institute Inc. / WIDE project
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.