## 6 Security and Performance Analysis
### Implementation Result
#### 6.3.4 Result Analysis  
Figure 3 illustrates the computation time of the encryption, key generation, and decryption algorithms. Each algorithm's experimental outcome was the mean of 10 independent runs. Figure 2(a) presents a graph between the encryption time and the attribute count in the access control policy. We took several attributes on the X-axis in the range of 5 attributes to 25 attributes. We have already mentioned that our scheme considers the DNF access structure and the scheme [26] uses a traditional AND-OR access structure. Typically, when a data owner decides on an access policy, they start to build it by combining many possibilities using the \"OR\" gate. This standard method of specifying access policy corresponds to the DNF structure used by our approach. The time taken for encryption in our scheme is higher because we perform encryption for every access sub-structure clause. This, in turn, increases the number of ciphertext components. It can be observed that the encryption activity is less frequent. Due to the vast computational power and storage capacities of the cloud, increased encryption time and storage needs are acceptable.  
Figure 2(b) shows the key generation time versus attribute count in the satisfying set. In SP-MAACS, the key generation time is higher, as the user secret key contains the identity and attribute-value-related key components in addition to the authority-related keys. We use identity and attribute-value-related keys to provide collision resistance and privacy preservation features. The central authority CA of the system registers the user and issues them identity-related keys, and are the keys are issued to the user by the CA (shown in the construction of the scheme). The user may have multiple values for their attributes. The attribute authority AA issues both authority-related and attribute-value-specific keys to the user. Scheme [26], on the other hand, only considers keys provided by the attribute authority. Therefore, we compromise key generation time to deliver more functionality. Figure 2(c) shows a graph between the decryption times and attribute count. In Figure 2(c), attributes present in policy and attribute count in the satisfying sets are shown on the dual X-axis. While performing decryption, the user can determine the smallest satisfying set out of the policy defined by the owner of the data. In general, we can assume that on average 50% of the attributes make a satisfying subset out of the total attributes present in the policy. For example, if an access control policy contains 20 attributes in it, then in general the AND-OR combination requires that the user should carry on average 10 attributes for satisfying it or the policy require only 10 attributes to fulfill it. The DNF clause, which matches the attribute and its value in the user-supplied keys, is only utilized during the decryption process. Since there is no requirement for attribute matching with the whole access structure, our scheme takes less decryption time and improves decryption efficiency in comparison to the scheme [26]. This improvement in decryption time satisfies the major requirement of healthcare data sharing, where a doctor wants to access a patient's EHR data quickly in a life-critical situation.  
In summary, our scheme simultaneously provides features of multi-authority, privacy preservation, efficient decryption, and adaptive security. The increase in storage cost and encryption time is affordable, as cloud storage is available at a very nominal cost and encryption activity is performed less frequently. The users may ask for the download and decryption of the ciphertext randomly as per their requirement, so it is a frequent process. Thus, reducing the decryption cost is beneficial.