Cryptology Academy · Lektion

Genopfriskning af bitvise operationer

AND, OR, XOR, NOT og bit-shift-operationer forklaret visuelt

Lektion 1 af 413 trin

Genopfriskning af bitvise operationer er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Velkommen

Bitvise operationer arbejder direkte på tallenes binære repræsentationer. De er de grundlæggende operationer i alle symmetriske chifre, hashfunktioner og MAC'er.

AND-operation

AND returnerer kun 1, når BEGGE bits er 1. 0101 AND 0011 = 0001 Anvendelse: maskering — udtræk af specifikke bits. mask = 0xFF; low_byte = value & mask

OR-operation

OR returnerer 1, når MINDST ÉN bit er 1. 0101 OR 0011 = 0111 Anvendelse: indstilling af specifikke bits. flags = flags | 0x04 # set bit 2

XOR-operation

XOR returnerer 1, når bits er FORSKELLIGE. 0101 XOR 0011 = 0110 Vigtig egenskab: A XOR A = 0, A XOR 0 = A. XOR er selv-inverterende: (A XOR B) XOR B = A

NOT-operation

NOT vender hver bit. NOT 0101 = 1010 (i en 4-bit-kontekst) Python: ~5 == -6 (på grund af to-komplement) For unsigned: ~x & 0xFF maskerer til 8 bits

Venstreskift (<<)

Venstreskift flytter alle bits n positioner til venstre og udfylder med nuller fra højre. 0001 << 3 = 1000 (= 8) a << n svarer til a × 2^n Bruges i nøgleudvidelse og blandingsoperationer.

Højreskift (>>)

Højreskift flytter bits til højre og kasserer de laveste bits. 1000 >> 2 = 0010 (= 2) a >> n svarer til a ÷ 2^n (gulv) Bruges til at udtrække nibbles: (byte >> 4) & 0x0F

Rotation (ROTL/ROTR)

Rotation fører bits rundt i stedet for at kassere dem. ROTL32(x, n) = (x << n) | (x >> (32-n)) Bruges i SHA-256, AES MixColumns og ChaCha20s quarter-round.

XOR-swap-tricket

XOR gør det muligt at bytte værdier uden en midlertidig variabel: a ^= b b ^= a a ^= b Nu er a og b byttet om. Bruges i nogle chifferimplementeringer for at opnå bedre effektivitet.

Bitvise eksempler i 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

Bitoptælling

bin(n).count('1') tæller satte bits (Hamming-vægt). Hamming-afstanden mellem to ord er antallet af bits, der er forskellige — afgørende i fejlkorrektion og diff-analyse.

Hurtigt tjek

Hvad er 0b1010 XOR 0b1100 i binær notation?

Opsummering

Du har nu styr på bitvise operationer! Dernæst bruger vi XOR til at opbygge et krypteringssystem og opdager den perfekte hemmeligholdelse i en engangspad.
Gratis at komme i gang

Lær Cryptology Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
67
Lektioner
261

Ofte stillede spørgsmål

Er lektionen “Genopfriskning af bitvise operationer” gratis?

Ja — hele teksten til “Genopfriskning af bitvise operationer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Genopfriskning af bitvise operationer”?

AND, OR, XOR, NOT og bit-shift-operationer forklaret visuelt Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cryptology Academy?

Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Genopfriskning af bitvise operationer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?

Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Genopfriskning af bitvise operationer
  2. XOR-kryptering og engangsnøglen
  3. Hvorfor XOR alene ikke er sikkert
  4. XOR i AES og stream-koder
← Tilbage til Cryptology Academy