Reina.Cryptography
A class library for .NET and .NET Framework, offering cascading triple-layered encryption/decryption (Twofish->Serpent->AES), with internal key management and unique IVs for each layer, for enhanced data security. Integrates with Azure Key Vault, AWS or Google Cloud for seamless store/retrieve of the 256-bit encryption key(s).
Install / Use
/learn @fkitsantas/Reina.CryptographyREADME
Project Overview
Reina Cryptography is a state-of-the-art class library for .NET and .NET Framework, offering cascading triple-layered encryption/decryption (Twofish->Serpent->AES), with internal key management and unique IVs for each layer, each prepended to its respective cipher for enhanced data security. The library integrates with Azure Key Vault for seamless store/retrieve of the 256-bit encryption key(s).
Table of Contents
- Introduction
- Requirements and Dependencies
- Detailed Usage Guide
- Project Design
- Security Considerations
- Troubleshooting and Support
- Contributing to Reina.Cryptography
- License and Legal Information
- About Reina.Cryptography
Introduction
Reina Cryptography is designed to integrate effortlessly with Azure Key Vault, providing a robust and secure management system for 256-bit encryption keys, enabling developers to perform extremely complex encryption and decryption tasks with ease.
Core Features and Capabilities
The core features that define the essence of this library:
-
Triple-Layered Cascading Encryption Technique: At the heart of Reina Cryptography is the Cascading Encryption Technique, which empowers developers to layer encryption through a sequence of Twofish, Serpent, and AES algorithms. This methodical layering is more than just a security feature; it's a commitment to data integrity and confidentiality. Even in the event of a breach in one encryption layer, the remaining layers maintain their defensive posture, safeguarding the encrypted data.
-
Seamless Azure Key Vault Integration: The library integrates flawlessly with Azure Key Vault, ensuring secure and efficient management of 256-bit encryption keys. This integration guarantees that cryptographic keys are not only safeguarded but also readily available for encryption tasks. The developer doesn't have to worry about storing/retrieving these keys as the Library handles that during encryption and decryption automatically.
-
Flexible Key Management Options: The library provides the flexibility to generate and utilize distinct 256-bit keys for each encryption algorithm or to employ a single key across multiple algorithms. This flexibility allows developers to choose the level of granularity in security that best suits their application's needs. By leveraging Azure Key Vault, Reina Cryptography ensures that these cryptographic keys are safely stored on the cloud, rather than being hardcoded, thereby enhancing security and reducing the potential for key compromise.
-
Unique Initialization Vector (IV) for Each Operation: Each encryption operation within the library is complemented by a securely generated, unique Initialization Vector (IV). These IVs are not merely appended but are intricately woven into the ciphertext, bolstering the encryption against pattern analysis and brute-force attacks. This strategic approach to encryption ensures that each piece of data remains an enigma, challenging even the most advanced decryption attempts.
Building on these core features, Reina Cryptography offers a comprehensive solution for developers seeking a robust and versatile encryption toolkit. <a href="#table-of-contents" title="Back to Top"><img align="right" src="Resources/backtotop.png" alt="Back to Top" width="35" height="35"></a>
Target Audience and Application Scenarios
Reina Cryptography is designed to cater to a diverse range of users and application scenarios, making it a versatile tool in the realm of encryption and security.
Target Audiences:
-
Software Development Companies: Ideal for companies looking to enhance the security of their applications, Reina Cryptography can be integrated into their development process. Companies can hardcode their Azure Key Vault credentials in the
Config.csfile, obfuscate the produced .dll, and distribute it to their development teams. This approach allows developers to leverage the company's Azure Key Vault for encryption and decryption tasks without direct access to the sensitive credentials, ensuring a secure and centralized key management system. -
Individual Developers: The library is also well-suited for individual developers working on .NET or .NET Framework applications who require robust encryption capabilities. Whether for personal projects or professional development, Reina Cryptography offers an easy way to integrate Azure Key Vault and implement advanced encryption techniques.
-
Enterprise Security Solutions: Enterprises seeking to bolster their data security can utilize Reina Cryptography to protect sensitive information. The library's advanced encryption methods are ideal for securing data in transit and at rest, making it a valuable tool for enterprise security strategies.
Application Scenarios:
-
Cloud-Based Applications: For applications deployed in cloud environments, Reina Cryptography provides an additional layer of security. Its integration with Azure Key Vault makes it particularly suitable for applications hosted on Azure, ensuring that encryption keys are managed securely in the cloud.
-
Financial Technology (FinTech) Applications: In the FinTech sector, where data security is paramount, Reina Cryptography can be used to secure financial transactions and sensitive customer data. Its robust encryption capabilities ensure that financial data remains confidential and secure.
-
Healthcare Applications: Healthcare applications dealing with sensitive patient data can benefit from the high level of security offered by Reina Cryptography. The library ensures that patient information is encrypted and stored securely, complying with regulatory standards like HIPAA.
-
E-Commerce Platforms: E-commerce sites handling customer data and transactions can use Reina Cryptography to secure customer information, payment details, and transaction records, providing customers with confidence in the platform's security measures.
-
Government and Public Sector: Ideal for government agencies requiring secure data storage, especially in handling sensitive citizen data.
In summary, Reina Cryptography is a versatile library that can be employed in various scenarios where data security is crucial. Its ease of integration with Azure Key Vault and its advanced encryption capabilities make it an ideal choice for a wide range of applications, from individual developer projects to large-scale enterprise solutions. <a href="#table-of-contents" title="Back to Top"><img align="right" src="Resources/backtotop.png" alt="Back to Top" width="35" height="35"></a>
Requirements and Dependencies
Software Requirements
The library is designed for use with the .NET Framework and .NET platforms.
-
.NET Framework 4.8.1: The latest major release of Microsoft's .NET Framework. Download .NET Framework 4.8.1
-
.NET 7: The latest major release of Microsoft's .NET. [Download .NET 7](https://dotnet.microsoft.com/en-us/dow
