Data Encryption App

← All projects← كل المشاريع
// Development · Cryptography// التطوير · التشفير

Data Encryption App — AES & RSA

A Python graduation project: a web application that encrypts and decrypts files with both AES symmetric and RSA asymmetric encryption, with password-based keys and two-factor authentication.مشروع تخرج بلغة Python: تطبيق ويب يشفّر الملفات ويفك تشفيرها بـ AES المتماثل وRSA غير المتماثل، مع مفاتيح مبنية على كلمة مرور ومصادقة ثنائية.

AES + RSAAES + RSAsymmetric and asymmetric in one appمتماثل وغير متماثل في تطبيق واحد
PBKDF2HMACpassword-based key derivationاشتقاق المفاتيح من كلمة مرور
2FA2FAauthenticator-app one-time passwordكلمة مرور لمرة واحدة من تطبيق مصادقة
Graduationتخرجfinal-year projectمشروع السنة الأخيرة
// overview// نظرة عامة

Protecting stored data with standard cryptographyحماية البيانات المخزّنة بتشفير قياسي

The app lets a user protect sensitive files so they stay confidential at rest and in transit. It combines AES-256 for fast file encryption with RSA for asymmetric operations, inside one interface.يتيح التطبيق للمستخدم حماية ملفاته الحساسة لتبقى سرية أثناء التخزين والنقل. يجمع AES-256 لتشفير الملفات بسرعة مع RSA للعمليات غير المتماثلة في واجهة واحدة.

Keys are generated from a password through PBKDF2HMAC, and both file encryption and decryption are supported.تُولَّد المفاتيح من كلمة مرور عبر PBKDF2HMAC، ويدعم التطبيق تشفير الملفات وفك تشفيرها.

Typeالنوع
Graduation project, web applicationمشروع تخرج، تطبيق ويب
Authenticationالمصادقة
Two-factor, QR code + one-time passwordثنائية العامل، رمز QR وكلمة مرور لمرة واحدة
Languageاللغة
Python
Encryptionالتشفير
AES-256 and RSAAES-256 وRSA
Key generationتوليد المفاتيح
PBKDF2HMAC, password-basedPBKDF2HMAC، مبني على كلمة مرور
// features// المزايا

What it doesماذا يفعل

  • AES-256 encryption and decryption of files.تشفير الملفات وفك تشفيرها بـAES-256.
  • RSA asymmetric encryption in the same application.تشفير RSA غير المتماثل في التطبيق نفسه.
  • Password-based keys using PBKDF2HMAC.مفاتيح مبنية على كلمة مرور باستخدام PBKDF2HMAC.
  • Two-factor authentication: the user scans a QR code with an authenticator app (such as Google Authenticator) and verifies a one-time password.المصادقة الثنائية: يمسح المستخدم رمز QR بتطبيق مصادقة (مثل Google Authenticator) ثم يتحقق بكلمة مرور لمرة واحدة.
  • A clean interface for managing sensitive data.واجهة نظيفة لإدارة البيانات الحساسة.
// screens// لقطات الشاشة

Screenshotsلقطات الشاشة

Application screenshot 1
Application screenshot 1لقطة التطبيق 1
Application screenshot 2
Application screenshot 2لقطة التطبيق 2
Application screenshot 3
Application screenshot 3لقطة التطبيق 3
Application screenshot 4
Application screenshot 4لقطة التطبيق 4
Application screenshot 5
Application screenshot 5لقطة التطبيق 5
Application screenshot 6
Application screenshot 6لقطة التطبيق 6
Application screenshot 7
Application screenshot 7لقطة التطبيق 7
Application screenshot 8
Application screenshot 8لقطة التطبيق 8
Application screenshot 9
Application screenshot 9لقطة التطبيق 9
// takeaways// الخلاصة

What this project showsما يُظهره هذا المشروع

  • Practical use of symmetric and asymmetric cryptography.استخدام عملي للتشفير المتماثل وغير المتماثل.
  • Key derivation and key management basics.أساسيات اشتقاق المفاتيح وإدارتها.
  • Secure programming with the Python cryptography library.البرمجة الآمنة بمكتبة cryptography في Python.
  • Adding two-factor authentication with an authenticator app (TOTP).إضافة المصادقة الثنائية بتطبيق مصادقة (TOTP).
  • Building a complete tool as a final-year project.بناء أداة متكاملة كمشروع تخرج.
PythoncryptographyAES-256RSAPBKDF2HMAC2FA (OTP)

Want the details behind this project?تريد تفاصيل أكثر عن هذا المشروع؟

I’m happy to walk through the design, the configs and what I would change in production.يسعدني شرح التصميم والإعدادات وما الذي سأغيّره في بيئة الإنتاج.