MS-GUARD-256 API Documentation
Overview
The MS-GUARD-256 Encryption API provides secure AES-256-GCM encryption and decryption with strong password-based key derivation, nonce replay prevention, and optional rate limiting. It's built for developers who need cryptographic security and performance with privacy.
This API uses AES-256-GCM with 12-byte IV, 16-byte authentication tag, and keys derived from passwords using Argon2id with 128MB memory and 8 passes. All input/output is Base64 encoded.
API Endpoint
https://guard.msnolix.com/api
Parameters
action— required:encryptordecryptdata— required: the plain text or the Base64 encoded encrypted stringkey— required: the password used to derive the encryption key
Examples
Encrypt
GET https://guard.msnolix.com/api?action=encrypt&data=Hello%20World&key=secret123
{
"success": true,
"result": "base64_payload_here"
}
Decrypt
GET https://guard.msnolix.com/api?action=decrypt&data=base64_payload_here&key=secret123
{
"success": true,
"result": "Hello World"
}
Data is encoded as:
version + salt + iv + tag + ciphertext, Base64-encoded. Requires the exact password to decrypt.JavaScript
fetch("https://guard.msnolix.com/api?action=encrypt&data=Hello%20World&key=secret123")
.then(res => res.json())
.then(json => console.log("Encrypted:", json.result));
Python
import requests
enc = requests.get("https://guard.msnolix.com/api", params={
"action": "encrypt",
"data": "Hello World",
"key": "secret123"
}).json()["result"]
print("Encrypted:", enc)
result = requests.get("https://guard.msnolix.com/api", params={
"action": "decrypt",
"data": enc,
"key": "secret123"
}).json()["result"]
print("Decrypted:", result)
PHP
$enc = json_decode(file_get_contents("https://guard.msnolix.com/api?action=encrypt&data=Hello%20World&key=secret123"), true);
echo "Encrypted: " . $enc['result'] . "\n";
$dec = json_decode(file_get_contents("https://guard.msnolix.com/api?action=decrypt&data=" . urlencode($enc['result']) . "&key=secret123"), true);
echo "Decrypted: " . $dec['result'] . "\n";
Technical Notes
- Encryption: AES-256-GCM with 12-byte IV and 16-byte tag
- Key derivation: Argon2id, 8 opslimit, 128MB memory
- Base64 output includes: version + salt + iv + tag + ciphertext
- Replay protection via IV file storage
- Rate limiting: 20 requests/minute per IP
- Max data size: 1MB
Use HTTPS. Do not reuse encrypted outputs. This API is stateless but defends against IV reuse and brute force.