> ## Documentation Index > Fetch the complete documentation index at: https://support.fortanix.com/llms.txt > Use this file to discover all available pages before exploring further. # Computes the KCV of the input and returns. This is only valid for AES, DES & DES3 keys > Computes the KCV of the input and returns. This is only valid for AES, DES & DES3 keys. ## OpenAPI ````json POST /crypto/v1/keys/kcv { "openapi": "3.0.0", "info": { "title": "Fortanix DSM REST API", "description": "This is a set of REST APIs for accessing the Fortanix Data Security Manager. This includes APIs for managing accounts, and for performing cryptographic and key management operations. \n\n **Note:** \n- All binary input should be base64-encoded. These fields are marked with `format: byte`. \n- For forward compatibility, any API client is expected to ignore any fields in the response not explicitly mentioned in the documentation. We reserve the right to add new fields at any time to provide new functionality without affecting existing API clients. \n- PATCH requests accept a JSON value describing a partial update to the specified resource. All top-level fields in the PATCH request are optional. If an optional field is omitted, the existing value of that field is preserved. In general, for nested JSON objects, the request must provide the complete object value rather than a partial update.", "termsOfService": "https://fortanix.com/legal/agreements-and-standard-terms", "contact": { "name": "Fortanix Support", "url": "https://support.fortanix.com/", "email": "support@fortanix.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "0.1.0-20260928" }, "servers": [ { "url": "{dsmEndpoint}", "description": "DSM Endpoint", "variables": { "dsmEndpoint": { "default": "https://amer.smartkey.io", "description": "Type your DSM server URL here (include https://)" } } } ], "paths": { "/crypto/v1/keys/kcv": { "post": { "operationId": "GetKcv", "tags": [ "Keys" ], "security": [ { "bearerToken": [] }, { "apiKeyAuth": [] } ], "summary": "Computes the KCV of the input and returns. This is\nonly valid for AES, DES & DES3 keys.", "description": "Computes the KCV of the input and returns. This is\nonly valid for AES, DES & DES3 keys.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyCheckValueRequest" } } } }, "responses": { "2XX": { "description": "Success result", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/KeyCheckValueResponse" } } } } } } } }, "components": { "schemas": { "KeyCheckValueRequest": { "allOf": [ { "type": "object", "description": "Request for getting the KCV of a security object", "properties": { "kcv_method": { "$ref": "#/components/schemas/KcvMethod" } } }, { "$ref": "#/components/schemas/SobjectDescriptor" } ] }, "KeyCheckValueResponse": { "allOf": [ { "type": "object", "description": "KCV of a key", "properties": { "kid": { "type": "string", "format": "uuid", "nullable": true, "description": "UUID, only for persistent keys" }, "kcv": { "type": "string", "description": "Key Checksum Value. Could be one of following two variants:\n- Encrypt KCV: 24-bit checksum as a 6-character case-insensitive hex string (Default)\n- Cmac KCV: 40-bit checksum as a 10-character case-insensitive hex string" } }, "required": [ "kcv" ] } ] }, "KcvMethod": { "description": "Methods for calculating a Key Checksum Value.", "type": "string", "enum": [ "Encrypt", "Cmac" ] }, "SobjectDescriptor": { "description": "Uniquely identifies a persisted or transient sobject.", "oneOf": [ { "title": "SobjectDescriptorVariantKid", "type": "object", "properties": { "kid": { "type": "string", "format": "uuid" } }, "required": [ "kid" ] }, { "title": "SobjectDescriptorVariantName", "type": "object", "properties": { "name": { "type": "string", "maxLength": 4096, "pattern": "^[^\\n]*[^\\s\\n][^\\n]*$" } }, "required": [ "name" ] }, { "title": "SobjectDescriptorVariantTransientKey", "type": "object", "properties": { "transient_key": { "type": "string", "format": "byte" } }, "required": [ "transient_key" ] }, { "title": "SobjectDescriptorVariantInline", "type": "object", "properties": { "inline": { "$ref": "#/components/schemas/SobjectDescriptorInline" } }, "required": [ "inline" ] } ] }, "SobjectDescriptorInline": { "allOf": [ { "type": "object", "properties": { "value": { "type": "string", "format": "byte" }, "obj_type": { "$ref": "#/components/schemas/ObjectType" } }, "required": [ "value", "obj_type" ] } ] }, "ObjectType": { "description": "Type of security object.", "type": "string", "enum": [ "AES", "ARIA", "DES", "DES3", "SEED", "RSA", "DSA", "EC", "KCDSA", "ECKCDSA", "BIP32", "SLIP10", "BLS", "OPAQUE", "HMAC", "LEDABETA", "ROUND5BETA", "SECRET", "LMS", "XMSS", "MLDSA", "MLDSABETA", "MLKEM", "MLKEMBETA", "CERTIFICATE", "PBE" ] } }, "securitySchemes": { "bearerToken": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" }, "apiKeyAuth": { "type": "apiKey", "name": "Authorization", "in": "header", "description": "Please enter your token prefixed with 'Basic ' (e.g., 'Basic your_token_here')" } } } } ````