Patent Description:
In recent times, there have been multifarious applications of Artificial Intelligence (AI) models, for example, deep learning models. Due to such increased usage and high complexity, these AI models are stored over cloud or in a server. Users may use these stored AI models as a service, so as to perform predefined actions. As it may be appreciated, various deep learning models may be generated, with each model having a different specification in terms of speed, accuracy, false positives, etc. Accordingly, the user can select a model as per his/her requirement to perform predefined actions. User data is processed using the selected model, and results are obtained for further processing.

However, these deep learning models stored over the cloud or in the server are prone to vulnerabilities and security attacks. For example, a hacker may alter weights of the deep learning model, thereby influencing the decisions obtained using the model. Further, feeding user data into the model is risky as this may expose the data to third parties. Moreover, most users do not prefer to store their sensitive data, such as salary details, loan amounts, etc., on the cloud while using the services of the deep learning models. For example, a classifier model (deep learning model) stored on a cloud may be capable of providing a response to a user on whether the user is eligible for a loan or not, based on a required loan amount, previous records of payment, salary details of the user, other outstanding loan amount, age of the user, etc. In this example, financial institutions (banks) are often reluctant to send these personal details of users over the internet to access the model.

Conventionally, a user may send their data to a model over a cloud upon encrypting the data. Accordingly, results obtained from the model need to be decrypted at the user end, using homomorphic encryption techniques. Although, the conventional homomorphic encryption techniques can be used. However, these techniques require complex keys involving complex operations. Moreover, in some cases, stronger keys are used to protect a simple and obvious data. This results in unnecessary computations, and consequently power loss and operational delays.

Publication "SEEN: A selective encryption method to ensure confidentiality for big sensing data streams" proposes a selective encryption method for big data stream which is furnished with key renewability and makes a tradeoff among security, performance and resource utilization. The method provides efficient key broadcasting without retransmission, ability to recover lost keys with a proper detection, seamless key refreshment without interrupting datastreams, and maintain data confidentiality based on sensitivity level.

In accordance with the invention, there is provided: a computer-implemented method of selective encryption of a test dataset, as recited in claim <NUM>; an encryption device (<NUM>) for selective encryption of a test dataset, as recited in claim <NUM>; and a non-transitory computer-readable storage medium having stored thereon, a set of computer-executable instructions causing the encryption device (<NUM>) according to claim <NUM> to perform the method of any one of claims <NUM> to <NUM>, as recited by claim <NUM>.

The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles.

It is intended that the following detailed description be considered as exemplary only, with the true scope being indicated by the following claims. Additional illustrative embodiments are listed below.

In one embodiment, a system <NUM> for selective encryption of a test dataset is illustrated in the <FIG>, in accordance with an embodiment. The system <NUM> includes an encrypting device <NUM> and a data storage <NUM>. The encrypting device <NUM> is a computing device having data processing capability. In particular, the encrypting device <NUM> have capability for selectively encrypting a test dataset. Examples of the encrypting device <NUM> may include, but are not limited to a server, a desktop, a laptop, a notebook, a netbook, a tablet, a smartphone, a mobile phone, an application server, a sever, or the like. The data storage <NUM> stores a test dataset to be encrypted. The data storage <NUM> may be communicatively coupled to the encrypting device <NUM> via a communication network <NUM>. The communication network <NUM> may be a wired or a wireless network and the examples may include, but are not limited to the Internet, Wireless Local Area Network (WLAN), Wi-Fi, Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX), and General Packet Radio Service (GPRS).

In some embodiments, the encrypting device <NUM> selectively encrypts a test dataset, using a common heat map. To this end, the encrypting device <NUM> is coupled to a heat map repository <NUM>, via the communication network <NUM>. The heat map repository <NUM> stores a common heat map <NUM>.

As will be described in greater detail in conjunction with <FIG>, in order to selectively encrypt a test dataset, the encrypting device <NUM> determines a relevancy grade associated with each of a plurality of datapoints within a test dataset by comparing the test dataset with the common heat map <NUM>. The common heat map <NUM> is generated using a plurality of training datasets. The encrypting device <NUM> further calculates an encryption level associated with each of the plurality of datapoints, based on a relevancy grade. The encrypting device <NUM> further selectively encrypts at least one datapoint from the plurality of datapoints based on the encryption level associated with each of the plurality of datapoints. The at least one data point may be rendered to a user after being decrypted.

In order to perform the above discussed functionalities, the encrypting device <NUM> includes a processor <NUM> and a memory <NUM>. The memory <NUM> stores instructions that, when executed by the processor <NUM>, cause the processor <NUM> to selectively encrypt a test dataset, as discussed in greater detail in <FIG>. The memory <NUM> may be a non-volatile memory or a volatile memory. Examples of non-volatile memory, may include, but are not limited to a flash memory, a Read Only Memory (ROM), a Programmable ROM (PROM), Erasable PROM (EPROM), and Electrically EPROM (EEPROM) memory. Examples of volatile memory may include, but are not limited to Dynamic Random Access Memory (DRAM), and Static Random-Access memory (SRAM). The memory <NUM> may also store various data (e.g., relevancy grade data, comparison data, encryption level data, classification data, an Artificial Intelligence (AI) model, filter data, heat map data, Layer wise Relevance Propagation (LRP) data, Sensitivity Analysis (SA) data, priority index data, homomorphic encryption key data, encryption scale data, etc.) that may be captured, processed, and/or required by the system <NUM>.

The encrypting device <NUM> further includes one or more input/output devices <NUM> through which the encrypting device <NUM> interacts with a user and vice versa. By way of an example, the input/output device <NUM> may be used to render a data point to a user after being decrypted. The system <NUM> may interact with one or more external devices <NUM> over the communication network <NUM> for sending or receiving various data. Examples of the one or more external devices <NUM> may include, but are not limited to a remote server, a digital device, or another computing system.

Referring now to <FIG>, a functional block diagram of a system <NUM> for generating and storing a common heat map is illustrated, in accordance with an embodiment. The system <NUM> includes a classifier model <NUM>, a common heat map generating module <NUM>, a heat map selecting module <NUM>, and a data repository <NUM>.

In some embodiments, the classifier model <NUM> may include an Artificial Intelligence (AI) model. The classifier model <NUM> receives a plurality of training datasets. In some embodiments, the plurality of training datasets may include an image data. By way of an example, the image data may include a plurality of training images for generating a common heat map. The training images may be of standard formats, for example, Joint Photographic Experts Group (JPEG), Portable Network Graphics (PNG), and Bitmap (BMP), etc. However, the plurality of training datasets may include, but is not limited to an audio data and/or a multimedia data. The training datasets may be used by the classifier model <NUM> for extracting the image data.

The common heat map generating module <NUM> is configured to receive one or more activations, a classification information, and weight details that are generated by the classifier model <NUM>. The common heat map generating module <NUM> is further configured to generate a plurality of heat maps for the plurality of training datasets, based on relevance of the neurons and eventually input pixels. It may be noted that the common heat map may be generated by taking an average a plurality of heat maps related to the plurality of training datasets. To this end, the common heat map generating module <NUM> is configured to take an average of the plurality of generated heat maps over multiple classes, by assigning weightages proportional to a degree of overlaps, to generate the common heat map. The common heat map generating module <NUM> sends the generated common heat map to the heat map selecting module <NUM>.

Upon receiving the common heat map, the heat map selecting module <NUM> categorize different regions of each heat map (for each training dataset of the plurality of training datasets) according to their level of importance (or relevance) in the decision making, to generate a prioritized data. It may be understood that different regions in the common heat map have different relevance. The heat map selecting module <NUM> then stores the prioritized data (i.e., the common heat map where the priorities or relevance of different regions are identified) in the data repository <NUM>. The heat map selecting module <NUM> is further configured to assign different regions of the heat map with different priority indices to indicate a relative importance in decision-making. The priority indices are assigned based on an intensity of different regions of the heat map. The heat maps of different importance is encrypted with different encryption keys.

The data repository <NUM> stores the common heat map, the prioritized regions of the common heat map (i.e. prioritized data), and different encryption keys corresponding to the different regions of the heat map. It may be noted that the common heat map may be used for encryption as well as decryption of test datasets. Further, the common heat map may support fast access as type decryption is expected to happen in near real time.

Referring now to <FIG>, a functional block diagram of a system <NUM> for encrypting content using dynamically generated encryption keys is illustrated, in accordance with an embodiment. The encryption keys, for example, may be homomorphic encryption keys. The system <NUM> encrypts the content using one or more dynamically generated encryption keys. The system <NUM> may include an encryption device <NUM>. The encryption device <NUM> may further include an encryption module <NUM> and an encryption scale generating module <NUM>. The system <NUM> may further include a data repository <NUM> stored on a cloud <NUM>. The data repository <NUM> may store a classifier model <NUM> (analogous to the classifier model <NUM>).

The encryption module <NUM> receives user data <NUM>. The user data <NUM> may include one or more images, which are to be classified using the classifier model <NUM>. Upon receiving the user data <NUM>, the encryption module <NUM> receives the common heat map and one or more encryption keys with different strengths (for different regions of the image) from the data repository <NUM>. The encryption module <NUM> is configured to encrypt different parts of the user data <NUM> with different encryption keys of different strengths, based on the common heat map. It may be understood that a region, which is more common among the set of classes, may be assigned an encryption key from a plurality of encryption keys such that the strength of the assigned encryption key is greater than a pre-defined strength threshold. The region, which is more common among the set of classes, is indicative of data that is important and sensitive. Considering the importance and sensitivity of such data, it becomes prudent to ensure that the data is encrypted using the strongest encryption key available, so that, the data is protected from being hacked or stolen while being uploaded to the cloud.

The encryption module <NUM> encrypts the user data <NUM> to generate encrypted data <NUM>. The encryption module <NUM> is configured to send the encrypted data <NUM> to the classifier model <NUM> to identify classification information of the user data <NUM>. The encrypted data <NUM> may include encrypted user data <NUM> that is encrypted, for example, with homomorphic encryption technique, using a hierarchy of encryption keys. It may be understood that selection of the encryption keys may be based on the relevance of the data for classification. By way of an example, greater the relevance of the data to the classification, higher would be the strength of the encryption key assigned to the data. Considering the high relevance or significance of such data, it is important to encrypt the data using an encryption key of high strength to avoid data theft. The encryption module <NUM> receives the classification information from the data repository <NUM>. The encryption module <NUM> sends the encrypted data <NUM> along with the classification information to an external electronic device (not shown in <FIG>).

The encryption scale generating module <NUM> receives the encrypted data <NUM>. Upon receiving the encrypted data <NUM>, the encryption scale generating module <NUM> may generate an encryption scale. It may be understood that an encrypted data is inputted in an encrypted model and the encrypted model generates an encrypted output for the input data, using encrypted weights. In order to convert the encrypted output into a non-encrypted format (i.e. decrypt the encrypted output), the encryption scale is used. As such, the encryption scale may be indicative of a ratio between weights of an encrypted model. To obtain the encryption scale, at the time of model development, the heat map ratios of a test image spanning a major part of the image regions may be computed with and without encryption. The encryption scale may thus be used to interpret the heat map. The encryption scale generating module <NUM> is further configured to send the generated encryption scale to the encryption module <NUM>.

The data repository <NUM> stores the classifier model <NUM>. The classifier model <NUM> may be stored on the cloud <NUM> so that the classifier model <NUM> is made accessible as a service or online application for a large number of users. Accordingly, a user may select any model based on price, speed requirement, and accuracy depending on the nature of the application, and as per the user preferences. Storing the data repository <NUM> on the cloud <NUM> also allows easy maintenance of the classifier model <NUM>, as the maintenance operations can be performed at one place. The data repository <NUM> stores the common heat map and the keys. The data repository <NUM> sends the common heat map and the keys to the encryption module <NUM>.

The classifier model <NUM> receives the encrypted data from the encryption module <NUM>, to identify the classification information of the encrypted data. Upon identifying the classification information, the classifier model <NUM> sends the classification information to the encryption module <NUM>.

Referring now to <FIG>, a functional block diagram of a system <NUM> for decrypting encrypted content using dynamically generated encryption keys is illustrated, in accordance with an embodiment. The encryption keys, for example, may be homomorphic encryption keys. The system <NUM> includes a decryption device <NUM>, and a data repository <NUM> stored on a cloud <NUM>. The decryption device <NUM> further includes a decryption module <NUM> and a user interaction module <NUM>.

The decryption module <NUM> is configured to receive encrypted data <NUM>, classification information, and a heat map. It may be understood that the encrypted data <NUM> may be obtained by encrypting user data using homomorphic encryption technique with a hierarchy of keys. The encrypted data <NUM> is generated using the encryption keys based on relevance of the data for classification. For example, relevance may be higher for data having greater influence on the classification generated by a classifier model. The encrypted data <NUM> is provided as an input to the decryption module <NUM>. The decryption module <NUM> is further configured to extract a shuffle table and keys corresponding to the encrypted data <NUM> from the data repository <NUM>. By using the shuffle table and the encryption keys, the decryption module <NUM> may decrypt the encrypted data <NUM> to generate decrypted data. The decrypted data may be rendered to a user as part of display data <NUM> via a display screen (not shown in <FIG>).

The user interaction module <NUM> receives the decrypted data from the decryption module <NUM>, and renders the decrypted data (as part of the display data <NUM>) to the user via the display screen. The user interaction module <NUM> further receives a user input that is to be performed on the display data <NUM>. For example, the user input may include an indication/feedback on correct decryption of the encrypted data <NUM>.

The data repository <NUM> stores the common heat map, the encryption scale, and the homomorphic encryption keys corresponding to the prioritized parts of the common heat map. The encryption scale and the encryption keys corresponding to the encrypted data is sent to the decryption module <NUM>.

Referring now to <FIG>, a flowchart <NUM> of a method of selective encryption of a test dataset is illustrated, in accordance with an embodiment. By way of an example, the method may be performed by an encryption device <NUM>. At step <NUM>, a priority index is assigned to each of a plurality of regions of a common heat map, based on relative importance of the respective region. It may be noted that the common heat map is generated using a plurality of training datasets. The generating of the common heat map is further explained in conjunction with <FIG>.

At step <NUM>, a relevancy grade associated with each of a plurality of datapoints within a test dataset is determined by comparing the test dataset with the common heat map. At step <NUM>, an encryption level associated with each of the plurality of datapoints is calculated, based on the relevancy grade. At step <NUM>, at least one datapoint from the plurality of datapoints is selectively encrypted based on the encryption level associated with each of the plurality of datapoints. At step <NUM>, an encryption scale is generated based on encrypted datapoints of the test dataset and unencrypted datapoints of the test dataset. At step <NUM>, an encrypted classification output is decrypted based on the encryption scale to generate a decrypted classification output. At step <NUM>, the decrypted classification output is rendered to the user in response to the decryption.

Referring back to step <NUM>, a priority index is assigned to each of the plurality of regions of a common heat map, based on relative importance of the respective region. The common heat map is generated using a plurality of training datasets. The generating of the common heat map is further explained in conjunction with <FIG>.

Referring now to <FIG>, a flowchart <NUM> of a method of generating a common heat map is illustrated, in accordance with an embodiment. At step <NUM>, a plurality of training datasets are received. Each of the plurality of training datasets is associated with a classification from one or more classifications. At step <NUM>, one or more heat maps for one or more of the plurality of training datasets are generated. At step <NUM>, the one or more heat maps for the one or more training datasets are superimposed to generate the common heat map.

At step <NUM>, the plurality of training datasets is received. It may be noted that each of the plurality of training datasets may be associated with a classification from one or more classifications. As mentioned earlier, the training datasets may include image data. In some embodiments, image data is ingested into the classifier model <NUM> for identifying the classification. The image data is classified by the classifier model <NUM> into a specific classification among a set of available classifications. Further, activations is generated from the image data.

At step <NUM>, one or more heat maps is generated for one or more of the plurality of training datasets (image data). In some embodiments, the one or more heat maps is generated using Layer wise Relevance Propagation (LRP). By way of an example, to obtain relevance at any layer, a Softmax output of the classifier model may be projected back to the previous layer with intensities proportional to the weights. It may be continued until the input layer is reached. For the image input or the training data input, it indicates which part is more important in decision-making. In alternate embodiments, the one or more heat maps may be generated using Sensitivity Analysis (SA). In order to generate the SA based heat map, different parts of the image may be masked off systematically in an order starting from top left corner. The different parts may be processed until the bottom right. Each time, a pixel may be removed, and the impact (of removing the pixel) on the classification is noted.

In some embodiments, generating the one or more heat maps further includes receiving one or more filters used by the classifier model (AI model) for determining the one or more classifications for the plurality of training datasets at step <NUM>. Further, at step <NUM>, the relevancy grade associated with each of the plurality of datapoints of the test dataset is determined based on the one or more filters.

At step <NUM>, the one or more heat maps for the one or more training datasets are superimposed to generate the common heat map. In this step, relevance based heat maps of different classes are super-imposed to obtain the common heat map. It may be understood that the common heat map may indicate important regions in different classifications of the classifier model <NUM>. It may be understood that the common heat map may be generated as a part of the AI model development i.e. a subset of training data. As it will be appreciated by those skilled in the art, AI or deep learning model development may require large training set. For example, <NUM> data points per classification may be used to obtain the common heat map, because different images may have different but closely related heat maps for the class. In some embodiments, spurious heat maps may be discarded. For example, among <NUM> images (training data), <NUM> images may play a role in decision making by the AI model, while <NUM> images may not be relevant for the decision making. In this case, these <NUM> images are spurious and may be discarded. The common heat map of a particular classification may also indicate possible postures or variants, which the classification can support. The common heat map may further eliminate spurious regions identified in the heat map.

At step <NUM>, the common heat maps of different classifications are superimposed. If a region falls in more than one heat map, the corresponding weightage may be increased (for example, the weightage is doubled). Similarly, if a region is found in three heat maps, the corresponding is tripled, and so on. In some embodiment, priorities may be assigned based on the frequency of occurrences or statistical significance of the images (for example, the digit, as discussed above). The output may be a single heat map for the classifier model. It may be noted that the common heat map may span a full image. It may be further noted that strength or importance of different regions may be distinct, as revealed by the common heat map. The generation of common heat map is further explained, by way of an example, in conjunction with <FIG>.

Referring now to <FIG>, a process <NUM> of generation of a common heat map is illustrated, in accordance with an embodiment. A heat map <NUM> is for a digit "<NUM>" relating to a classifier model of handwritten digits. A common heat map <NUM> may be generated by superimposing multiple heat maps similar to the heat map <NUM>.

Returning back to <FIG>, at step <NUM>, a relevancy grade associated with each of a plurality of datapoints within a test dataset is determined by comparing the test dataset with the common heat map. In some embodiments, determining the relevancy grade further includes receiving one or more filters used by the classifier model <NUM> (AI model) for determining the one or more classifications for the plurality of training datasets, and determining the relevancy grade associated with each of the plurality of datapoints of the test dataset based on the one or more filter. In some embodiments, a priority index is assigned to each of a plurality of regions of the common heat map, based on relative importance of the respective region. Upon assigning the plurality index, the relevancy grade associated with each of a plurality of datapoints within a test dataset is determined based on the priority index assigned to each of the plurality of regions of the common heat map. The different regions of the common heat map is assigned with different priority indices to indicate relative importance in decision-making. The priority indices are assigned based on the intensity of different regions of the common heat map. It may be noted that heat maps of different importance may be encrypted with different encryption keys, and also regions of a heat map may also be encrypted with different encryption keys of different strengths (explained in the subsequent sections), based on the priority indices assigned to the different regions of the heat map.

At step <NUM>, an encryption level associated with each of the plurality of datapoints is calculated, based on the relevancy grade. At step <NUM>, at least one datapoint from the plurality of datapoints is selectively encrypted, based on the encryption level associated with each of the plurality of datapoints. In some embodiments, input data and the common heat map may be received. Further, homomorphic encryption keys with different strengths for different regions of the image may be received from the data repository, as discussed above.

In some embodiments, selectively encrypting the at least one datapoint includes iteratively encrypting each of the at least one datapoint, at step <NUM>. The number of iterations may be based on the relevancy grade associated with each of the at least one datapoint. In alternate embodiments, selectively encrypting the at least one datapoint may include selecting a homomorphic encryption key of a predetermined complexity for encrypting each of the at least one datapoint. Such an encryption of the datapoint is based on the relevancy grade assigned to each of the at least one datapoint, at step <NUM>. The selectively encrypting further includes encrypting each of the at least one datapoint using the associated selected homomorphic encryption key, at step <NUM>. The data available in different regions of the image is encrypted using different homomorphic encryption keys of different strengths, where the region which is more common among the set of classifications is assigned with higher-strength homomorphic encryption key. In other words, the data is encrypted based on the generated heat map intensities, and accordingly, data sent to the classifier model over the cloud is encrypted with distinct keys and/or multiple levels of hierarchy. Each level within the hierarchy corresponds to the relative importance of data. The strength of the encryption for a certain region is made proportional to the intensity of the heat map for that region. The intensity of a region is determined based on a color scheme within the heat map. In an embodiment, when a specific section within a heat map has intensity above a predefined intensity value, that section is assigned an encryption key of higher strength. Here, the homomorphic encryption keys may be used to encrypt the data.

In some embodiments, a level of importance of a heat map may be identified based on the LRP score. In such embodiments, a large number of input images may be used and the filters (for classifying each classification of objects) may be identified. Based on order of importance, for each filter, a level of importance may be attached with a heat map or a region within a heat map. For example, if the filter output is more important, as indicated by the heat map, it falls into the level of high importance. For each level of filter, a different set of encryption and decryption keys may be generated.

For encryption, a key is used for each classification (output) from the classifier model. The overlapping regions use multiple keys applied iteratively. For example, a region in an image contributing for two classes, may be encrypted two times or using a stronger key. Further, based on the generated common heat map, the regions with higher weightage or found in multiple classes may be encrypted with multiple classification keys. In an embodiment, the key strength may be increased proportional to intensity of the heat map. The heat map may be shared as part of the license file. As it will be appreciated, it would make it difficult for a hacker to know how many distinct keys are used and applied over which part of the data thus. As a result, such, the data better secured. The selective encryption of a test dataset is further explained in conjunction with <FIG>.

Referring now to <FIG>, an exemplary test dataset (an image) <NUM> is illustrated, in accordance with an exemplary embodiment. Different regions of the image are encrypted with different keys, based on the common hat map. For example, region <NUM> is encrypted with a first encryption key, a region <NUM> is encrypted with a second encryption key, and a region <NUM> is encrypted with a third encryption key. The strength of each these keys is proportional to intensity of the common heat map for the respective regions. The intensity of a region, for example, is determined based on a color scheme within the heat map. In other words, a priority index is assigned to each regions within the common heat map, based on a relative importance of the respective region. This is determined based on intensity of a region in the common heat map. Thereafter, based on the priority index assigned to each regions of the common heat map, a relevancy grade associated with each datapoint within a test dataset is determined. Once the relevancy grade is determined, an encryption level associated with each of the datapoints is calculated. Thereafter, one or more datapoints is selectively encrypted based on the encryption level associated with each datapoint. Accordingly, different homomorphic encryption keys with different strength is selected.

Returning back to <FIG>, at step <NUM>, an encryption scale is generated based on encrypted datapoints of the test dataset and unencrypted datapoints of the test dataset. In some embodiment, the encrypted data is sent to the classifier model to identify the classification information, and then to an encryption scale generating module to generate the encryption scale. The encryption scale may be used factor for interpreting the heat map, and may indicate a ratio between the weights of the encrypted model and the non-encrypted model. The encryption scale may be generated based on normal and encrypted model weights. It may be noted that a range of encryption keys may be selected to maintain consistency in the relevance for the models with and without encrypted input.

As it will be appreciated, the encryption of the data is required to assure that the same neurons are relevant (or activated) in the model when the input data is not encrypted. The encryption keys is selected so that the relevance is proportional to relevance with non-encrypted data. Additionally, the heat maps with and without encryptions are proportional. This is necessary, as relevance is with respect to a ratio of weighted activation at neuron to total activation of the layer containing the neuron. This proportionality may be the scale that may be used for decoding. To obtain the encryption scale, at the time of model development, the heat map ratios of a test image spanning a major part of the image regions may be computed with and without encryption.

In some embodiments, in order to compute the encryption scale, prioritized regions from the common heat map is segregated. For example, in an image having four distinct priority regions, one of the region may be used to obtain the scale for that region. The intensities of each pixel in the region may be added and the same region may be subjected to encryption, thereby resulting in adding of the intensities of the heat map. The ratio of the two sums may provide the encryption scale. Further, when the filters or heat maps of different importance are encrypted using different encryption keys, the computation may require special care using multiple keys.

At step <NUM>, an encrypted classification output isdecrypted based on the encryption scale to generate a decrypted classification output. The encrypted data may be decrypted using the homomorphic encryption keys. In some embodiments, the output of the model is decrypted at the user end using a decrypting device. The decryption of the encrypted data is further explained in conjunction with <FIG>.

Referring now to <FIG>, a process <NUM> of decrypting encrypted data is illustrated, in accordance with an exemplary embodiment. A decryption device <NUM> decrypts the encrypted data using an encrypted classification <NUM> of the data (image), an encrypted common heat map <NUM>, and an encryption scale <NUM>. Further, the classification may be decrypted and the decrypted data may be scaled with the encryption scale. As such, the decryption device <NUM> generates a decrypted classification <NUM> and a decrypted heat map <NUM>.

Returning back to <FIG>, at step <NUM>, the decrypted classification output is rendered to the user in response to the decryption. By way of an example, the decrypted classification and the decrypted heat map may be rendered to a user, for consumption. The heat map may be used to fine-tune the model further by linking it to the average heat map and the associated image.

As an example of the method described above, a user 'John' may want to send his salary slip to a classifier model hosted by a bank on the cloud in order to decide his borrowing limit for next month. The classifier model is trained to process the salary slip image and accordingly take decisions. In this case, John uses homomorphic encryption to send the data to the model. John invokes application implemented by the current invention and uses three different keys for encrypting the data. For example, a first key for blank part of the image, a second key for random text, and a third key for the numbers in the image, in order of increasing priority. John then obtains the response from the model and uses homomorphic decryption to obtain the credit limit from the classification as classification B, where three different classifications A, B, and C are associated with different limits.

As will be also appreciated, the above described techniques may take the form of computer or controller implemented processes and apparatuses for practicing those processes. The disclosure can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, solid state drives, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer or controller, the computer becomes an apparatus for practicing the invention. The disclosure may also be embodied in the form of computer program code or signal, for example, whether stored in a storage medium, loaded into and/or executed by a computer or controller, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.

The disclosed methods and systems may be implemented on a conventional or a general-purpose computer system, such as a personal computer (PC) or server computer. Referring now to <FIG>, a block diagram of an exemplary computer system <NUM> for implementing various embodiments is illustrated. Computer system <NUM> may include a central processing unit ("CPU" or "processor") <NUM>. Processor <NUM> may include at least one data processor for executing program components for executing user or system-generated requests. A user may include a person, a person using a device such as such as those included in this disclosure, or such a device itself. Processor <NUM> may include specialized processing units such as integrated system (bus) controllers, memory management control units, floating point units, graphics processing units, digital signal processing units, etc..

Processor <NUM> may include a microprocessor, such as AMD® ATHLON® microprocessor, DURON® microprocessor OR OPTERON® microprocessor, ARM's application, embedded or secure processors, IBM® POWERPC®, INTEL'S CORE® processor, ITANIUM® processor, XEON® processor, CELERON® processor or other line of processors, etc. Processor <NUM> may be implemented using mainframe, distributed processor, multi-core, parallel, grid, or other architectures. Some embodiments may utilize embedded technologies like application-specific integrated circuits (ASICs), digital signal processors (DSPs), Field Programmable Gate Arrays (FPGAs), etc..

Processor <NUM> may be disposed in communication with one or more input/output (I/O) devices via an I/O interface <NUM>. I/O interface <NUM> may employ communication protocols/methods such as, without limitation, audio, analog, digital, monoaural, RCA, stereo, IEEE-<NUM>, serial bus, universal serial bus (USB), infrared, PS/<NUM>, BNC, coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), RF antennas, S-Video, VGA, IEEE <NUM>. n /b/g/n/x, Bluetooth, cellular (for example, code-division multiple access (CDMA), high-speed packet access (HSPA+), global system for mobile communications (GSM), long-term evolution (LTE), WiMax, or the like), etc..

Using I/O interface <NUM>, computer system <NUM> may communicate with one or more I/O devices. For example, an input device <NUM> may be an antenna, keyboard, mouse, joystick, (infrared) remote control, camera, card reader, fax machine, dongle, biometric reader, microphone, touch screen, touchpad, trackball, sensor (for example, accelerometer, light sensor, GPS, gyroscope, proximity sensor, or the like), stylus, scanner, storage device, transceiver, video device/source, visors, etc. An output device <NUM> may be a printer, fax machine, video display (for example, cathode ray tube (CRT), liquid crystal display (LCD), light-emitting diode (LED), plasma, or the like), audio speaker, etc..

In some embodiments, a transceiver <NUM> may be disposed in connection with processor <NUM>. Transceiver <NUM> may facilitate various types of wireless transmission or reception. For example, transceiver <NUM> may include an antenna operatively connected to a transceiver chip (for example, TEXAS® INSTRUMENTS WILINK WL1286® transceiver, BROADCOM® BCM4550IUB8® transceiver, INFINEON TECHNOLOGIES® X-GOLD <NUM>-PMB9800® transceiver, or the like), providing IEEE <NUM>. 6a/b/g/n, Bluetooth, FM, global positioning system (GPS), <NUM>/<NUM> HSDPA/HSUPA communications, etc..

In some embodiments, processor <NUM> may be disposed in communication with a communication network <NUM> via a network interface <NUM>. Network interface <NUM> may communicate with communication network <NUM>. Network interface <NUM> may employ connection protocols including, without limitation, direct connect, Ethernet (for example, twisted pair <NUM>/<NUM>/<NUM> Base T), transmission control protocol/internet protocol (TCP/IP), token ring, IEEE <NUM>. 11a/b/g/n/x, etc. Communication network <NUM> may include, without limitation, a direct interconnection, local area network (LAN), wide area network (WAN), wireless network (for example, using Wireless Application Protocol), the Internet, etc. Using network interface <NUM> and communication network <NUM>, computer system <NUM> may communicate with devices <NUM>, <NUM>, and <NUM>. These devices may include, without limitation, personal computer(s), server(s), fax machines, printers, scanners, various mobile devices such as cellular telephones, smartphones (for example, APPLE® IPHONE® smartphone, BLACKBERRY® smartphone, ANDROID® based phones, etc.), tablet computers, eBook readers (AMAZON® KINDLE® ereader, NOOK® tablet computer, etc.), laptop computers, notebooks, gaming consoles (MICROSOFT® XBOX® gaming console, NINTENDO® DS® gaming console, SONY® PLAYSTATION® gaming console, etc.), or the like. In some embodiments, computer system <NUM> may itself embody one or more of these devices.

In some embodiments, processor <NUM> may be disposed in communication with one or more memory devices (for example, RAM <NUM>, ROM <NUM>, etc.) via a storage interface <NUM>. Storage interface <NUM> may connect to memory <NUM> including, without limitation, memory drives, removable disc drives, etc., employing connection protocols such as serial advanced technology attachment (SATA), integrated drive electronics (IDE), IEEE-<NUM>, universal serial bus (USB), fiber channel, small computer systems interface (SCSI), etc. The memory drives may further include a drum, magnetic disc drive, magnetooptical drive, optical drive, redundant array of independent discs (RAID), solid-state memory devices, solid-state drives, etc..

Memory <NUM> may store a collection of program or data repository components, including, without limitation, an operating system <NUM>, user interface application <NUM>, web browser <NUM>, mail server <NUM>, mail client <NUM>, user/application data <NUM> (for example, any data variables or data records discussed in this disclosure), etc. Operating system <NUM> may facilitate resource management and operation of computer system <NUM>. Examples of operating systems <NUM> include, without limitation, APPLE® MACINTOSH® OS X platform, UNIX platform, Unix-like system distributions (for example, Berkeley Software Distribution (BSD), FreeBSD, NetBSD, OpenBSD, etc.), LINUX distributions (for example, RED HAT®, UBUNTU®, KUBUNTU®, etc.), IBM® OS/<NUM> platform, MICROSOFT® WINDOWS® platform (XP, Vista/<NUM>/<NUM>, etc.), APPLE® IOS® platform, GOOGLE® ANDROID® platform, BLACKBERRY® OS platform, or the like.

User interface <NUM> may facilitate display, execution, interaction, manipulation, or operation of program components through textual or graphical facilities. For example, user interfaces may provide computer interaction interface elements on a display system operatively connected to computer system <NUM>, such as cursors, icons, check boxes, menus, scrollers, windows, widgets, etc. Graphical user interfaces (GUIs) may be employed, including, without limitation, APPLE® Macintosh® operating systems' AQUA® platform, IBM® OS/<NUM>® platform, MICROSOFT® WINDOWS® platform (for example, AERO® platform, METRO® platform, etc.), UNIX X-WINDOWS, web interface libraries (for example, ACTIVEX® platform, JAVA® programming language, JAVASCRIPT® programming language, AJAX® programming language, HTML, ADOBE® FLASH® platform, etc.), or the like.

In some embodiments, computer system <NUM> may implement a web browser <NUM> stored program component. Web browser <NUM> may be a hypertext viewing application, such as MICROSOFT® INTERNET EXPLORER® web browser, GOOGLE® CHROME® web browser, MOZILLA® FIREFOX® web browser, APPLE® SAFARI® web browser, etc. Secure web browsing may be provided using HTTPS (secure hypertext transport protocol), secure sockets layer (SSL), Transport Layer Security (TLS), etc. Web browsers may utilize facilities such as AJAX, DHTML, ADOBE® FLASH® platform, JAVASCRIPT® programming language, JAVA® programming language, application programming interfaces (APis), etc. In some embodiments, computer system <NUM> may implement a mail server <NUM> stored program component. Mail server <NUM> may be an Internet mail server such as MICROSOFT® EXCHANGE® mail server, or the like. Mail server <NUM> may utilize facilities such as ASP, ActiveX, ANSI C++/C#, MICROSOFT. NET® programming language, CGI scripts, JAVA® programming language, JAVASCRIPT® programming language, PERL® programming language, PHP® programming language, PYTHON® programming language, WebObjects, etc. Mail server <NUM> may utilize communication protocols such as internet message access protocol (IMAP), messaging application programming interface (MAPI), Microsoft Exchange, post office protocol (POP), simple mail transfer protocol (SMTP), or the like. In some embodiments, computer system <NUM> may implement a mail client <NUM> stored program component. Mail client <NUM> may be a mail viewing application, such as APPLE MAIL® mail client, MICROSOFT ENTOURAGE® mail client, MICROSOFT OUTLOOK® mail client, MOZILLA THUNDERBIRD® mail client, etc..

In some embodiments, computer system <NUM> may store user/application data <NUM>, such as the data, variables, records, etc. as described in this disclosure. Such data repositories may be implemented as fault-tolerant, relational, scalable, secure data repositories such as ORACLE® data repository OR SYBASE® data repository. Alternatively, such data repositories may be implemented using standardized data structures, such as an array, hash, linked list, struct, structured text file (for example, XML), table, or as object-oriented data repositories (for example, using OBJECTSTORE® object data repository, POET® object data repository, ZOPE® object data repository, etc.). Such data repositories may be consolidated or distributed, sometimes among the various computer systems discussed above in this disclosure. It is to be understood that the structure and operation of the any computer or data repository component may be combined, consolidated, or distributed in any working combination.

However, it will be apparent that any suitable distribution of functionality between different functional units, processors or domains may be used without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processor or controller. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality, rather than indicative of a strict logical or physical structure or organization.

One or more techniques described in the various embodiments discussed above provide for generating a plurality heat maps corresponding to training dataset (for example, images) based on relevance of neurons and input pixels and taking average of the generated heat maps over multiple classes by assigning weightages proportional to degree of overlap, and categorizing different regions of the heat map based on their level of importance/ relevance in decision making. The techniques further provide for encrypting data available in different regions of the image with different homomorphic encryption keys of different strengths, for example, the region which is more common among the set of classifications is assigned with higher-strength homomorphic encryption key. The techniques further provide for generating a scale factor for interpreting the heat map, which indicates a ratio between the weights of the encrypted model and the non-encrypted model. Further, the techniques provide for decrypting the encrypted data using the homomorphic encryption keys.

As will be appreciated by those skilled in the art, the above techniques pertain to selective encryption of a test dataset. The proposed techniques provide for encrypting data using different keys of different strength, where the key strength is proportional to relevance of the part of the data for the classification (obtained from a classifier model). Accordingly, less relevant parts is encrypted with keys of lesser strength, while more relevant parts is encrypted with keys of higher strength. This makes it difficult for a hacker to hack into the data, as the hacker shall not know which key is used for which part even if the hacker obtains all the keys. The proposed techniques provide additional security by assigning multiple keys to different parts of the data based on degree of relevance (in decision-making). The proposed techniques may be used to reduce computations as the strength of the encryption is reduced for the non-contributing data. As a result, the system becomes fast and capable of near real time decisions. Moreover, stronger keys can be used without increase in system complexity or turnaround time for decision making. Overall, the deep learning model and data applied over the deep learning model are implemented with high security, and reduced computational complexity, power, and processing delays. Further, the proposed techniques provide for protecting the deep learning model apart from the data.

Claim 1:
A computer-implemented method of selective encryption of a test dataset, the method comprising:
determining (<NUM>) a relevancy grade associated with each of a plurality of datapoints within a test dataset (<NUM>) by comparing the test dataset with a common heat map (<NUM>), wherein the common heat map (<NUM>) is generated using a plurality of training datasets;
assigning a priority index to each of a plurality of regions of the common heat map (<NUM>), based on relative importance of each of the plurality of regions, wherein the relative importance of each of the plurality of regions is based on a color scheme within the heat map;
determining the relevancy grade associated with each of the plurality of datapoints within a test dataset (<NUM>) based on the priority index assigned to each of the plurality of regions of the common heat map (<NUM>);
calculating (<NUM>) based on the relevancy grade, an encryption level associated with each of the plurality of datapoints; and
selectively encrypting (<NUM>) at least one datapoint from the plurality of datapoints based on the encryption level associated with each of the plurality of datapoints, wherein selectively encrypting (<NUM>) the at least one datapoint comprises:
iteratively encrypting each of the at least one datapoint, wherein a number of iterations is based on the relevancy grade associated with each of the at least one datapoint, wherein different regions of each of the plurality of datapoints within the test dataset (<NUM>) are encrypted with different keys, based on the common heat map,
wherein the at least one data point is rendered to a user after being decrypted.