Adil Khan 9 months ago
AdiKhanOfficial #FYP Ideas

PAK CHAT

Pak Chat is a proprietary, cross-platform and encrypted instant messaging client. It uses the Internet to send messages, documents, images, videos and audios (voices) to others.

Project Title

PAK CHAT

Project Area of Specialization

Cyber Security

Project Summary

Pak Chat is a proprietary, cross-platform and encrypted instant messaging client. It uses the Internet to send messages, documents, images, videos and audios (voices) to others.

Project Objectives

The End Goal of the project is to create a fully functional and secure android application for use of Pakistani community.

Acadmic Objective

To explore and apply already learnt technologies while learning new things.

Project Implementation Method

Integrated Development Environment (IDE) for our project is Android Studio.

We are using Java as a backend language. It is object-oriented

XML as frontend language.

We are using firebase for Authentication, database and for online Storage.

We are using Authentication of Firebase. Firebase Authentication gives backend services, simple to-use SDKs, and instant UI libraries to confirm clients over your application.

We are using Real-time Database of Firebase. Real-time Database is a cloud-hosted database

Other then real-time Database we are using Storage feature of firebase.

For audio and video calling we are using Sinch SDK.

For Notification we are using OneSignal SDK.

Encryption:

We are using the functionality of a cryptographic cipher for encryption and decryption. It forms the core of the Java Cryptographic Extension (JCE) framework.

We are using Advanced Encryption Standard (AES).

Our key specification is:

 key length is 256 bits.

Salt - which is random data that is used as an additional input to a one-way function that “hashes” a password or passphrase. We are using 32 bits of random salt

Iteration – we are doing 1000 iteration which is recommended by PKCS#5.

With this key specification we do key factory with Password-Based Key Derivation Function 2(PBKDF2) with hash-based message authentication code (Hmac) and Secure Hash Algorithm 1(SHA1) this is also known as PBKDF2withHmacSHA1.

After this we generate our key with key spec and key factory in encoded form.

With this key we encrypt using Advanced Encryption Standard (AES) using Cipher Block Chaining (CBC) by applying Password-Based Encryption Standard 5 padding (PKCS5Padding).

Firebase Rules:

For securing our database we are using firebase rules. Realtime Database Rules are made up of JavaScript-like expressions contained in a JSON document.

Location:

For security reasons we are blocking some features in restricted area so that it can not be misuse.

Design Patterns:

Adapter Design Pattern:

For getting data from firebase and display it to user in this part we are using Adapter design Pattern.

Model-View-Presenter:

For encryption side code we have implanted the model view presenter (MVP).

Model–view–presenter (MVP) is a derivation of the model–view–controller (MVC) architectural pattern which mostly used for building user interfaces. In MVP, the presenter assumes the functionality of the “middle-man”. In MVP, all presentation logic is pushed to the presenter. MVP advocates separating business and persistence logic out of the Activity and Fragment.

Benefits of the Project

Our project provide a chating facility to Pakistan community and also provide the security features by developing permissions access,block application in restricted area and generate a warning at hate speach.

Technical Details of Final Deliverable

Integrated Development Environment (IDE) for our project is Android Studio. It is based on the IntelliJ IDEA, a Java integrated development environment for software, and incorporates its code editing and developer tools.

We are using Java as a backend language. It is object-oriented. This allows to create modular programs and reusable code. Java is platform-independent. One of the most significant advantages of Java is its ability to move easily from one computer system to another.

XML as frontend language. It uses human, not computer, language. XML is readable and understandable, even by novices, and no more difficult to code than HTML.

We are using firebase for Authentication, database and for online Storage. It Owned by Google, Firebase is a complete package of products that allows to build web and mobile apps, improve the app quality and help your clients grow their business. Firebase gives everything from databases, analytics to crashing reports are included in Firebase. It is building to help developers to share various features between cross-platform apps related Database, Config, and Notifications. You can perform various complex operation easily with firebase to build high-quality and bug-free apps for Android, iOS, and The Web.

We are using Authentication of Firebase. Firebase Authentication gives backend services, simple to-use SDKs, and instant UI libraries to confirm clients over your application. It supports authentication using passwords, email id, phone number or username. We are using Phone Number for Authentication.

Security Measures:

Encryption:

We are using the functionality of a cryptographic cipher for encryption and decryption. It forms the core of the Java Cryptographic Extension (JCE) framework.

We are using Advanced Encryption Standard (AES).

Our key specification is:

 key length is 256 bits.

Salt - which is random data that is used as an additional input to a one-way function that “hashes” a password or passphrase. We are using 32 bits of random salt

Iteration – we are doing 1000 iteration which is recommended by PKCS#5.

With this key specification we do key factory with Password-Based Key Derivation Function 2(PBKDF2) with hash-based message authentication code (Hmac) and Secure Hash Algorithm 1(SHA1) this is also known as PBKDF2withHmacSHA1.

After this we generate our key with key spec and key factory in encoded form.

With this key we encrypt using Advanced Encryption Standard (AES) using Cipher Block Chaining (CBC) by applying Password-Based Encryption Standard 5 padding (PKCS5Padding).

Firebase Rules:

For securing our database we are using firebase rules. Realtime Database Rules are made up of JavaScript-like expressions contained in a JSON document.

Final Deliverable of the Project

Software System

Type of Industry

IT , Security , Telecommunication

Technologies

Others

Sustainable Development Goals

Good Health and Well-Being for People, Quality Education, Decent Work and Economic Growth

Required Resources

Item Name Type No. of Units Per Unit Cost (in Rs) Total (in Rs)
Play store Equipment135503550
Firebase Services Equipment10355035500
One signal Equipment11405814058
Sinch Equipment101141136
Printing1 Miscellaneous 123003600
printing2 Miscellaneous 220004000
Stationery Miscellaneous 4200800
Total in (Rs) 62644
If you need this project, please contact me on contact@adikhanofficial.com
Hand Exoskeleton for Assistance in Grasping Using Force Myography

This project is about developing a wearble device that includes a sensor band and hand exo...

1675638330.png
Adil Khan
9 months ago
Cascaded H bridge Multilevel Inverter

To convert energy from renewable sources (in the form of DC power) to some useful form (in...

1675638330.png
Adil Khan
9 months ago
Fire Extinguisher Deca di Drone

We are designing a drone, ?Red Crescent Drone? (Red symbolizes blood and the Crescent deno...

1675638330.png
Adil Khan
9 months ago
Aeromon Quadcopter Digital Twin

Innovation is the charm of 4th Industrial Revolution. ICT Organizations all over the world...

1675638330.png
Adil Khan
9 months ago
Frozen Foods

Frozen foods application is a platform for businessman to take their business online. They...

1675638330.png
Adil Khan
9 months ago