Es escaso porque el cifrado de búsqueda rara vez es práctico.
En general, significa que estás usando un código muy débil o que descifras todo a medida que avanzas. El primer caso es malo porque puede usar los patrones en el cifrado para romperlo con una muestra lo suficientemente grande. El segundo método, más recomendable, es extremadamente lento porque tiene que descifrar todo el conjunto de datos para ejecutar una sola consulta. De cualquier manera, Searchable Encryption solo es realmente práctico con conjuntos de datos muy pequeños.
Un ejemplo de dónde lo usaría sería si desea buscar palabras clave en un solo registro de empleado. La identificación del empleado no estaría encriptada; por lo tanto, podría usar eso para solo consultar los registros de esa persona, luego podría pasar todo el conjunto de registros a su aplicación para descifrar. Luego busque los datos desencriptados y solo genere los campos que necesita a partir de eso.
Dicho esto, existe una gran cantidad de promesas con el cifrado clasificable siempre que se realicen búsquedas exactas. El cifrado clasificable establece el alcance de cada nueva cadena cifrada entre las que debe clasificar; Entonces, digamos que lo siguiente es cierto:
7iFA384S4BPmuXokR9rcMI37SKnClqnE = ant
E10ZJbnmvJHs3MOKkzDXw7sd037kLCUJ = cat
miHBVXxATe1Jg6G97ug86zv31BxrpRAa = dog
z0L9f8Py12euq9Nhy9Zk0e9L83F8MiBi = man
Si quisiera agregar "fox" a la lista, entonces mi algoritmo de encriptación regresará entre "miHBVXxATe1Jg6G97ug86zv31BxrpRAa" y "z0L9f8Py12euq9Nhy9Zk0e9L83F8MiBi" que resultó en algo como:
7iFA384S4BPmuXokR9rcMI37SKnClqnE = ant
E10ZJbnmvJHs3MOKkzDXw7sd037kLCUJ = cat
miHBVXxATe1Jg6G97ug86zv31BxrpRAa = dog
Pe2624gcRjP6YGWOnhiW2xnRomAjDYQK = fox // sorts alphabetically between dog and man
z0L9f8Py12euq9Nhy9Zk0e9L83F8MiBi = man
Esto funciona porque la primera parte de la cadena cifrada es solo ordenar la información, y la segunda parte es la información cifrada real
SortingId(Pe2624gcRjP6YG), EncyptedData(WOnhiW2xnRomAjDYQK)
Una vez que haya ordenado el cifrado, esto significa dos cosas, una es que puede ordenar los datos cifrados tan fácilmente como los datos no cifrados, lo cual es bastante sorprendente en sí mismo, pero en segundo lugar, significa que puede usar un método similar para combinar la clasificación de forma selectiva descifrar Personalmente, no sé qué bases de datos realmente admiten / no soportan esto todavía, pero en la lista anterior, si busco "hombre" y descifro "perro", sé que los dos elementos principales no son hombre, así que No tienes que descifrarlos para buscarlos. Esto significa que cuanto mayor sea su conjunto de datos, menor será el porcentaje de su conjunto de datos que necesita descifrar para encontrar cosas.