cryptolib — cryptografische versleutelingen¶
De cryptolib-module biedt primitieven voor symmetrische versleuteling. Op OpenMV Cams wordt deze meegeleverd zodra de ssl-module is ingeschakeld.
Klassen¶
- class cryptolib.aes(key: bytes | bytearray | memoryview, mode: int, IV: bytes | bytearray | memoryview | None = None)¶
Maak een nieuw AES-cipherobject aan, geschikt voor versleuteling of ontsleuteling. Na initialisatie kan het cipherobject slechts voor één richting worden gebruikt —
decrypt()uitvoeren naencrypt()(of omgekeerd) wordt niet ondersteund.Parameters:
key– de versleutelings-/ontsleutelingssleutel. Moet precies 16 bytes (AES-128) of 32 bytes (AES-256) zijn; AES-192 wordt niet ondersteund. Elk object met het bufferprotocol wordt geaccepteerd.mode– selecteert de blokcipher-modus:Waarde
Naam
Beschrijving
1ECB
Electronic Code Book. Elk blok van 16 bytes wordt onafhankelijk versleuteld; identieke platte-tekstblokken leveren identieke versleutelde tekst op. Over het algemeen niet aanbevolen voor nieuwe ontwerpen.
2CBC
Cipher Block Chaining. Elk blok wordt met het vorige versleutelde-tekstblok ge-XORd voordat het wordt versleuteld. Vereist een
IVvan 16 bytes.ECB en CBC vereisen beide dat de invoerlengte een veelvoud is van de AES-blokgrootte van 16 bytes.
IV– de initialisatievector van 16 bytes voor de CBC-modus. Wordt genegeerd bij ECB.
- encrypt(in_buf: bytes | bytearray | memoryview, out_buf: bytearray | memoryview | None = None) bytes¶
Versleutel
in_buf. De bufferlengte moet een veelvoud van 16 bytes zijn; vul de platte tekst zelf aan vóór het aanroepen.Als
out_bufwordt weggelaten, wordt het resultaat teruggegeven als een nieuw toegewezenbytes-object. Anders wordt de versleutelde tekst geschreven naar de muteerbare bufferout_buf, die minstens even lang moet zijn alsin_buf.in_bufenout_bufmogen naar dezelfde buffer verwijzen voor in-place versleuteling.
- decrypt(in_buf: bytes | bytearray | memoryview, out_buf: bytearray | memoryview | None = None) bytes¶
Net als
encrypt(), maar voert de bewerking in omgekeerde richting uit.