technifyed

Programming + Cybersecurity

Make a file encryption tool

Encrypt and decrypt files with a password using a well-tested library.

  • DifficultyIntermediate
  • Estimated time2–7 days
  • Budget₹0
  • ClassClass 11 to college
  • TeamSolo
  • You needComputer only

Prerequisites: None beyond your class work

Original · by TechnifyedSoftware ProjectFree to doComputer onlyTwo subjects

My projects

Overview

Encrypt and decrypt files with a password using a well-tested library.

Skills you will use

Key derivationUsing a cryptography library correctly

Safety

  • Practise only on your own devices, accounts and networks, or on labs made for training. Testing systems you do not own without written permission is illegal.

Materials and tools

  • Computer with Python 3 and the cryptography package

Tools and software

Python

Expected cost₹0Nothing to buy
Estimated duration2–7 days5 build steps, plus the report

Step-by-step roadmap

  1. Start

    You will finish with: a command-line tool that encrypts and decrypts files safely.

  2. 1

    Prerequisites

    Nothing special to know first. Then collect the 1 item in the materials list.

  3. 2

    Learn

    Read up on python: AES, encryption, passwords. Your textbook chapter and one short video are enough.

  4. 3

    Plan

    List the features for version one, sketch the screens or data flow and pick the tools. Keep the first version small.

  5. 4

    Build

    1. Derive a key from the password with a slow key-derivation function and a random salt.
    2. Encrypt the file with an authenticated cipher.
    3. Store the salt and nonce with the file.
    4. Decrypt and verify, failing clearly on a wrong password.
    5. Explain why you never write your own cipher.
  6. 5

    Test

    Try it with wrong, empty and unusual input, and ask someone else to use it without your help.

  7. 6

    Document

    Write a README: what it does, how to run it, screenshots and what you learned. Report structure

  8. 7

    Present

    Show a live demo of one complete task, then the design and the hardest problem you solved. Presentation structure

  9. 8

    Publish

    Put the code on GitHub with the README and, if you can, deploy a live demo.

Expected outcome

A command-line tool that encrypts and decrypts files safely.

Other versions of this project

Advanced version

Add a simple window and secure deletion of the original.

Ways to do this project

Text marked "You write this" is a prompt for your own work; everything else is specific to this project.

Use this as the outline of your README or case study.

Problem
You write thisThe problem in one or two sentences.
Why it matters
You write thisWho has this problem and what it costs them.
What was built
A command-line tool that encrypts and decrypts files safely.
Technology
Python
Architecture
You write thisOne diagram: the parts and how data moves between them.
Implementation
You write thisThe 5 build steps in your own words, with one code or design decision you are proud of.
Challenges
You write thisThe hardest bug or decision, and how you got past it.
Results
You write thisNumbers: accuracy, speed, users, survey answers.
Demo and code
You write thisA link to a live demo or a short video, and to the GitHub repository.
Lessons learned
You write thisWhat you would do differently next time.
Future improvements
Add a simple window and secure deletion of the original.

Report and presentation

Report structure

  1. Title and summary
  2. Problem and target user
  3. Features
  4. Tools and technology
  5. Design: architecture, data model or screens
  6. Implementation
  7. Testing
  8. Results and screenshots
  9. Challenges
  10. Future improvements
  11. References

Presentation structure

  1. The problem
  2. Who it is for
  3. Live demo
  4. How it is built (one diagram)
  5. The hardest part
  6. Testing and results
  7. What you learned
  8. What comes next

Viva questions

Prepare your own answers to these before you present.

  • What is the aim of your project, in one sentence?
  • What is the principle behind it?
  • Why did you choose these materials or tools?
  • What result did you get, and was it what you expected?
  • What went wrong and how did you fix it?
  • How could this be improved or used in real life?

Resources

Source and attribution

Original

Written by Technifyed. Free to use for your own school or college project; write the report in your own words. Added 1 Oct 2026.

Similar projects

More Programming projects

Programming · Python

Build a Markdown-to-HTML converter

Write a tool that converts headings, lists, links, bold and code blocks from Markdown to HTML.

  • Intermediate
  • 2–7 days
  • Free
Software Project · Computer onlyView

Programming · Python

Build a Snake game

Program the classic Snake with scoring, growing length and game over.

  • Easy
  • 2–7 days
  • Free
Game · Computer onlyView

Programming · Python

Make a to-do list app that saves to a file

Build a command-line task manager that adds, completes, deletes and saves tasks between runs.

  • Easy
  • 2–7 days
  • Free
Software Project · Computer onlyView

Same tools

Artificial Intelligence + Statistics and Probability

Predict house prices with linear regression

Use a public housing dataset to predict price from size, rooms and location.

  • Intermediate
  • 2–7 days
  • Free
AI/ML Project · Computer onlyView

Systems and Cloud · Networking

Build a chat system on raw sockets

Write a server and client that exchange messages over TCP with several users.

  • Intermediate
  • 2–7 days
  • Free
Software Project · Computer onlyView

Earth Science + Data

Map earthquakes from live data

Download a month of world earthquakes and show that they trace the plate boundaries.

  • Intermediate
  • 2–7 days
  • Free
Data Analysis · Computer onlyView

Data · Data Engineering

Clean a messy real-world dataset

Take a messy government dataset and produce a clean, documented version with a script.

  • Intermediate
  • 2–7 days
  • Free
Data Analysis · Computer onlyView

Two-subject alternatives

Systems and Cloud + Robotics, IoT and Hardware

Set up a web server on a Raspberry Pi

Turn a Raspberry Pi into a home web server that hosts your own site on the local network.

  • Intermediate
  • 2–7 days
  • 2,500–5,000
Hardware Project · Raspberry Pi requiredView

Cybersecurity + Systems and Cloud

Analyse your own home network traffic

Capture traffic on your own computer and identify which protocols and services it talks to.

  • Intermediate
  • 2–7 days
  • Free
Investigation · Computer onlyView

Pure Mathematics + Programming

Visualise fractals with code

Draw the Koch snowflake, Sierpinski triangle and Mandelbrot set and measure a fractal dimension.

  • Intermediate
  • 2–7 days
  • Free
Visualization · Computer onlyView

Languages and Linguistics + Artificial Intelligence

Compare human and computer translation

Translate ten sentences yourself and with a free online tool and classify the differences.

  • Intermediate
  • 2–7 days
  • Free
Research Project · Computer onlyView

Same difficulty and budget

Software Development · APIs

Build a weather app using a public API

Show current weather and a five-day forecast for any city using a free weather API.

  • Intermediate
  • 2–7 days
  • Free
Web App · Computer onlyView

Systems and Cloud · Containers

Containerise an application with Docker

Package one of your own apps and its database so anyone can run it with one command.

  • Intermediate
  • 2–7 days
  • Free
Software Project · Computer onlyView

Enter your email and the official page opens. Phone is optional.