Skip to content
IP-format-preserving encryption, with a dedicated 4-byte cipher
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md typos Jul 3, 2015
ipcrypt.go newline fix Jul 6, 2015
ipcrypt.py go version, readme, test csv Jul 3, 2015
test.csv go version, readme, test csv Jul 3, 2015

README.md

ipcrypt: IP-format-preserving encryption

Encrypts an IPv4 address to another IPv4 address

Can be used to "anonymize" logs, etc.

Takes as argument a CSV file and the index of a field containing IP addresses

Uses a custom 4-byte-block cipher, inspired from SipHash.

Set the variable KEY to a 16-byte secret key

Example use, with the default key some 16-byte key:

$ cat test.csv 
a,127.0.0.1
b,8.8.8.8
c,1.2.3.4
$ python ipcrypt.py test.csv 1 e
a,114.62.227.59
b,46.48.51.50
c,171.238.15.199
$ python ipcrypt.py test.csv 1 e > tmp
$ python ipcrypt.py tmp 1 d
a,127.0.0.1
b,8.8.8.8
c,1.2.3.4

The Go version has a similar syntax; for example

$ go build ipcrypt.go
$ ./ipcrypt test.csv 1 e
a,114.62.227.59
b,46.48.51.50
c,171.238.15.199

Copyright (c) 2015 Jean-Philippe Aumasson jeanphilippe.aumasson@gmail.com

Under CC0 license http://creativecommons.org/publicdomain/zero/1.0/

You can’t perform that action at this time.