-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Security
-
Fully Compatible
-
Security 2023-02-06
Define the FLE2RangeIndexedValueV2 payload type in the EncryptedBinDataType enum in fle_field_schema.idl. Then, create the class FLE2IndexedRangeEncryptedValueV2 which implements the parseAndDecrypt() and serialize() methods.
The serialize method shall output the binary string that can be parsed as:
index_key_id (16) || bson_type (1) || SKE.Enc(serverToken, ciphertext) || encrypted_counters_and_tags
where encrypted_counters_and_tags can be further parsed as:
[ ( SKE.Enc(FS[ f, 2, e, 1 ], (e.counter || contentionFactor)) || e.tag || SKE.Enc(FS[ f, 2, e, 2 ], 0128) ) ] for each e in payload.edgeTokenSet