Store and share with confidence, knowing your data is safeguarded by an innovative Hybrid Cryptography approach.
Table of Contents
A safe and secure cloud service designed to provide users with an easy-to-use, yet secure platform for storing and sharing files. With DarkHold, you can sign up, log in, and upload your files with peace of mind knowing that they are protected using advanced encryption techniques.
One of the key features of DarkHold is the use of Hybrid Cryptography to encrypt files on the backend. This approach ensures that files are split into 16 parts, and each part is encrypted using a unique AES-256 key generated using a Key Derivation Function (KDF). These keys are derived from a master key, which is unique for every file and is encrypted using RSA. This method ensures that even if an attacker manages to obtain access to one part of a file, they will not be able to access the entire file without access to all 16 parts and the master key.
In addition to a strong encryption methods, DarkHold allows users to share files with others and remove access as needed. This means you can share files with colleagues or friends and control who has access to them at any given time. You can also delete files from the cloud as needed, providing an added layer of control over your data.
My goal with DarkHold is to provide a cloud service that is both easy to use and highly secure. I understand that many users are concerned about the safety of their data in the cloud, which is why I have gone to great lengths to ensure that my platform is as secure as possible. With DarkHold, you can be confident that your files are in safe hands.
To get a local copy up and running follow these simple example steps.
- npm or yarn
- Clone the repo
git clone https://github.com/Geralt-Of-Rivia-Witcher/Darkhold
- Next steps to run the Frontend and Backend part are in the README file in
client
andserver
folder respectively.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b branch_name
) - Commit your Changes (
git commit -m 'Added some AmazingFeature'
) - Push to the Branch (
git push origin branch_name
) - Open a Pull Request