Cryptography
HMAC + BLAKE3 + SHA-3/Keccak + Poly1305 + BLAKE2 Keyed MAC Construction Linter
Compute and audit MACs across HMAC-SHA-2/SHA-3, keyed BLAKE2, BLAKE3, KMAC and Poly1305 with official known-answer self-tests, key/tag-length linting and a cross-construction compatibility matrix.
html· HTML resultOpen tool
Quick start
Call this tool from your code in three languages.
cURL
curl -X POST 'https://api.elysiatools.com/en/api/tools/hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter' \
-H 'Content-Type: application/json' \
-d '{"message":"The quick brown fox jumps over the lazy dog","messageEncoding":"utf8","keyHex":"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f","tagBytes":32,"customLabel":"myapi/v1/webhook"}'API reference
Send a POST request with your inputs as JSON. File parameters require a separate upload first.
Endpoint
HTTP
POST https://api.elysiatools.com/en/api/tools/hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linterParameters
| Name | Type | Required | Description |
|---|---|---|---|
| message | textarea | Yes | — |
| messageEncoding | select | No | — |
| keyHex | text | Yes | — |
| tagBytes | number | No | — |
| customLabel | text | No | — |
Response format
MCP integration
Add this tool to your Model Context Protocol server so AI agents can list and call it.
Server configuration
Add this block to your MCP client configuration:
mcp.json
{
"mcpServers": {
"elysiatools-hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter": {
"name": "hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter",
"description": "Compute and audit MACs across HMAC-SHA-2/SHA-3, keyed BLAKE2, BLAKE3, KMAC and Poly1305 with official known-answer self-tests, key/tag-length linting and a cross-construction compatibility matrix.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}List available tools
After connecting to the SSE endpoint, list the exposed tools:
tools/list
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Call this tool
Invoke the tool by its id, passing arguments built from its parameters:
tools/call
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter",
"arguments": {
"message": "The quick brown fox jumps over the lazy dog",
"messageEncoding": "utf8",
"keyHex": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
"tagBytes": 32,
"customLabel": "myapi/v1/webhook"
}
}
}