Puncte:0

Mascarea deterministă a datelor

drapel jp

Construim un cadru de mascare a datelor, în principal pentru a masca IPI. Scara noastră este destul de mare, iar mascarea se va face la momentul ingerării, așa că dorim ca mascarea să se facă într-o manieră foarte performantă. Unele dintre constrângerile pe care le avem sunt că am dori ca mascarea să fie deterministă și reversibilă. M-am uitat la criptarea AES pentru a cripta PII, în special AES SIV, pe macbook-ul meu, durează aproximativ 2 milisecunde, ceea ce poate să nu fie ideal pentru scara noastră.

Ar fi grozav să auzim de la comunitate dacă există alternative la AES SIV care sunt mai rapide (și deterministe) sau dacă există alte alternative la criptarea AES.

Iată metoda mea de criptare. Folosesc Cryptodome.Cipher AES


    def encrypt(cheie: octeți, text: str) -> str:
        nonce = None
        cipher = None
        encoded_text = text.encode('utf-8')

        nonce = get_random_bytes(AES.block_size)
        cipher = AES.new(cheie, AES.MODE_SIV, nonce=nonce)
        cipher_text, tag = cipher.encrypt_and_digest(encoded_text)

        ret_cipher_text = nonce + cipher_text
        ret_cipher_text = tag + ret_cipher_text
        returnează b64encode(ret_cipher_text).decode()

Performanța acestei criptări ~2 milisecunde pentru un text mic.

poncho avatar
drapel my
2 msec pentru a cripta AES un text moderat mic? Cu siguranță, procesoarele de pe macbook-uri nu sunt atât de rele - bănuiesc că utilizați un criptator AES prost (performanță scăzută)...
Paul Uszak avatar
drapel cn
Expresia _"determinist_" apare de trei ori aici. Care este preocuparea dumneavoastră specifică?
drapel jp
@poncho - Da, text mic. Folosesc Cryptodome.Cipher AES. Există alternative mai rapide? Posibil răufăcător?
drapel jp
@PaulUszak - Vreau să știu dacă performanța de criptare AES SIV este într-adevăr sub-optimă și dacă există modalități alternative de a masca datele, astfel încât același text simplu să fie mascat în exact același text cifrat și să poată fi convertit înapoi în text simplu .
Paul Uszak avatar
drapel cn
_"sau dacă există alte alternative la criptarea AES."_: descoperiți că (în afară de http://tls) nu există criptări alternative din perspectiva marketingului. AES sau bust.
Paul Uszak avatar
drapel cn
Sunteți sigur că doriți acest lucru: _"același text simplu este mascat în exact același text cifrat "_? Aceasta spune că nimic nu s-a schimbat și este considerată o formă proastă.
Puncte:2
drapel us

Problema aici este cea mai probabilă Piton si nu AES.

Cu suport hardware (AES-NI), AES poate fi calculat, în general, la mai puțin de ~ 1 ciclu CPU/octet dacă aveți suficient de multe sarcini AES independente (de exemplu, cu modul contor) și la aproximativ 2-5 cicluri CPU/octet dacă nu (de ex. cu modul CBC).

AES-SIV acum funcționează eficient prin înlănțuirea unei operații asemănătoare CBC, cu ieșirea sa fiind folosită ca numărător inițial la modul contrar. Astfel, performanța așteptată este de aproximativ 3-6 cicluri pe octet pentru implementări optimizate.

Două milisecunde pe un procesor de 1 GHz (probabil ceasurile dvs. sunt mai mari) sunt aproximativ 2 milioane de cicluri CPU. Chiar și presupunând o implementare destul de proastă pe un procesor mai vechi cu AES-NI, o implementare „proastă” va atinge aproximativ 20-30 de cicluri/octet, dar nicăieri aproape de 2 milion.

Deci, problema este cel mai probabil legată de faptul că interpretul trebuie să facă mult mai mult decât cu o interpretare compilată/optimizată.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.