File Sharing

File Sharing involves creating a secure file sharing program in Go, focusing on confidentiality and integrity of shared data.

Overview

File Sharing involves creating a secure file sharing program in Go, focusing on confidentiality and integrity of shared data.

Description

  • Implementation of a file sharing application ensuring secure sharing of files among users
  • Utilizes various data structures like User, File, FileCollab, Invitation, DoublyLinkedList, Node, MacVerify, FileChildrenList, and FileParentList
  • Incorporates encryption and decryption techniques to safeguard file contents during storage and retrieval
  • Implements user authentication mechanisms including password hashing and key generation for secure access
  • Features file sharing functionalities such as invitation creation, acceptance, and revocation, with encrypted data transmission
  • Enables efficient management of file access and collaboration through updates to relationship lists and key regeneration

Skills

  • Proficiency in Go programming language
  • Understanding of cryptographic principles for data security
  • Experience in system design and architecture for building secure and scalable applications