Posts

Modular Arithmetic in Cryptography: The Engine of Digital Security

Welcome back to izytech.dev ! In the previous article , we looked at why mathematical precision matters and how prime numbers and the Greatest Common Divisor are the building blocks of computer security. Today we take an important step forward and introduce the most important working tool of this field: Modular Arithmetic . If the concepts from the first lesson were the building materials, modular arithmetic is the real engine that powers modern cryptographic algorithms. Let's see how it works and why we use it every day, often without even noticing. What Is Modular Arithmetic? (The Math of the Clock) In simple terms, modular arithmetic is the math of remainders . Instead of moving along an infinite number line, we work inside a limited, cyclical system, focusing only on what is left over after a normal division by a specific number, called the modulus . A practical example we all use is reading a clock. Let's say it's 14:30 and you need to leave...

L'Aritmetica Modulare in Crittografia: Il Motore della Sicurezza Digitale

Bentornati su izytech.dev ! Nel precedente articolo abbiamo esplorato l'importanza dell'esattezza matematica e di come i numeri primi e il Massimo Comune Divisore costituiscano i mattoni fondamentali della sicurezza informatica. Oggi facciamo un passo avanti decisivo introducendo lo strumento operativo più importante di questa disciplina: l' Aritmetica Modulare . Se i concetti visti nella prima lezione rappresentano i materiali da costruzione, l'aritmetica modulare è il vero motore matematico che fa girare gli algoritmi crittografici moderni. Scopriamo insieme come funziona e perché la usiamo costantemente ogni giorno, spesso senza rendercene conto. Che cos'è l'Aritmetica Modulare? (La matematica dell'orologio) L'aritmetica modulare è, in parole semplici, la matematica dei resti . Invece di muoverci lungo una retta numerica infinita, lavoriamo all'interno di un sistema ciclico limitato, concentrandoci esclusivamente sul valore...

The Mathematical Foundations of Modern Cryptography: Exactness, Prime Numbers, and the Greatest Common Divisor

Welcome to the first post of this blog, dedicated to my academic journey in cryptography. The goal of this post is to introduce the fundamental mathematical concepts that guarantee the security of our digital communications. It is important to underline that the mathematics used in cryptography is profoundly different from what we apply in our daily routines. The absolute need for exactness In everyday life, the use of approximations is very common. For example, if a product costs $1.99, we naturally consider it as $2.00. However, in the field of modern cryptography, there is no tolerance for rounding errors. If a cryptographic algorithm approximates a value even by a microscopic fraction, the entire system fails. The digital "key" used to encrypt a message would no longer be able to decrypt it, making the information permanently inaccessible. For this reason, cryptography abandons decimal numbers and operates exclusively with integers (such as -1,...

Le fondamenta matematiche della crittografia moderna: esattezza, numeri primi e massimo comune divisore

Benvenuti alla prima pubblicazione di questo blog, dedicato al mio percorso accademico in crittografia. L'obiettivo di questo post è introdurre i concetti matematici fondamentali che garantiscono la sicurezza delle nostre comunicazioni digitali. È importante sottolineare che la matematica utilizzata in crittografia è profondamente diversa da quella che applichiamo nelle nostre routine quotidiane. L'assoluta necessità di esattezza Nella vita quotidiana, l'uso di approssimazioni è molto comune. Ad esempio, se un prodotto costa 1,99 dollari, lo consideriamo naturalmente come 2,00 dollari. Tuttavia, nel campo della crittografia moderna, non c'è tolleranza per gli errori di arrotondamento. Se un algoritmo crittografico approssima un valore anche solo di una frazione microscopica, l'intero sistema fallisce. La "chiave" digitale utilizzata per crittografare un messaggio non sarebbe più in grado di decrittografarlo, rendendo le informaz...

Iniziare con Cargo in Rust: Guida per Principianti

Iniziare con Cargo in Rust: Guida per Principianti Cargo è lo strumento di compilazione e il gestore di pacchetti predefinito per Rust. Ti aiuta a compilare il tuo codice, scaricare librerie (chiamate dipendenze ) e mantenere tutto organizzato. 1. Cos'è Cargo? Quando usi Cargo, non devi compilare il tuo codice manualmente con rustc . Cargo rende tutto più semplice, specialmente nei progetti più grandi. Puoi: Compilare il tuo codice Aggiungere librerie esterne (dipendenze) Eseguire il tuo programma Controllare la presenza di errori di compilazione 2. Controlla se Cargo è installato Se hai installato Rust usando il metodo ufficiale ( rustup ), Cargo è già installato. Per verificare, esegui questo comando nel tuo terminale: $ cargo --version Se vedi un numero di versione, sei pronto! 3. Crea un nuovo progetto Ora, creiamo un nuovo progetto Rust usando Cargo: $ cargo new hello_cargo $ cd hello_cargo Questo crea una...

Introduzione a Rust: Scrivere il tuo primo "Hello, World!"

Introduzione a Rust: Scrivere il tuo primo "Hello, World!" Introduzione a Rust: Scrivere il tuo primo "Hello, World!" Pubblicato il 20 Luglio 2025 Preparare l'area di lavoro Per prima cosa, dobbiamo stabilire una directory dove salvare il nostro codice. Anche se Rust non ha preferenze sulla posizione, è una buona pratica mantenere i propri progetti ben organizzati. Apri un terminale (o il prompt dei comandi) e crea una cartella per il tuo progetto. Per Linux, macOS e PowerShell (su Windows): # Crea una directory "projects" nella tua home mkdir ~/projects # Entra nella directory appena creata cd ~/projects # Crea la cartella per il nostro progetto specifico mkdir hello_world # Entra nella cartella del progetto cd hello_world Per il Prompt dei Comandi di Windows (CMD): > mkdir "%USERPROFILE%\projects" > cd /d "%USERPROFILE%\pro...

Come Installare Ubuntu 24.04 WSL su Windows 10 e 11

Introduzione Questa guida ti mostra passo dopo passo come installare Ubuntu 24.04 LTS utilizzando WSL (Sottosistema Windows per Linux) su Windows 10 o Windows 11. È un'ottima soluzione per eseguire Linux senza dual boot o macchine virtuali. Requisiti Windows 10 (versione 2004 o successiva) o Windows 11 Connessione a Internet Accesso come amministratore 1. Abilitare WSL Apri PowerShell come amministratore ed esegui questo comando: wsl --install Questo comando abilita le funzionalità necessarie, installa la piattaforma WSL e scarica Ubuntu (di solito l'ultima versione stabile). 2. Installare Ubuntu 24.04 Manualmente (se necessario) Se desideri installare specificamente Ubuntu 24.04 , puoi farlo manualmente: wsl --install -d Ubuntu-24.04 Oppure, se WSL è già installato: wsl --list --online wsl --install -d Ubuntu-24.04 3. Primo Avvio e Configurazione Dopo l'instal...