AES-GCM with port names
The same AES-GCM encryption, with role names on the fixed ports of the AES node so the graph reads like the protocol.
Overview & Cryptographic Context
When modeling real-world security protocols such as SRTP (RFC 7714) or TLS record protection, generic port names like Plaintext and Ciphertext can obscure what protocol structure is actually flowing through each wire. NodeCrypto allows you to rename any fixed or dynamic port directly on the canvas card or in the Properties modal while keeping the underlying permanent port ID intact.
This workflow is functionally identical to AES-GCM encryption, but assigns domain-specific role names to the fixed ports of the AES Encrypt node—renaming plaintext to Packet Payload, ciphertext to Encrypted Payload, and tag to Authentication Tag—and attaches a Markdown memo explaining the SRTP nonce rules.
Pipeline Architecture & Role Port Mapping
- Permanent Port IDs Preserved: Even though the display label on port
plaintextis changed toPacket Payload, the edge wiring and the CLI execution engine still reference the immutable IDplaintext. Hovering over a renamed port on the canvas displays its original ID in a tooltip (see Port Order and Renaming). - Embedded Markdown Memo: The AES node includes a node note documenting RFC 7714 §16.1.1 and reminding reviewers never to reuse a 96-bit GCM nonce under the same key (see Node Properties Window and Memos).
Nodes & Configuration
| Node | Node Role & Renamed Ports | Count |
|---|---|---|
| Workflow Input | Supplies Key, Nonce, AAD, and Plaintext | 1 |
| AES Encrypt | mode = "GCM"; ports renamed to Packet Payload (in), Encrypted Payload (out), and Authentication Tag (out) | 1 |
| Workflow Output | Collects Ciphertext and Tag | 1 |
Inputs, Outputs & Test Vector Verification
Verification Source: RFC 7714 §16.1.1 (AES-128-GCM, SRTP packet)
Inputs
| Name | Type | Value (Hex) |
|---|---|---|
Key | bytes (16 B) | 000102030405060708090a0b0c0d0e0f |
Nonce | bytes (12 B) | 51753c6580c2726f20718414 |
AAD | bytes (12 B) | 8040f17b8041f8d35501a0b2 |
Plaintext | bytes (39 B) | 47616c6c696120657374206f6d6e69732064697669736120696e207061727465732074726573 |
Expected Outputs
| Name | Type | Value (Hex) |
|---|---|---|
Ciphertext | bytes (39 B) | f24de3a3fb34de6cacba861c9d7e4bcabe633bd50d294e6f42a5f47a51c7d19b36de3adf8833 |
Tag | bytes (16 B) | 899d7f27beb16a9152cf765ee4390cce |