Cryptographic Key Manager Using CAM-Based Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cryptographic systems face challenges in supporting high-speed encryption and decryption with modern algorithms, requiring greater throughput and flexibility for multiple concurrent algorithms and dynamic key management, while existing approaches rely on static key maps and inefficient memory allocation.
Innovation Solution
A cryptographic key management system utilizing a Content Addressable Memory (CAM) inspired design, known as cRAM, which dynamically allocates storage for keys and uses two memories to behave as a type of CAM, allowing for virtualized key management and flexible allocation based on availability, along with a rotating priority queue and autonomous LIFO controller for efficient command handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If static key maps are used for key storage, then device complexity is reduced, but adaptability and key agility deteriorate
Solution Approach 1:
The patent implements dynamic key allocation where key storage locations are not fixed but allocated on-demand based on algorithm requirements. The key manager dynamically assigns key locations from an available pool, allowing the system to adapt to different algorithms and key quantities without pre-defined static maps, thereby resolving the contradiction between simplified structure and enhanced adaptability.
Solution Approach 2:
The key management system is designed to support multiple cryptographic algorithms (AES, DES, 3DES, RC4, etc.) with a single unified key storage structure. Instead of having separate static key maps for each algorithm, the system uses a universal dynamic allocation mechanism that can accommodate any algorithm's key requirements, improving versatility without proportionally increasing complexity.
2Device complexity
If pre-allocated key blocks are used per algorithm, then device complexity is reduced, but productivity and throughput deteriorate due to inefficiency in supporting multiple concurrent algorithms
Solution Approach 1:
The patent merges the key management of multiple algorithms into a single unified key manager that handles all algorithms concurrently. Instead of having separate key management structures for each algorithm, the system combines them into one manager that dynamically allocates keys from a shared pool, reducing structural complexity while improving throughput by enabling efficient concurrent access to keys for multiple algorithms simultaneously.
Solution Approach 2:
The system uses dynamic key allocation where keys are allocated on-demand rather than being pre-allocated in fixed blocks. This dynamic approach allows the key manager to efficiently serve multiple concurrent algorithms by allocating keys as needed, improving productivity and throughput while maintaining a relatively simple unified allocation structure.
3Speed
If CAM is used for key storage, then speed and key access time are improved, but device complexity and power consumption increase
Solution Approach 1:
The patent segments the key storage system into two parts: a CAM-based key location index for fast lookup and a RAM-based key storage for actual key data. This segmentation allows the system to use CAM only for the critical path of key location retrieval (improving speed) while storing the bulk key data in simpler, more power-efficient RAM, thereby reducing overall device complexity and power consumption compared to using CAM for entire key storage.
Solution Approach 2:
The system introduces an intermediary structure (the key location index in CAM) that mediates between the fast access requirement and the large storage requirement. The CAM stores compact key location information that enables rapid access, while the actual key data resides in RAM. This intermediary approach resolves the contradiction by using CAM only where its speed advantage is critical while avoiding its complexity and power costs for bulk storage.
4Ease of manufacture
If static key maps are used, then ease of manufacture is improved, but adaptability to modern algorithms deteriorates
Solution Approach 1:
The patent implements dynamic key allocation that automatically adapts to different algorithm requirements without requiring manual reconfiguration or static pre-allocation. The key manager dynamically assigns key locations based on current algorithm needs, making the system easy to manufacture (no complex static configuration) while simultaneously providing high adaptability to modern algorithms like AES-256 and concurrent algorithms.
Data Source
AI summary
A method and apparatus for improved algorithm and key agility for a cryptosystem, comprising a CAM-type key manager. The key manager uses two memories, an index RAM and a key RAM, to virtualize each algorithm or key using pointers from the index RAM to the key RAM, allowing simple reference to algorithm/key pairs, and to dynamically allocate storage for keys. An autonomous free memory management design improves latency in future key write operations by transforming the search for free location addresses in the key RAM memory into a background task, and employing a free address stack. The index RAM is resizable so that data for a plurality of cryptographic algorithms may be stored dynamically.


