Essentially, Pryvacy is a simple app that allows users to:
- create an account with a username and a password
- message other users
- view a feed of messages from the entire user base
- display a public PGP key as their profile
- encrypt and decrypt text using PGP keys
This is an application designed to generate class discussion and reflection on the topics of internet privacy and encryption. I lead this activity in a seminar with about 20 teenagers. As preparation for this unit, we watch a video which provokes thought around technology, freedom of information, and law. Students subsequently work with pencil-and-paper substitution ciphers to help define the concepts of encryption, keys, and secure channels. Through substitution ciphers, students recognize the challenges posed by symmetric algorithms. This app, Pryvacy, introduces students to asymmetric encryption and its advantages. It also poses an opportunity for a social experiment in the classroom.
TODO: add substitution cipher to encryption options so that students enrolled in elective computer science can try to decode messages.
This repository is ready-to-deploy on Heroku with the mongolab add-on
- mongoDB
- Python 3
- pip3
- virtualenv (recommended)
$ cd Pryvacy
$ virtualenv venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
Activate the virtual environment, if needed, and start the mongo database.
$ source venv/bin/activate
$ sudo mongod
$ python3 server.py
* Running on http://0.0.0.0:5000/