-
Notifications
You must be signed in to change notification settings - Fork 8
Home
FNR denotes "Flexible Naor and Reingold"
This library is reference implementation of such FNR mode of encryption.
Currently the library supports encryption of IPv4 addresses. It is flexible enough for supporting any data types (recommended < 128 bits length).
There is a compelling need for privacy of sensitive fields before data is shared with any cloud provider, semi-trusted vendors, partners etc. For example network telemetry data, transaction logs etc. are often required to be shared for benefiting from variety of Software as Service applications. Such sensitive data fields are of prescribed and arbitrary lengths. They are often part of well defined data formats like NetFlow, IPFIX etc. For example IPv4(32), MAC (48) , IPv6 (128) etc.
While designing privacy for sensitive fields, it may be desirable to preserve the length and formats of the inputs, in order to avoid any re-engineering of packet formats or database columns of existing systems. Traditional AES-128/256 encryption would encrypt plain text (of any smaller lengths) to result in a cipher text (a random string that is 128/256 bits). Expansion of cipher text length may be undesirable for said reasons. Also AES is fixed length cipher, input domains that are of smaller size need to be padded in order to perform encryption.
Small domain block ciphers are useful tool in designing privacy of sensitive data fields of smaller length (<128 bits). In addition to the classic Feistel networks, Naor and Rein- gold propose usage of Pair-Wise Independent Permutation (PWIP) functions in first and last rounds of LR constructions to provide additional randomness and security. We propose usage of invertible matrices to provide a neat and generic way to achieve pair-wise independence for any arbitrary length.
A detailed specification could be found here http://eprint.iacr.org/2014/421
Keywords: Block cipher, Format preserving encryption, length preserving, randomizing, anonymizing