https://github.com/matbagnoletti/unipgcifrari
Esercitazione assegnata nell'ambito del corso di Programmazione Procedurale del primo anno di Informatica presso l'Università degli Studi di Perugia.
https://github.com/matbagnoletti/unipgcifrari
c cypher gcc playfair-cipher vigenere-cipher
Last synced: about 2 months ago
JSON representation
Esercitazione assegnata nell'ambito del corso di Programmazione Procedurale del primo anno di Informatica presso l'Università degli Studi di Perugia.
- Host: GitHub
- URL: https://github.com/matbagnoletti/unipgcifrari
- Owner: matbagnoletti
- Created: 2024-11-17T15:10:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-19T13:47:40.000Z (over 1 year ago)
- Last Synced: 2025-01-21T23:26:24.446Z (over 1 year ago)
- Topics: c, cypher, gcc, playfair-cipher, vigenere-cipher
- Language: C
- Homepage:
- Size: 7.81 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
UniPG: esercizio cifrari
Made by @matbagnoletti
Matteo Bagnoletti Tini | matricola n° 377156
Corso di Programmazione Procedurale I° anno a.a. 2024/2025, UniPG - DMI
## Descrizione
Esercitazione assegnata nell'ambito del corso di Programmazione Procedurale del primo anno di Informatica presso l'Università degli Studi di Perugia.
## Requisiti
- [gcc](https://www.gcc.gnu.org/) (utilizzata v13.2.0) o altro compilatore C analogo
È possibile visualizzare la versione già presente sul proprio dispositivo mediante il seguente comando:
```bash
gcc -v
```
## Richiesta dell'esercizio
Realizzare un programma in C che permetta all'utente di cifrare un messaggio utilizzando, a scelta, o il [cifrario di Vigenère](https://it.wikipedia.org/wiki/Cifrario_di_Vigen%C3%A8re) o il [cifrario di Playfair](https://it.wikipedia.org/wiki/Cifrario_Playfair).
Per una visione più approfondita del testo e delle richieste del progetto, **consultare il file PDF disponibile al seguente [link](https://francescosantini.sites.dmi.unipg.it/exercises/progI/esercizio2425.pdf)**.
## Soluzione proposta
Il programma permette all'utente di cifrare un messaggio utilizzando il cifrario di Vigenère o il cifrario di Playfair.
Per quanto riguarda il primo, l'utente dovrà inserire una chiave di cifratura (verme) di lunghezza massima 8 caratteri, mentre per il secondo verrà utilizzata la matrice 5x5 di Playfair generata a partire dalla parola "ESEMPIO".
Il programma si occuperà di formattare e ripulire sia il messaggio in chiaro (plaintext) che la chiave di cifratura, in modo tale da avere stringhe composte esclusivamente da caratteri alfabetici inglese in minuscolo (vedi formatted-plaintext).
Infine verrà mostrato a video il messaggio cifrato (ciphertext), nonché informazioni utili quali il numero di caratteri scartati e se il messaggio è stato troncato o meno.
## Installazione e utilizzo
Per poter utilizzare il programma, è necessario seguire i seguenti passaggi:
1. Effettua il clone della repository con il comando:
```bash
git clone https://www.github.com/matbagnoletti/UniPGCifrari.git
```
In alternativa, effettua il download del file compresso del progetto ed estrailo in una cartella locale del tuo computer.
2. Nel terminale, spostati nella cartella del progetto:
```bash
cd UniPGCifrari
```
3. Compila il codice sorgente:
```bash
gcc soluzione.c -o [eseguibile] -std=c11
```
4. Esegui il programma:
```bash
./[eseguibile]
```