0Pricing
Cryptology Academy · Lezione

Ripasso delle operazioni bitwise

Scopra visivamente le operazioni AND, OR, XOR, NOT e gli shift dei bit.

Ripasso delle operazioni bitwise è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Benvenuto

Le operazioni bit a bit agiscono direttamente sulle rappresentazioni binarie dei numeri. Sono le operazioni fondamentali all'interno di ogni cifrario simmetrico, funzione hash e MAC.

Operazione AND

AND restituisce 1 solo quando ENTRAMBI i bit sono 1. 0101 AND 0011 = 0001 Caso d'uso: mascheramento — estrazione di bit specifici. mask = 0xFF; low_byte = value & mask

Operazione OR

OR restituisce 1 quando ALMENO UNO dei bit è 1. 0101 OR 0011 = 0111 Caso d'uso: impostazione di bit specifici. flags = flags | 0x04 # set bit 2

Operazione XOR

XOR restituisce 1 quando i bit sono DIVERSI. 0101 XOR 0011 = 0110 Proprietà fondamentale: A XOR A = 0, A XOR 0 = A. XOR è autoinverso: (A XOR B) XOR B = A

Operazione NOT

NOT inverte ogni bit. NOT 0101 = 1010 (in un contesto a 4 bit) Python: ~5 == -6 (a causa del complemento a due) Per valori senza segno: ~x & 0xFF limita il risultato a 8 bit

Scorrimento a sinistra (<<)

Lo scorrimento a sinistra sposta tutti i bit verso sinistra di n posizioni e riempie con zeri a destra. 0001 << 3 = 1000 (= 8) a << n equivale a a × 2^n Viene usato nell'espansione delle chiavi e nelle operazioni di miscelazione.

Scorrimento a destra (>>)

Lo scorrimento a destra sposta i bit verso destra, scartando i bit meno significativi. 1000 >> 2 = 0010 (= 2) a >> n equivale a a ÷ 2^n (arrotondato per difetto) Viene usato per estrarre i nibble: (byte >> 4) & 0x0F

Rotazione (ROTL/ROTR)

La rotazione riporta i bit all'estremità opposta invece di scartarli. ROTL32(x, n) = (x << n) | (x >> (32-n)) Viene usata in SHA-256, in AES MixColumns e nel quarter-round di ChaCha20.

Tecnica di scambio con XOR

XOR consente di scambiare due valori senza una variabile temporanea: a ^= b b ^= a a ^= b A questo punto a e b sono stati scambiati. Viene usato in alcune implementazioni di cifrari per una maggiore efficienza.

Esempi di operatori bit a bit in Python

a = 0b10110011 b = 0b11001100 print(bin(a & b)) # 0b10000000 print(bin(a | b)) # 0b11111111 print(bin(a ^ b)) # 0b01111111 print(bin(~a & 0xFF)) # 0b01001100

Conteggio dei bit

bin(n).count('1') conta i bit impostati (peso di Hamming). La distanza di Hamming tra due parole è il numero di bit differenti: un valore fondamentale nella correzione degli errori e nell'analisi delle differenze.

Verifica rapida

Qual è il risultato binario di 0b1010 XOR 0b1100?

Riepilogo

Ora le operazioni bit a bit sono chiare. Nel prossimo argomento useremo XOR per costruire uno schema di cifratura e scopriremo la segretezza perfetta del one-time pad.

Domande Frequenti

La lezione «Ripasso delle operazioni bitwise» è gratuita?

Sì — il testo completo di «Ripasso delle operazioni bitwise» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Ripasso delle operazioni bitwise»?

Scopra visivamente le operazioni AND, OR, XOR, NOT e gli shift dei bit. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Ripasso delle operazioni bitwise»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Ripasso delle operazioni bitwise
  2. Cifratura XOR e one-time pad
  3. Perché XOR da solo non è sicuro
  4. XOR dentro AES e nei cifrari a flusso
← Torna a Cryptology Academy