IPCrypt Implementations

IPCrypt has been implemented in multiple programming languages to ensure broad accessibility and ease of integration across different platforms and environments. Each implementation follows the specification and provides the same cryptographic guarantees.

Available Implementations

Below is a comprehensive list of all available IPCrypt implementations. Click on an implementation to view detailed documentation, installation instructions, and usage examples.

Python

Python

Reference implementation with all four modes.

Detailed documentation available

Documentation GitHub

C

C

High-performance implementation (ipcrypt2).

GitHub

Rust

Rust

Native implementation and C bindings.

ipcrypt-rs rust-ipcrypt2

JavaScript

JavaScript

Browser and Node.js compatible implementation.

GitHub npm

Go

Go

Concurrent-friendly implementation for Go applications.

GitHub

Java

Java

Native implementation for Java applications.

GitHub

Lua

Lua

Lightweight implementation for Lua applications.

GitHub

Swift

Swift

Native implementation for iOS, macOS, and Swift applications.

GitHub

Elixir

Elixir

Native implementation for Elixir applications.

GitHub

Ruby

Ruby

Native implementation for Ruby applications.

GitHub

Kotlin

Kotlin

Native implementation for Kotlin applications.

GitHub

AWK

AWK

Lightweight implementation for AWK scripting.

GitHub

Dart

Dart

Native implementation for Dart and Flutter applications.

Detailed documentation available

Documentation GitHub pub.dev

Zig

Zig

Low-level implementation with compile-time features.

GitHub

PHP

PHP

Web-friendly implementation for PHP applications.

GitHub

D

D

Bindings to the C implementation (d-ipcrypt2).

GitHub

Implementation Comparison

Language Type Deterministic PFX ND (KIASU-BC) NDX (AES-XTS) IPv4 IPv6 License
Python Native ISC
C Native ISC
Rust Bindings ISC
Rust Native ISC
JavaScript Native ISC
Go Native ISC
Java Native - ISC
Lua Native ISC
Swift Native - ISC
Elixir Native ISC
Ruby Native ISC
Kotlin Native - ISC
AWK Native - ISC
Dart Native - ISC
Zig Native ISC
PHP Native - ISC
D Bindings - ISC