Skip to content
/ ipcrypt Public

IP-format-preserving encryption, with a dedicated 4-byte cipher

Notifications You must be signed in to change notification settings

veorq/ipcrypt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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/

About

IP-format-preserving encryption, with a dedicated 4-byte cipher

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published