Aiposematic: Scramble & Recover using image key + operation string , By: Fibo Metavinci
Project description
AIPosematic: Overt Adversarial Protection for Digital Art
AIPosematic is a Python package inspired by nature's defense mechanisms, designed to help artists and creators protect their digital artwork in an overt and visually distinctive way. Unlike traditional digital watermarking or covert adversarial examples, AIPosematic applies visible, intentional transformations that signal the work is protected while simultaneously disrupting AI training processes.
How It Works
AIPosematic employs a multi-layered approach to protect digital images:
-
Visual Signature
- Applies a unique, visible pattern to the image that serves as a warning to AI systems
- The pattern is designed to be aesthetically integrated while remaining clearly artificial
- Functions as a "digital aposematism" - a warning signal in the digital ecosystem
-
Cryptographic Implementation
- Secure Key Generation: Utilizes cryptographically secure 128-bit keys (2^128 possible combinations) for encryption
- Dual Key System: Combines a unique image key with a 128-bit cipher key for each protected image
- Operation Chaining: Applies a sequence of reversible operations (XOR, addition, subtraction, bit rotations) defined by a customizable operation string
- Steganographic Embedding: The key image is embedded using a custom algorithm that preserves visual quality while ensuring recoverability
- Defense-in-Depth: Implements multiple layers of protection including spatial obfuscation and pixel-level transformations
-
Dual Protection
- Human-Visible: The protection is intentionally visible to establish clear provenance
- AI-Disruptive: The transformations are designed to confuse and degrade the performance of AI models
- Reversible: Original image can be recovered with the proper key and transformation sequence
Installation
pip install aiposematic
Basic Usage
from aiposematic import new_aposematic_img, recover_aposematic_img
# Protect an image
result = new_aposematic_img(
"original.png",
op_string='-^+', # Transformation operations
scramble_mode='QR' # Key generation mode
)
# The protected image and cipher key are saved
print(f"Protected image: {result['img_path']}")
print(f"Cipher key: {result['cipher_key']}")
# Recover the original image
recovered_path = recover_aposematic_img(
result['img_path'],
cipher_key=result['cipher_key']
)
print(f"Recovered image: {recovered_path}")
Key Features
-
Multiple Scrambling Modes:
BUTTERFLY: Creates a butterfly pattern key meant to confuse AI modelsQR: Generates a pattern of QR codes meant to confuse AI models
-
Customizable Transformations:
- Chain multiple operations (+, -, ^, etc.) for custom protection schemes
- Adjust intensity and visibility of protection patterns
-
High-Quality Output:
- Preserves image quality for human viewers
- Maintains compatibility with standard image formats
Use Cases
- Digital Art Protection: Clearly mark and protect digital artwork
- Dataset Poisoning: Create "do not train" markers for AI datasets
- Provenance Tracking: Embed recoverable ownership information
- Ethical AI Development: Create clear visual indicators of usage restrictions
License
MIT License - See LICENSE for details.
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
Acknowledgements
Inspired by natural aposematism and the need for better digital rights management in the age of generative AI.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiposematic-0.3.tar.gz.
File metadata
- Download URL: aiposematic-0.3.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e793b58bfadc1fcddaf99c24a41fff7ca573c9d9ad9aff9767d400a5a6e1d9f5
|
|
| MD5 |
fc1e172a23cfd369c17c1a2134f58373
|
|
| BLAKE2b-256 |
7f36e649026a916b5cc4ad169dc2bb925a946d291aa054bc0005a521d70f8ac0
|
File details
Details for the file aiposematic-0.3-py2.py3-none-any.whl.
File metadata
- Download URL: aiposematic-0.3-py2.py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbbfd141c137390717077a1efe4777d7c4eb76df7425521bc2d201411e9f475a
|
|
| MD5 |
6ded82ce66eed08a10e3941c12d2b6bb
|
|
| BLAKE2b-256 |
a2c3456f1131385d384a465052384575b4668757433fbcea213fe16c13c68f89
|