เรากำลังสร้างกรอบการปกปิดข้อมูลเป็นหลักเพื่อปกปิด PII สเกลของเราค่อนข้างใหญ่ และการมาสก์จะทำในเวลานำเข้า ดังนั้นเราจึงต้องการให้การมาสก์ทำได้อย่างมีประสิทธิภาพ ข้อจำกัดบางประการที่เรามีคือเราต้องการให้กำบังถูกกำหนดและย้อนกลับได้ ฉันได้ดูการเข้ารหัส AES เพื่อเข้ารหัส PII โดยเฉพาะอย่างยิ่ง AES SIV บน macbook ของฉัน ซึ่งใช้เวลาประมาณ ~2 มิลลิวินาที ซึ่งอาจไม่เหมาะสำหรับขนาดของเรา
จะดีมากหากได้รับการรับฟังจากชุมชนหากมีทางเลือกอื่นสำหรับ AES SIV ซึ่งเร็วกว่า (และกำหนดได้) หรือหากมีทางเลือกอื่นสำหรับการเข้ารหัส AES
นี่คือวิธีการเข้ารหัสของฉัน ฉันใช้ Cryptodome.Cipher AES
def เข้ารหัส (คีย์: ไบต์, ข้อความ: str) -> str:
โนนเซ่ = ไม่มี
ตัวเลข = ไม่มี
encoded_text = text.encode('utf-8')
nonce = get_random_bytes (AES.block_size)
การเข้ารหัส = AES.new (คีย์, AES.MODE_SIV, nonce=nonce)
cipher_text แท็ก = cipher.encrypt_and_digest (เข้ารหัสข้อความ)
ret_cipher_text = ไม่มีค่า + cipher_text
ret_cipher_text = แท็ก + ret_cipher_text
ส่งคืน b64encode(ret_cipher_text).decode()
ประสิทธิภาพของการเข้ารหัสนี้ ~2 มิลลิวินาทีสำหรับข้อความขนาดเล็ก