You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`ipcrypt-deterministic`| Yes | No | 16 bytes | When you need to keep the IP address format and correlation is ok |
41
-
|`ipcrypt-nd`| No | Yes | 24 bytes | When you want to prevent correlation with moderate security |
42
-
|`ipcrypt-ndx`| No | Yes | 32 bytes | When you want the highest security level |
43
-
44
34
### Key Management Suggestions
45
35
46
36
Good key management practices are important when using IPCrypt:
@@ -216,91 +206,15 @@ When using IPCrypt, here are some security considerations to keep in mind:
216
206
-[Code Examples]({{ site.baseurl }}/code-examples/): Example code snippets in various languages
217
207
-[Community]({{ site.baseurl }}/community/): How to get involved or contribute
218
208
219
-
## Common Questions
220
-
221
-
### General Questions
222
-
223
-
#### What is IPCrypt?
224
-
225
-
IPCrypt is a simple, open specification that suggests methods for encrypting and obfuscating IP addresses. It offers both deterministic format-preserving and non-deterministic approaches that work with both IPv4 and IPv6 addresses.
226
-
227
-
#### Why was IPCrypt created?
228
-
229
-
IPCrypt was inspired by privacy concerns mentioned in [RFC6973](https://datatracker.ietf.org/doc/html/rfc6973) and [RFC7258](https://datatracker.ietf.org/doc/html/rfc7258) about monitoring and data collection. We wanted to help balance privacy considerations with practical network operations.
230
-
231
-
#### Is IPCrypt a standard?
232
-
233
-
IPCrypt is currently just a proposed idea, not an official standard. It's being developed as an IETF Internet-Draft to suggest a consistent approach to IP address encryption.
234
-
235
-
#### How is IPCrypt different from other ways of anonymizing IP addresses?
236
-
237
-
Compared to approaches like simple hashing, truncation, or tokenization, IPCrypt tries to offer:
238
-
- Methods based on established cryptographic techniques
239
-
- A consistent approach that works across different systems
240
-
- The option to preserve IP address format when needed
241
-
- Protection against correlation through non-deterministic modes
242
-
- The ability to decrypt when necessary
243
-
- Clear documentation
244
-
245
-
### Implementation Questions
246
-
247
-
#### What programming languages can I find IPCrypt in?
248
-
249
-
IPCrypt has been implemented in several programming languages, including:
250
-
- Python
251
-
- C
252
-
- Rust
253
-
- JavaScript
254
-
- Go
255
-
- Zig
256
-
- PHP
257
-
- D
258
-
259
-
#### Do the different implementations work together?
260
-
261
-
Yes, the different implementations should produce the same results when given the same inputs. This means you can use different programming languages and still get consistent results.
262
-
263
-
#### How can I create a key for IPCrypt?
264
209
265
-
It's a good idea to use a cryptographically secure random number generator to create a 16-byte key. Here's a simple example:
266
-
267
-
```python
268
-
import os
269
-
key = os.urandom(16)
270
-
```
271
-
272
-
Try to avoid using predictable or hardcoded keys in real applications.
273
-
274
-
### Questions About When to Use IPCrypt
275
-
276
-
#### When might the deterministic mode be helpful?
277
-
278
-
The deterministic mode might be useful when:
279
-
- You want to keep the IP address format
280
-
- You need to look up or join data using the encrypted addresses
281
-
- It's okay if the same IP always encrypts to the same result
282
-
283
-
#### When might the non-deterministic modes be helpful?
284
-
285
-
The non-deterministic modes might be useful when:
286
-
- You don't need to preserve the IP address format
287
-
- You want to prevent linking data across different datasets
288
-
- Privacy protection is especially important
289
-
290
-
#### Could IPCrypt help with GDPR?
291
-
292
-
IPCrypt might be helpful as part of a GDPR approach by converting IP addresses to a pseudonymized form. However, encryption by itself might not be enough for full compliance, so it's a good idea to check with legal experts about your specific needs.
293
-
294
-
### Related Reading
295
-
296
-
-[RFC6973: Privacy Considerations for Internet Protocols](https://datatracker.ietf.org/doc/html/rfc6973)
297
-
-[RFC7258: Pervasive Monitoring Is an Attack](https://datatracker.ietf.org/doc/html/rfc7258)
298
-
-[RFC4291: IP Version 6 Addressing Architecture](https://datatracker.ietf.org/doc/html/rfc4291)
299
-
300
-
### Getting Help
210
+
## Getting Help
301
211
302
212
If you have questions about IPCrypt:
303
213
304
214
1.**GitHub Issues**: You can post questions on the [GitHub repository]({{ site.github_repo }}/issues)
305
215
2.**Join In**: Feel free to share your experiences or suggestions
306
-
3.**Reach Out**: The contributors might be able to help with specific questions
216
+
217
+
### Related RFCs
218
+
219
+
-[RFC6973: Privacy Considerations for Internet Protocols](https://datatracker.ietf.org/doc/html/rfc6973)
220
+
-[RFC7258: Pervasive Monitoring Is an Attack](https://datatracker.ietf.org/doc/html/rfc7258)
0 commit comments