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
Overview
Encrypt and decrypt files with a password using a well-tested library.
Skills you will use
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
Step-by-step roadmap
Start
You will finish with: a command-line tool that encrypts and decrypts files safely.
- 1
Prerequisites
Nothing special to know first. Then collect the 1 item in the materials list.
- 2
Learn
Read up on python: AES, encryption, passwords. Your textbook chapter and one short video are enough.
- 3
Plan
List the features for version one, sketch the screens or data flow and pick the tools. Keep the first version small.
- 4
Build
- Derive a key from the password with a slow key-derivation function and a random salt.
- Encrypt the file with an authenticated cipher.
- Store the salt and nonce with the file.
- Decrypt and verify, failing clearly on a wrong password.
- Explain why you never write your own cipher.
- 5
Test
Try it with wrong, empty and unusual input, and ask someone else to use it without your help.
- 6
Document
Write a README: what it does, how to run it, screenshots and what you learned. Report structure
- 7
Present
Show a live demo of one complete task, then the design and the hardest problem you solved. Presentation structure
- 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.
- Problem
- Encrypt and decrypt files with a password using a well-tested library.
- Target user
- You write thisOne specific person: who they are and when they would use this.
- Solution
- Encrypt and decrypt files with a password using a well-tested library.
- First version (MVP)
- You write thisThe smallest version that shows the idea working once, end to end.
- Tech stack
- Python
- Architecture
- You write thisA quick sketch of the parts and how they connect.
- Demo
- You write thisThe one scenario you will show live, start to finish, in under two minutes.
- Stretch goals
- Add a simple window and secure deletion of the original.
Team roles
Plan by length
24-hour
- Hours 0–2: agree the problem, the user and the one thing the demo must show
- Hours 2–16: build only the first version
- Hours 16–20: test the demo path end to end and fix what breaks
- Hours 20–24: slides, a 2-minute demo script and a backup recording
48-hour
- Evening 1: problem, user, sketch and task split
- Day 1: first version working end to end
- Day 2 morning: one stretch goal and testing
- Day 2 afternoon: polish, slides and demo practice
1-week
- Day 1: research the problem and talk to two possible users
- Days 2–4: first version
- Day 5: stretch goals
- Day 6: testing and write-up
- Day 7: demo video and presentation
Report and presentation
Report structure
- Title and summary
- Problem and target user
- Features
- Tools and technology
- Design: architecture, data model or screens
- Implementation
- Testing
- Results and screenshots
- Challenges
- Future improvements
- References
Presentation structure
- The problem
- Who it is for
- Live demo
- How it is built (one diagram)
- The hardest part
- Testing and results
- What you learned
- 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.
Programming + Data
Write a web scraper for public data and analyse it
Collect a table of public information from a site that allows it and analyse the result.
Programming · Python
Build a Snake game
Program the classic Snake with scoring, growing length and game over.
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.
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.
Systems and Cloud · Networking
Build a chat system on raw sockets
Write a server and client that exchange messages over TCP with several users.
Earth Science + Data
Map earthquakes from live data
Download a month of world earthquakes and show that they trace the plate boundaries.
Data · Data Engineering
Clean a messy real-world dataset
Take a messy government dataset and produce a clean, documented version with a script.
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.
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.
Pure Mathematics + Programming
Visualise fractals with code
Draw the Koch snowflake, Sierpinski triangle and Mandelbrot set and measure a fractal dimension.
Languages and Linguistics + Artificial Intelligence
Compare human and computer translation
Translate ten sentences yourself and with a free online tool and classify the differences.
Same difficulty and budget
Programming · JavaScript
Build a multiplayer tic-tac-toe with an unbeatable computer
Make tic-tac-toe for two players, then add a computer that never loses.
Programming + Pure Mathematics
Write classic sorting algorithms and race them
Implement bubble, insertion, merge and quick sort and plot how their running time grows.
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.
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.