Cryptographic Engine Check-up and HASH Functions<br /> - Speedcrypt File Encryption

Speedcrypt
File Encryption

       
A comprehensive Crypto Suite.
 Engineered by Mariano ortu.

Speedcrypt
Encrypted Files
Go to content
Speedcrypt Self-Test...
Speedcrypt Self-Test of Algorithms
✒️ Self Test Module

The Self-Test module represents a fundamental engineering component within Speedcrypt, designed to ensure the reliability, consistency, and operational integrity of the entire system. At startup, Speedcrypt performs an automatic and structured diagnostic process that validates all core cryptographic components, including encryption engines, hash functions, and HMAC-based constructions. This validation is not generic, but directly tied to the actual implementations used within the system.

The current architecture executes 44 distinct tests, covering a wide range of cryptographic primitives. Despite the breadth of coverage, the execution time remains extremely efficient, typically completing within a few seconds. This performance is the result of careful optimization and a streamlined execution pipeline, ensuring that the startup phase is not negatively impacted while still providing a comprehensive verification layer.

🔧Test Architecture

Each test is executed through a standardized interface, ensuring uniform behavior and consistent validation logic across all cryptographic components.
The system verifies:


Each test produces a deterministic result that is evaluated at runtime. Any deviation, exception, or inconsistency is immediately classified as a failure.

📳 Execution Model

The Self-Test module follows a strictly controlled execution flow:

  • Tests are executed sequentially to ensure deterministic behavior
  • Each test is individually timed using high-resolution timers
  • Results are recorded and displayed in real time
  • A global status flag tracks whether all tests have passed

The system is designed so that a single failure is sufficient to mark the entire validation process as compromised.

👀 Result Visualization

All test results are displayed within the user interface through a structured and highly readable format.
For each test, the following information is provided:

  • Cryptographic component name
  • Test result (PASSED / FAILED)
  • Execution time (in milliseconds or seconds)

Visual indicators improve readability:

  • Green color for successful tests
  • Red color for failed tests
  • Blue-toned timing information for performance metrics

Additionally, a final aggregated entry reports the total execution time of the entire test suite, providing a clear overview of system performance.

🚀 Runtime Integration

The Self-Test module is fully integrated into the application lifecycle:

  • Automatically executed at startup
  • Manually executable at any time via the Self-Test [CTRL+L] command
  • Progress is tracked through a real-time progress indicator

This allows users to revalidate system integrity after:

  • Configuration changes
  • Software updates
  • Extended runtime sessions
  • Environmental variations

🖊️Engineering Purpose

From an engineering standpoint, the Self-Test module serves multiple critical objectives:

🪛 Early Fault Detection
       Any malfunction, inconsistency, or unexpected behavior is immediately identified, preventing the system from operating under unreliable conditions.

🪛 Deterministic Validation
       Ensures that all cryptographic primitives produce consistent and expected outputs under controlled conditions.

🪛 Performance Monitoring
       Execution times provide measurable insight into system efficiency and can reveal anomalies or degradations.

🪛 Integrity Assurance
       Confirms that all cryptographic components are functioning exactly as designed before being used in real operations.

🖊️Design Considerations

The Self-Test module is intentionally designed to be:

  • Deterministic
  • Lightweight
  • Non-intrusive
  • Fully repeatable

It does not rely on external conditions and operates entirely within a controlled execution environment, ensuring consistent and reliable results across different systems.

🖊️Engineering Conclusion

The Self-Test module is not merely a diagnostic feature, but a core component of the Speedcrypt security model. By continuously validating its own cryptographic foundation, Speedcrypt ensures that every operation is executed within a trusted and verified environment. This transforms the system from a passive execution platform into an active self-verifying architecture, where reliability is not assumed, but constantly proven through systematic validation.
Periodic execution of the Self-Test is recommended to ensure continuous verification of algorithm integrity, especially across different systems or after environmental and configuration changes!
Back to content