Skip to content

Encrypted File System (EFS) is a multi-user file system implemented in Java that uses digital certificates for authentication and supports encrypted storage of text, PDF, and image files. The system enforces user-specific access, integrity verification, and supports multiple encryption and hashing algorithms to ensure data security and privacy.

Notifications You must be signed in to change notification settings

randjelaa/encrypted-file-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Encrypted File System (EFS)

Project Description

This project implements a secure, shared encrypted file system (EFS) for multiple users. Users authenticate using a username, password, and a valid digital certificate. Each authenticated user gains access to their own home directory and can only view and manage their own files and directories. The system supports text, PDF, and image files, ensuring data security and integrity.

Features

  • Secure user authentication with digital certificates
  • Encrypted file storage and retrieval
  • User-specific home directories
  • Integrity checks to prevent corrupted file usage
  • File upload, download (with decryption), creation, and deletion
  • Shared directory for controlled file sharing
  • Support for at least three encryption and hashing algorithms
  • Secure user account and certificate storage

Technologies Used

  • Programming Language: Java
  • Cryptography: OpenSSL (via ProcessBuilder)
  • Database: MySQL (using Hibernate for ORM)
  • Security: Public Key Infrastructure (PKI) with an external CA
  • File Handling: Encrypted storage with integrity verification

About

Encrypted File System (EFS) is a multi-user file system implemented in Java that uses digital certificates for authentication and supports encrypted storage of text, PDF, and image files. The system enforces user-specific access, integrity verification, and supports multiple encryption and hashing algorithms to ensure data security and privacy.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages