secure-chat-app
所属分类:其他
开发工具:HTML
文件大小:0KB
下载次数:0
上传日期:2024-04-10 05:35:23
上 传 者:
sh-1993
说明: 此安全聊天应用程序提供了一个强大的加密通信平台,具有Kerberos身份验证协议和密钥分发中心集成等高级功能。
(This secure chat app offers a robust and encrypted communication platform with advanced features like Kerberos Authentication Protocol and Key Distribution Center integration.)
文件列表:
backend/
build/start_server/
dist/start_server/
frontend-admin/
frontend-user/
project-planning/
Instructions.txt
start_server.spec
# Secure Chat App
## Table of Contents
- [Description](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/#description)
- [Technologies](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/#technologies)
- [Key Features](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/#key-features)
- [Project Planning](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/#project-planning)
- [Contributors](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/#contributors)
- [Instructions](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/#instructions)
## Description
This secure chat app utilizes a combination of technologies such as React Native, Node.js, and Python, providing features like real-time chat, AES encryption, and group chat functionalities. Developed with contributions from Aidan Froggatt, Rosa Chen, Kyle McMaster, and Daniel Franze-Da Silva, the app offers a robust and encrypted communication platform with advanced features like Kerberos Authentication Protocol and Key Distribution Center integration.
## Technologies
![React Native](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-React%20Native-61DAFB?logo=react&logoColor=white&style=flat)
![Nativewind CSS](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-Nativewind%20CSS-000000?logo=tailwind-css&logoColor=white&style=flat)
![Expo](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-Expo-000020?logo=expo&logoColor=white&style=flat)
![Node.js](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-Node.js-339933?logo=node.js&logoColor=white&style=flat)
![Python](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-Python-3776AB?logo=python&logoColor=white&style=flat)
![Flask](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-Flask-000000?logo=flask&logoColor=white&style=flat)
![Firebase](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://img.shields.io/badge/-Firebase-FFCA28?logo=firebase&logoColor=white&style=flat)
## Key Features
- ### Kerberos Authentication Protocol
The Kerberos Authentication Protocol is used to authenticate users before they can send messages. The protocol uses a Ticket Granting Server to issue tickets to users, which are then used to authenticate the user to the Key Distribution Center.
- ### AES Encryption
The application uses the Advanced Encryption Standard (AES) to encrypt and decrypt messages between users. The AES algorithm is a symmetric key encryption algorithm that is used to secure the messages sent between users.
- ### Key Distribution Center
The Key Distribution Center is responsible for generating and distributing symmetric keys to users. The keys are used to encrypt and decrypt messages between users.
- ### Real-Time Chat
The application allows users to send and receive messages in real-time. Users can send messages to other users and view the messages they have received.
- ### Chat History Log
The application stores a history of messages sent and received by users. Users can view their chat history and see the messages they have sent and received.
- ### Group Chat
The application allows users to create and join group chats. Users can send messages to multiple users in a group chat and view the messages sent by other users in the group.
---
## Project Planning
All project planning documents can be found in the project planning directory
---
## Instructions
### Running the App (Frontend) for User Account
#### Setup
- NOTE: This app is designed to be run on a mobile device
- IMPORTANT! The backend server must be running before the app is started
- IMPORTANT! Update the server_url in the .env environment variables file to the IP address of the backend server
- Install [Node.js](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://nodejs.org/en/)
- Install Expo Go on mobile phone
#### Usage
- Clone the reposit ry
- Run `npm install` in the \frontend-user directory
- Run `npx expo start` in the \frontend-user directory
- Scan the QR code with Expo Go (Android) or the Camera app (iOS)
### Running the Server (Backend) of the App
#### From EXE
Run `start_server.exe`
Obtain IP and port printed by program to include in front end .env
Ensure listed port is open on machine firewall
#### from source
Run `python3 backend/start_server.py` from project root
Obtain IP and port printed by program to include in front end .env
Ensure listed port is open on machine firewall
- View backend for instructions on how to run the backend server.
- View frontend-user for instructions on how to run the user frontend.
- View frontend-admin for instructions on how to run the admin frontend.
---
## Corresponding Files For each Feature
### Key Distribution Center
#### In the backend folder
* headers\KeyDistributionManager.py
* src\AESKeyDistributionCenter.py
* headers\KeyGenerator.py
* src\AESKeyGenerator.py
* headers\KeyStorage.py
* src\KeyStorageFirebase.py
### Mediated Authentication Protocol
#### In the backend folder
* headers\AuthenticationManager.py
* src\KerberosAuthServer.py
* src\KerberosServerAuthManager.py
* src\KerberosTicketServer.py
#### In the frontend-user
* screens\UserLoginScreen.jsx
### Symmetric Key Crypto-System
#### In the backend folder
* headers\EncryptionFunction.py
* src\AESEncryptionFunction.py
* src\FernetEncryptionFunction.py
* src\NoneEncryptor.py
* headers\EncryptionKey.py
* headers\Serializer.py
* src\PythonSerializer.py
* src\JSONSerializer.py
### Chat History Log
#### In the backend folder
* headers\MessageDatabase.py
* src\FirebaseMessageDatabase.py
#### In the frontend-user folder
* screens\ChatScreen.jsx
---
## Contributors
- ### [Aidan Froggatt](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://github.com/aidanfroggatt)
- ### [Rosa Chen](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://github.com/rosachen3)
- ### [Kyle McMaster](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://github.com/KyleJMcMaster)
- ### [Daniel Franze-Da Silva](https://github.com/SE3A04-Project-Team/secure-chat-app/blob/master/https://github.com/DanielFD04)
近期下载者:
相关文件:
收藏者: