
For trees, leaves are often used for identification, but the shape of leaves changes greatly, bark will be another identifying feature. However, it is difficult to recognize by a single organ when there are intra class differences and inter class similarities between leaves or bark. So we fuse features of leaf and bark. Firstly, we collected 17 species of leaves and bark of trees through field shooting and web crawling. Then propose a method of combining convolution neural network (CNN) with cascade fusion, additive fusion algorithm, bilinear fusion and score level fusion. Finally, the features extracted from the leaves and bark are fused in the ReLu layer and Fully connected layer. The method was compared with single organ recognition, Support Vector Machines (SVM), and existing fusion methods, results show that the two organ fusion method proposed are better than the other recognition methods, and recognition accuracy is 87.86%. For similar trees, when it is impossible to accurately determine its species by a single organ, the fusion of two organs can effectively improve this situation.
Citation: Yafeng Zhao, Xuan Gao, Junfeng Hu, Zhen Chen. Tree species identification based on the fusion of bark and leaves[J]. Mathematical Biosciences and Engineering, 2020, 17(4): 4018-4033. doi: 10.3934/mbe.2020222
[1] | Xiu Ye, Shangyou Zhang . A stabilizer free WG method for the Stokes equations with order two superconvergence on polytopal mesh. Electronic Research Archive, 2021, 29(6): 3609-3627. doi: 10.3934/era.2021053 |
[2] | Yan Yang, Xiu Ye, Shangyou Zhang . A pressure-robust stabilizer-free WG finite element method for the Stokes equations on simplicial grids. Electronic Research Archive, 2024, 32(5): 3413-3432. doi: 10.3934/era.2024158 |
[3] | Chunmei Wang . Simplified weak Galerkin finite element methods for biharmonic equations on non-convex polytopal meshes. Electronic Research Archive, 2025, 33(3): 1523-1540. doi: 10.3934/era.2025072 |
[4] | Hongze Zhu, Chenguang Zhou, Nana Sun . A weak Galerkin method for nonlinear stochastic parabolic partial differential equations with additive noise. Electronic Research Archive, 2022, 30(6): 2321-2334. doi: 10.3934/era.2022118 |
[5] | Derrick Jones, Xu Zhang . A conforming-nonconforming mixed immersed finite element method for unsteady Stokes equations with moving interfaces. Electronic Research Archive, 2021, 29(5): 3171-3191. doi: 10.3934/era.2021032 |
[6] | Shan Jiang, Li Liang, Meiling Sun, Fang Su . Uniform high-order convergence of multiscale finite element computation on a graded recursion for singular perturbation. Electronic Research Archive, 2020, 28(2): 935-949. doi: 10.3934/era.2020049 |
[7] | Jiwei Jia, Young-Ju Lee, Yue Feng, Zichan Wang, Zhongshu Zhao . Hybridized weak Galerkin finite element methods for Brinkman equations. Electronic Research Archive, 2021, 29(3): 2489-2516. doi: 10.3934/era.2020126 |
[8] | Xiu Ye, Shangyou Zhang, Peng Zhu . A weak Galerkin finite element method for nonlinear conservation laws. Electronic Research Archive, 2021, 29(1): 1897-1923. doi: 10.3934/era.2020097 |
[9] | Suayip Toprakseven, Seza Dinibutun . A weak Galerkin finite element method for parabolic singularly perturbed convection-diffusion equations on layer-adapted meshes. Electronic Research Archive, 2024, 32(8): 5033-5066. doi: 10.3934/era.2024232 |
[10] | Jun Pan, Yuelong Tang . Two-grid H1-Galerkin mixed finite elements combined with L1 scheme for nonlinear time fractional parabolic equations. Electronic Research Archive, 2023, 31(12): 7207-7223. doi: 10.3934/era.2023365 |
For trees, leaves are often used for identification, but the shape of leaves changes greatly, bark will be another identifying feature. However, it is difficult to recognize by a single organ when there are intra class differences and inter class similarities between leaves or bark. So we fuse features of leaf and bark. Firstly, we collected 17 species of leaves and bark of trees through field shooting and web crawling. Then propose a method of combining convolution neural network (CNN) with cascade fusion, additive fusion algorithm, bilinear fusion and score level fusion. Finally, the features extracted from the leaves and bark are fused in the ReLu layer and Fully connected layer. The method was compared with single organ recognition, Support Vector Machines (SVM), and existing fusion methods, results show that the two organ fusion method proposed are better than the other recognition methods, and recognition accuracy is 87.86%. For similar trees, when it is impossible to accurately determine its species by a single organ, the fusion of two organs can effectively improve this situation.
With the rapid increase in the adoption of Internet of Things (IoT) [1,2,3,4] technologies and digitization of medical records in today's modern world of wireless communications, a paradigm shift can now be seen in health care industry. Application of IoT in eHealth aims to integrate diverse constrained [5] self-configuring medical smart devices that interacts with each other through global network architecture [6] as illustrated in Figure 1. Due to this, eHealth big data explosion is currently witnessed. To relieve Health care industries the trouble of high storage and computation costs at the same time enhance immediate sharing, the data generated from diverse IoT devices is moved to the cloud server to take advantage of the dynamic scalable resources at a lower cost. Moreover, cloud computing ensures an easy access of data anywhere anytime irrespective of the location and device. In spite of the merits supplied by the cloud, it is assumed to be insecure hence cannot be trusted with sensitive data such as IoT generated medical data. Therefore, data should be encrypted before outsourcing [7] so that in case the storage devices are compromised, the privacy of data can still be maintained. In addition, data owner may choose to enforce data access control measures permitting only the authorized users that possess certain attributes to access the shared data while on the other hand denying access to unauthorized users [8]. To realize the aforementioned goals, several significant research work have been proposed.
Attribute-based encryption (ABE) [9] which is an enhancement of identity-based encryption (IBE) [10] has attracted much wide attention recently in areas including cloud services [11,12], IoT [13,14], distributed environments [15] and medical systems [16] because of its rich features including fine-grained data access control and data confidentiality. Moreover, the primitive offers an additional appealing feature where data is no longer shared on one-to-one basis instead one-to-many. There are two existing complementary variants of ABE. One is Key-Policy ABE (KP-ABE) [17,18] and the other is Ciphertext-Policy ABE (CP-ABE) [19,20]. In KP-ABE, the cipher message is associated (encoded) with attributes set and decryption key is associated (encoded) with access structure while in Ciphertext Policy-ABE (CP-ABE), the cipher message is associated (encoded) with access structure and decryption key is associated (encoded) with an attributes set. In comparison to KP-ABE, CP-ABE scheme is more flexible since the determination of access policy is done by the encryptor instead of key allocator [21] hence more appealing for practical applications.
Attribute-Based Signature (ABS) [22] has also widely attracted immense research attention for its fascinating feature of signing a message while simultaneously maintaining the privacy of the signer. In ABS, a signer in possession of attributes set issued by authority can sign a message using a predicate that satisfies her attributes. ABS similar to ABE is presented in two variants; Signature-Policy Attribute Based Signature (SP-ABS) [7,23] where signing key is associated (encoded) with attributes set and the plaintext message is signed by making use of the predicate that is satisfied by the set of attributes that belongs to the signing key while in the second variant Key-Policy Attribute Based Signature (KP-ABS) [24] the signing key is associated (encoded) with the predicate that is satisfied by the set of attributes while the message is associated (encoded) with set of attributes.
In real life scenario some of the applications such as health care need encryption combined with signing to achieve concurrently the flavour of confidentiality of medical data and authenticity of the data owner [25] and in most cases the anonymity of users [26] and hiding sensitive information [27,28] that belongs to patients. Medical data uploaded to the cloud and are designed for sharing may include sensitive private information such as patient's names, diseases, prescription etc. To ensure the confidentiality of these data is safeguarded, access mechanism should be provided that allows only authorized parties to access them. Simultaneously, the data users for instance government, research institutions, insurance companies and other hospitals should be convinced that the data sent originated from the actual owner to avoid downloading the corrupted data that may be sent by malicious user. As an illustration take for example a data owner "Doctor A" that outsources hospital records to the public cloud for storage. In this case the cloud has to verify whether the data was outsourced truly by an actual user that has set of attributes represented as "Government Hospital ∧ level ∈{4,5,6}". Whenever a staff of "Insurance B" accesses the eHealth cloud to obtain the stored data, she will be convinced that the owner of data is indeed a doctor that has certain attributes represented as "Government Hospital ∧ level ∈{4,5,6}" while the actual doctor's identity "Doctor A" is kept private. To realize this scenario, the viable solution is to adopt Attribute Based Signcryption (ABSC) technology, that combines flavours of ABE and ABS in single logical step. The cryptographic primitive is efficient compared to classical "encrypt-then-sign" or "sign-then-encrypt" technologies approaches [29]. The ABE part of attribute-based signcryption achieves data confidentiality while ABS part achieves privacy and authentication. However, the rising challenge is how to edge off the expensive computational cost [30] emerging from bilinear pairing and exponentiation which are introduced by primitive while concurrently supporting fine-grained access control for resource-constrained device users. The promising solution is to outsource expensive computations to the cloud. Few existing work in literature have been proposed that discusses this [31,32,33]. The schemes supports outsourced designcryption functionality where the blinding key is send to the cloud to transform ciphertext to a simple one. The final user performs lighter pairing computation to obtain the plaintext message. In addition to supporting designcryption, the scheme in [33] supports outsourcing of signcryption, where cloud is delegated a task of executing expensive computations and data owner performs simpler local computations.
Verification is another essential feature needful for validating the outsourced computations results to ensure proxy returns correct output. In [31,33] only the validity of the outsourced transformed ciphertext is checked while the validity of returned outsourced generated key is not verified. Malicious user may return invalid key without the knowledge of the data owner which might cause inaccurate findings. According to the information we have, there is no proposed work currently in literature that achieves verifiable fully outsourced attribute-based signcryption. Therefore our work proposes this new novel where we incorporated outsourcing service providers [34] and blinding key technique [31,35] to fulfill the desired goals.
Taking into account the resource limitations affecting IoT devices in terms of battery, computation power, memory storage space etc, we propose in this paper a new novel verifiable fully outsourced attribute-based signcryption (VFOABSC) scheme for IoT eHealth big data system in cloud computing. In our proposed scheme, the execution of expensive computations are delegated to the powerful cloud server while lightweight computations is handled by the local IoT device user. As far as we know, this is the first proposed ABSC scheme in literature that is fully outsourced. The sequence work flow of our scheme is illustrated in Figure 2. The main contributions of this paper are:
● We introduced for the fist time a new novel VFOABSC that achieves full outsourcing of expensive ABSC computations to accommodate resource-constrained IoT devices. Initially we provide the formal framework behind the design philosophy of VFOABSC with the goal of fulfilling authentication, confidentiality and privacy of data owner simultaneously. The architecture of VFOABSC can be considered as an elaborate combination of attribute-based encryption schemes with outsourcing key generation, verification of outsourcing key generation, outsourcing signcryption and outsourcing designcryption. To realize this, we incorporated seven types of service providers that are responsible for executing expensive tasks.
● This paper proposes, an efficient ABSC scheme, that outsources the key generation tasks (both decryption and signing keys), key verification task, signcryption task and designcryption task simultaneously. Moreover, all the participants in the proposed system can verify the validity and correctness of the outsourcing computations with the support of outsourcing verification cloud service provider.
● The correctness together with security prove of the proposed scheme including its efficiency and complexity are analyzed. In addition, we also compared our scheme with other existing attribute-based signcryption schemes in terms of security requirements, outsourcing functionalities, storage overhead (size of the decryption key, size of the signing key, size of the ciphertext) and the computation overhead incurred while executing signcryption (outsourced and local) and designcryption (outsourced and local).
The remainder of this paper is arranged as follows; Section 2 provides a review of existing related work regarding the secure outsourced attribute-based cryptographic primitives (encryption, signature and signcryption). We describe preliminaries which are employed throughout this proposed paper in Section 3, we also define the formal system model and the security model of our VFOABSC scheme in this section. In Section 4 we present a concrete construction of our proposed scheme. Moreover, we consider security proof and performance in Section 5 and Section 6 respectively. Finally we provide conclusion in Section 7.
The functionality advantages derived from ABE access control is so immense. However, it is computationally expensive. This is due to high computation overhead encountered while executing encryption and decryption operations [36,37,38]. To overcome this hurdle and therefore improve efficiency of lightweight devices, Green et al. [35] proposed a primitive that aims to offload intensive computations to the cloud service provider while leaving lighter computations to the end user. Generally the key generating algorithm is designed to return two key pair to the data user as follows:
1. A short El Gamal-form private key known as retrieving key rk.
2. Its paired key known as transformation key tk, which is send to the server for transformation purposes and its publicly known.
In their scheme, a transformation key tk is sent to the cloud server to transform the original ciphertext CT satisfied by end user's set of attributes or access policy into a simpler ciphertext CT′. The user spends the least computation overhead to recover the original message from the transformed ciphertext. While the scheme enhances the computational efficiency, however malicious cloud may substitute the original ciphertext and provide the user with a transformed ciphertext from an alternate ciphertext which the cloud requires the user to decrypt. To ensure the cloud server executes the outsourced decryption honestly and returns a valid transformed ciphertext, a number of schemes have been proposed [11,39,40,41]. Lai et al. [40] and Mao et al. [41] separately proposed novel technique where verifiability of ciphertext is performed on a returned transformed ciphertext. In order to realize this functionality, Lai et al. [40] appended an extra verification instance to the existing encryption/decryption algorithm phases of ABE. The presented technique increases the computation and communication costs since encryption algorithm needs the data owner to encrypt the additional random message and also generate a checksum value associated to two equal messages. On the other hand decryption process demands the cloud server to execute the basic decryption algorithm twice and in addition requires data user to perform verification on the outsourced computations regarding encrypted messages. To overcome the stated challenges, Lin et al. [11] presented a more efficient ABE primitive with verifiable outsourced decryption by incorporating flavours of a symmetric-key encryption scheme, an attribute based key encapsulation mechanism, and a commitment scheme in generic model. While verifiability provides reassuring solution to outsourced decryption, nonetheless the length of ciphertext and the amount of complex pairing operations grows in proportion with the attribute size. This greatly impedes its application in resource-constrained IoT devices. To solve the underlying problem, schemes [13,39] were proposed. Qinlong et al. [13] proposed a secure scheme that outsources majority of encryption, decryption and signing computations concurrently from IoT device to fog node. To save communication cost, Li et al. [39] presented a novel technique verifiable outsourced decryption CP-ABE scheme that has a constant ciphertext length.
Recently, Wang et al.[34] and Zhang et al. [42] independently presented efficient Ciphertext-Policy ABE (CP-ABE) schemes that can simultaneously outsource expensive key generation, encryption and decryption operations securely to the cloud. The local users incurs less computation costs.
ABS is an extension of identity-based signature, a scheme proposed and formalized by Shamir [10] where signer's identity is described using a set of descriptives attributes. In 2008, Piyi et al. [43] presented fuzzy identity-based signature scheme a primitive that is closely related to attribute-based signature. The scheme enables data owners to generate signatures with a subset of the attributes they own. The first ABS which achieves user's privacy where a user could sign a document by utilizing a subset of his attributes was formalized in 2008 by Guo et al. [44]. In this primitive, the authors claimed it to be unforgeable under adaptive message attack based on intractability strong extended Diffie-Hellman assumption. In 2009, Tan et al. [45] proved the scheme to be vulnerable to partial key replacement attack. First ABS scheme supporting a powerful set of predicates involving AND, OR and Threshold gates was formally introduced Maji et al [22]. Nonetheless, the security of this scheme is feeble as their design philosophy is solely proved in the generic group model. From that time, many similar works have been proposed [7,23,46,47,48,49]. Construction of threshold attribute-based signature applicable to small attribute universe and large attribute universe was formally introduced by Shahandashti et al. [50]. In this scheme, a document is signed using attributes subset while the verification of the signature is validated if the set of attributes used in signing is nearly close to the set of attributes that are used to verify.
In 2010, Maji et al. [51] proposed the first ABSC primitive that presents merits of both ABE and ABS in one logical step to achieve confidentiality of data, fine-grained access control, and unforgeability simultaneously. To realize this scheme, they combined technologies of FIBE [9] and features of new threshold attribute-based signature. The primitive was proved to be secure under selective-predicate attack. The signing access structure of this scheme is static in the setup phase and therefore does not work so well in practice. To eliminate the weakness, ABSC which is dynamic in nature was presented by Emura et al. [52], where encryptor's access structures is updated without the need to re-issue the signing private keys to the users. Morever, this primitive presents another essential feature public verifiability, where any third party can perform verification on the validity of the ciphertext before forwarding to the intended recipient. Therefore, undesirable cost of designcrypting invalid ciphertexts are eliminated. In 2013, Hu et al. [53] proposed a novel Fuzzy Attribute-Based Signcryption (FABSC) that is applicable to Body Area Network. In this scheme, patients are allowed to specify the attributes set a physician is supposed to have in order to access a particular portion of sensitive data. In order to achieve it, the intersection between the physician's credentials and the essential parts should exceed a predetermined threshold for a physician to access the data. A threshold ABSC primitive that has constant-size ciphertexts and non-monotonic access structure and which make use of inner-product encryption was proposed in 2013 by Han et al. [54]. Moreover, the scheme has an additional functionality public verification of ciphertext. Since then, many works on the same theme have been proposed [29,31,33,55,56,57,58,59]. Furthermore, ABSC primitives that outsources expensive computations to resolve the limitations confronting resource-constrained device users has also attracted many researchers [29,31,33]. The scheme in [31], offloads expensive computations to the cloud to realize verifiable outsourced designcryption while the final user executes lightweight computations. Compared to scheme [33] that outsources only demanding designcryption computations, scheme [29] outsources simultaneously heavy computations of signcryption and designcryption.
In this section, we present cryptographic preliminaries definitions essential for understanding this paper.
The various notations utilized throughout this paper are illustrated in Table 1.
ACRONYM | DESCRIPTION |
OKGSPs | Outsource Key Generation Service Provider (signing) |
OKGSPd | Outsource Key Generation Service Provider (decryption) |
OSSP | Outsourcing Signcryption Service Provider |
ODSP | Outsource Designcryption Service Provider |
OVSPs | Outsource Verification Service Provider (signing) |
OVSPd | Outsource Verification Service Provider (decryption) |
TAA | Trusted Attribute Authority |
As(resp. Ad) | Signing attributes (resp. Encryption attributes) |
ICT | Intermediate cipherText |
SCT | CipherText |
SCT′ | partially decrypted ciphertext |
MSK | Master Key |
MSKOKGSPs | Outsourced signing master key |
MSKOKGSPd | Outsourced decryption master key |
MSKTAAs | Local signing master key |
MSKTAAd | Local decryption master key |
PP | public parameters |
SKAs(resp. SKAd) | Private Signing Key(resp. Private decryption Key) |
ISKs | Intermediate Secret Key(signing) |
ISKd | Intermediate Secret Key(decryption) |
TSKAs | Transformation Secret key (signing) |
TSKAd | Transformation Secret key (decryption) |
RSKAs | Local signcryption signing key. |
RSKAd | Retrieval key used during local designcryption |
⊕ | An exclusive-OR(XOR) |
H1,H2,H3,Hs | Four hash functions |
Our scheme is constructed under access structures, monotone span program and linear secret sharing scheme policies.
(Access structure [60]). Let E denote the attribute universe. A collection X⊆2E∖{∅} is monotone if ∀ Z,W: if Z∈X and Z⊆W, then W∈X. An access structure is a collection X of non-empty subsets X⊆2E∖{∅}. The sets in X are called authorized sets, and the sets not in X are unauthorized sets.
MSP is a algebraic model of computation that is linear in nature [56]. To construct MSP, a Boolean formula is first converted into an access tree where AND (∧) and OR (∨) form interior nodes while leaf nodes are the attributes [61]. As an example assume data users that can access the data from the cloud have policies such as " Name ∧ InsNo" for INSURANCE COMPANY or "DEATH ∨ ALIVE ∧ CRITICAL" for GOVERNMENT or "BLOOD ∧ SALIVA" for RESEARCH INSTITUTION where NAME, InsNo, DEATH, ALIVE, CRITICAL, BLOOD and SALIVA are the attributes while INSURANCE COMPANY, GOVERNMENT, RESEARCH INSTITUTION are data users. The formula shows that any user with attributes set: (NAME, InsNo), (DEATH,ALIVE,CRITICAL), (BLOOD,SALIVA) satisfies the policy. Figure 3 shows an example of eHealth big data storage system access tree for Insurance company and Government with its corresponding matrix below it. Using the method as outlined in [61], the access tree which is an input is converted into its equivalent matrix M. The labeling begins from the root node where it is labeled using vector (1) and the global counter c is assigned with value 1. The labeling is done top down as follows:
ⅰ. When the parent node is OR (∨) gate denoted using vector υ, then its children is also denoted using υ (and the value of c remains the same).
ⅱ. When the parent node is an AND (∧) gate denoted using a vector υ, then we append 0's at the end of υ (if there is a necessity) to make it of length c. Then we mark its left child as υ⏐1 (in this case ⏐ denotes concatenation) and the right child is marked using the vector (0, ..., 0⏐-1), where (0, ..., 0) is the zero vector of length c. We should note that this two vectors sum to υ⏐0. The value of c is incremented by 1. value of c is incremented when AND (∧) is encountered. Once the entire tree has been labeled, the vectors denoting the leaf nodes (attributes) compose the rows of linear sharing secret scheme (lsss) matrix. If the vectors differ in length, we have to append 0's at the end of the shorter ones to ensure that all vectors display the same length.
Let Ψ: {0,1}n→{0,1} represent a monotone function [60]. A monotone span program is represented as Θ=(M,ρ) over Zp. It is an ℓ×k matrix M that has entries in Zp and the labeling Φ:[ℓ]→[n] that links each row of M with an input variable for (t1, t2, ....., tℓ) ∈{0,1}n.
A span program allows the input if it meets the following:
Ψ (t1, t2, ....., tℓ) = 1 ⇔ ∃ φ ∈ F1×ℓ : φM=[1,0,0,....,0]
and (∀ i: xΦ(i)) = 0 ⇒ φi = 0
Basically, Ψ(t1, t2, ...tl) = 1 provided that the rows of M indexed by {i|tΦ(i)=1} spans the vector [1, 0, 0, ...., 0]. Span programs can be constructed from Boolean functions[56].
Definition 1. (Linear secret sharing scheme(LSSS) [60]) A secret-sharing scheme ΠX for the access structure X over a given set of attributes ϑ is called linear (in Zp) if
1. The shares derived from secret ξ∈ Zp for each party forms a vector over Zp
2. For every access structure X on ϑ, there exist a matrix M that has ℓ row size and k column size referred to as sharing-generating matrix for Π. A function ρ labels every row i of matrix M using the attributes from Π. During the generation of shares we take into consideration the column vector →ψ=(ξ,y2,y3,..,yk), where ξ is the secret to be shared into ℓ parts, and y2,y3,..,yk are randomly chosen from Zp. Therefore M→ψ denotes the vector of ℓ shares of ξ that corresponds to Π and every share in M→ψ belongs to the party ρ(i).
The pair (M, ρ) denotes the access policy structure X.
LSSS can be summarized using two randomized algorithms:
Algorithm 1: Distribute |
Input: (M, ρ,ξ), ξ is the secret value to be shared Output: {λρ(i):i∈[ℓ]} 1 Choose randomly y2,y3,....yk←RZp 2 Set →ψ=(ξ,y2,y3,....yk)∈Zkp 3 In every row i∈[ℓ], calculate λρ(i) = →vMi}i∈[ℓ], where Mi∈Zkp is ith row of the matrix M. The share λρ(i) is given to ρ(i) 4 Return: {λρ(i):i∈[ℓ]} |
Algorithm 2: Reconstruct |
Input: (M,ρ,χ), where →χ=χ1,χ2,...χm∈{0,1}m Output: →Φ∈Zkp or ⊥ where ⊥ indicates not valid input 1 Calculate a vector →Φ=(Φ1,Φ2,...,Φℓ)∈Zℓ that satisfy this two characteristics: →Φ · M =(1,0,...,0) and [χρ(i)=0⟹Φi=0,∀ i]. 2 Return →Φ. |
Let map e: G×G→GT denote bilinear pairing where G and Gτ represent two multiplicative cyclic groups that belongs to prime order p. Let g be generator of G. Bilinear map e has the following properties:
● Bilinearity: ∀g∈G and a,b∈Z∗p we have e(ga,gb)=e(g,g)ab=e(gb,ga).
● Non-degeneracy: e(g,g)≠1.
● Computability: There is an efficient algorithm to compute e(g,g) for all g∈G.
Claim predicates, are policy formulas applied to the attributes /credential sets. They model access control policies.
Definition 2. We utilize U to denote universe of attributes. A predicate (over U) represents a monotone boolean function where inputs are related to the attributes universe U. An attribute set S⊂U satisfies predicate Υ (or Υ accepts R) if Υ(U)=1. This means an input is set to be true (i.e set to 1) if its equivalent attribute belong to attribute set S. And the input is set to be false (i.e set to 0) if its equivalent attribute does not belong to attribute set S. We denote using Υ(S)=0 if S does not satisfy Υ.
Since we have the predicate Υ as monotone, then it means Υ(R)=true and therefore Υ(W)=true for each attribute set W⊃R.
Assuming Υ is claim predicate and RΥ is an attribute set employed in Υ then a labeled matrix Θ=(Mℓ×k,ρ) corresponds to MSP for Υ, here M is ℓ×k matrix while ρ:[ℓ]→RΥ labels the rows of M using the attributes from RΥ. Attributes are taken as variables of MSP.
We represent A⊂U as set of attributes. We also define x1={i∈[ℓ]:[ρ(i)=v]∧[v∈A]} and x0={i∈[ℓ]:[ρ(i)=v]∧[v∉A]}. Then x1={i∈[ℓ]:ρ(i)∈A} and x0={i∈[ℓ]:ρ(i)∉A}. In this case x1∪x0=[ℓ].
A predicate Υ (consisting Θ=(Mℓ×k,ρ)) accepts an input A that denotes attribute set by following this basis,
Υ(A)=1⟺[∃(z1,...,zℓ)∈Zℓp such that ∑i∈[ℓ]zi.→Mi=(1,0,,,0) and zi=0 ∀i, where ρ(i)∉A]. The following result is essential while presenting the security proof of the proposed scheme.
Lemma 1. Let Υ, U denote predicate and attribute set respectively. If Υ(A)=false then there exist →ω=(ω1,ω2,...ωk)∈Zkp with ω1=−1 such that →ω.→M(i)=0 ∀i where ρ(i)∈A.
Consider bilinear group Ω=(p,e,G,Gτ) with distribution tuple T=(Ω,g,gy,gy2,...,gyq,..gyq+2,..,gy2q) such that g∈G2q and y←{2,3,..,p−1}. Given Ty,g=(g,gy,gy2,...,gyq,..gyq+2,..,gy2q)R←T, it computes gyq+1. The adversary advantage A in solving q-Diffie-Helman Exponent (abbreviated as q−DHE) problem is defined as Advq−DHEA=Pr[gyq+1←A(T,Ty,g)]≤ϵ
Definition 3. We establish that the q-DHE problem in (G,Gτ) is (τ,ϵ)-hard if the advantage Advq−DHEA≤ϵ for all PPT adversary A running in time at most τ.
Consider bilinear group Ω=(p,e,G,Gτ). Select g∈G and 2q + 2 random exponents ε,y,k1,...,kq←{2,3,..,p−1}. Given Tε,y,g=(Ω,g,gθ,{gzi,gkj,gθkj, gzikj,gzi/k2j}(i,j)∈[q,q], {gzi/kj}(i,j)∈[2q,q],i≠q+1, {gzikj/k2j′}(i,j,j′)∈[2q,q,q],j≠j′, {gθzikj/k′j, gθzikj/k2j′}(i,j,j′)∈[q,q,q],j≠j′), it then computes XυR←Gτ where υ={0,1}. The q−1 problem confirms whether X=e(g,g)θ.yq+1 when υ=0 or X is a random number of Gτ otherwise.
Definition 4. We establish that the q-1 problem in (G,Gτ) is (τ,ϵ)-hard if the advantage Advq−1A=Pr[υ′=υ]−1/2 for all PPT adversary A running in time at most τ.
Figure 4 illustrates an architecture based on our proposed VFOABSC scheme. In our proposed scheme expensive ABSC computations are delegated to the cloud server so as to minimize computation overhead encountered by lightweight IoT devices with inefficient computational capability. Trusted Attribute Authority (TAA) sends the outsourcing master key (both signing and decryption) to respective servers to generate partial key (signing and decryption) then TAA locally completes the process by generating full signing and decryption keys. To reduce heavy computations while checking the validity of outsourced generated key (both signing and decryption), TAA requests trusted third party to verify. When data owner receives signing key from TAA, it generates two keys from it. One of the key is sent to the cloud server to be used for executing partial signcryption and its local key is utilized in generating the remainder portion of the ciphertext. Data owner then uploads full ciphertext to the cloud that is considered to be secure. To decrypt the data, the IoT device user sends decryption blinding key to the server to execute expensive computations if its attributes satisfies access structure policy. If that is the case, it uses the corresponding retrieving key to perform full decryption.
Our proposed system comprise the following participants: trusted attribute authority (TAA), cloud server, data owner and data user. The functionalities of these participants are:
1. Trusted Attribute Authority (TAA): It generates the outsourcing master key (both signing and decryption) then sends to the respective servers for them to generate partial key (signing and decryption). Upon receiving partial keys from the servers, TAA completes the process by generating full signing and decryption keys. It is the only entity entirely trusted by all other participants in the system.
2. Cloud server: There are seven cloud servers in our system. The first is for generating partial decryption key, the second for generating partial signing key, the third for verifying outsourced signing partial generated key, the fourth for verifying outsourced decryption partial generated key, fifth performs outsourced signcryption to generate partial ciphertext, sixth performs outsourced designcryption to generate partial plaintext and the seventh stores data for the owner at the same time provides data access services to the users.
3. Data owner: Generates two keys from the signing key. Sends one key to the cloud server for generating partial ciphertext while he remains with another key. Once it receives partial ciphertext from the cloud, it computes full ciphertext using his own key. Finally it outsources full ciphertext to the cloud.
4. Data user: The user with lightweight IoT device such as medical sensors sends a decryption blinding key to the proxy to transform ciphertext into simple one. When it receives partially decrypted ciphertext it uses retrieving key to complete the decryption. It can only fully decrypt the ciphertext when his attributes satisfies access policy in the ciphertext.
Sixteen algorithms are defined in our system as follows:
Setup (1κ,U)→(PP,MSK)
This algorithm takes the input values κ and U as security parameter and the universe of attributes respectively. It returns as an output the public parameters PP and master key MSK.
SigKeyGen.init(PP,MSK)→(MSKOKGSPs,MSKTAAs).
TAA executes this pre-processing algorithm. It takes the input PP and MSK as public parameters and master key respectively and returns as output outsourcing signing master key MSKOKGSPs and local signing master key MSKTAAs
SigKeyGen.out(PP,MSKOKGSPs,As)→(ISKs).
OKGSPs executes this algorithm. It takes as input public parameters PP, outsourcing signing master key MSKOKGSPs and attribute set As. It gives as an output intermediate private signing key ISKs.
SigKeyGenout.ver (PP,MSKOKGSPs,ISKs→b∈{0,1})
Outsourced verification service provider (OVSPs) executes this algorithm. It takes the input PP, MSKKGSPs and ISKs as public parameters, outsourcing signing master key and intermediate private signing key respectively. It yields b=1 if the equations are true, otherwise it yields b=0.
SigKeyGen.local (PP,MSKTAAs,As,ISKs)→(SKAs)
TAA executes this algorithm. It takes as an input public parameters PP, signing local master key MSKTAAs, attribute set As and intermediate signing key ISKs. It yields as an output complete private signing key SKAs.
SigKey.blind (SKAs)→(TSKAs,RSKAs)
The input to this algorithm is signing private key SKAs. It outputs transformation private signing key TSKAs with its respective retrieving key RSKAs.
DecKeyGen.init(PP,MSK) → (MSKOKGSPd,MSKTAAd). TAA executes this pre-processing algorithm. It takes public parameters PP and master key MSK as input. It returns as an output outsourcing decryption master key MSKOKGSPd and local decryption master key MSKTAAd.
DecKeyGen.out (PP,MSKOKGSPd,Ad)→(ISKd)
OKGSPd executes this algorithm. It takes as input public parameters PP, master key MSKOKGSPd for outsourcing decryption key generation and attribute set Ad. It yields intermediate private decryption key ISKd as an output.
DecKeyGenout.ver(PP,MSKOKGSPd,ISKd→μ∈{0,1}) Outsourced verification service provider (OVSPd) executes this algorithm. It takes the input PP, MSKOKGSPd and ISKd as public parameters, outsourcing decryption master key and intermediate decryption private key respectively. It outputs μ=1 if the equations holds, otherwise it outputs μ=0.
DecKeyGen.local(PP,MSKTAAd,Ad,ISKd)→(SKAd):
TAA executes this algorithm. It takes as an input public parameters PP, local master key MSKTAAd, attribute set Ad and intermediate decryption key ISKd. It outputs complete decryption private key SKAd.
DecKey.blind (SKAd)→(TSKAd,RSKAd):
The user takes decryption private key SKAd as an input to this algorithm and yields transformation private key TSKAd and its associated retrieval secret key RSKAd as an output.
Signcrypt.out (PP,TSKAs,Υs,Υe)→ICT:
OSSP executes this algorithm. It takes as input public parameters PP, signing transformation key TSKAs, signing attributes As, signing predicate Υs and encryption predicate Υe. It produces as an output intermediate ciphertext ICT.
Signcrypt.local (PP,M,RSKAs,ICT)→SCTΥe:
The algorithm takes public parameters PP, message M, retrieving key RSKAs and intermediate ciphertext ICT as input. It produces complete ciphertext SCTΥe as an output.
Verification (PP,SCTΥe)→valid or ⊥
The algorithm takes as input PP, original ciphertext SCTΥe to output either valid or invalid symbol ⊥
Designcrypt.out (PP,TSKAd,Ad,SCTΥe)→(TCTAd):
This algorithm is executed by ODSP. It takes public parameters PP, the key for transformation TSKAd, an attribute set Ad, ciphertext SCTΥe as input. It returns transformed ciphertext TCTAd as output.
Designcrypt.local (PP,SCTΥe,Ad,SKAd,Υe) = M or ⊥:
This algorithm takes as input PP, original ciphertext SCTΥe, an attribute set Ad, decryption private key SKAd and encryption predicate Υe. It returns as an output message M or invalid symbol ⊥.
Identical to [25], we employ a security game that describes the confidentiality of the message. We consider a challenger C and an adversary E.
Setup: C executes Setup algorithm to obtain public parameter PP and master key MSK. It sends PP to E.
Query Phase 1: Challenger C creates an empty table T1, a integer counter ς=0 and an empty set R. E then it adaptively issues the following queries:
1. DecKey Queries: C on obtaining an attribute set Ad sets a counter ς=ς+1, then executes SKAd←DecKeyGen.local(PP,MSKTAAd,Ad, DecKeyGen.out (PP,MSKOKGSPd,Ad)) where Υ∗e(Ad)=0. Then sets T1=T1∪{Ad}. It sends SKAd to E.
2. DecKey.blind Query: On obtaining an input attribute set Ad it executes SKAd←DecKeyGen.local(PP,MSKTAAd,Ad, DecKeyGen.out(PP,MSKOKGSPd,Ad)), (TSKAd,RSKAd) ←DecKey.blind (SKAd). It then stores the entry (ς,Ad,SKd,TSKAd,RSKAd) in table T1 then supply the adversary E with TSKAd.
Challenge Phase: E submits two messages M0 and M1 of equal length alongside decryption predicate Υ∗e(Ad) with the condition that no attribute set in T1 should satisfy the decryption predicate Υ∗e(Ad). Next, C picks a bit γ∈{0,1} randomly. C then executes signcryption on Mγ using Υ∗e(Ad)=1.
Query Phase 2: Upon receiving SCT∗Υe, E adaptively continues to issue queries in the same way as in Query Phase 1 with the condition that it cannot Designcrypt Query, for an attribute set Ad and As in such way that Υ∗e(Ad)=1 and Υ∗s(As)=1
Guess Phase: E outputs a guess bit γ′∈{0,1} and wins the game if γ′=γ, otherwise outputs ⊥.
Definition 5. VFOABSC scheme is CPA-secure if no PPT adversary that have non-negligible advantage wins the security game above.
The following security game of the formal unforgeability definition involves challenger C and adversary A.
Setup: Challenger C executes Setup algorithm to obtain public parameter PP and master key MSK. It sends PP to A.
Query Phase 1: Challenger C in addition to creating an empty table T2 also creates an integer counter β and empty set R. A then issues adaptively queries as follows:
1.DecryptKey Queries and DecKey.blind Query are similar to the described CPA-secure game.
2. SigncryptKey Queries: C initially sets β=β+1, and for an attribute set As, it executes (SKAs)←SigKeyGen.local (PP,MSKTAAs,As, SigKeyGen.out(PP,MSKOKGSPs,As)) where Υ∗e(As)=0 then sets T2=T2∪{Ad}∪{As}. Finally it sends the signing key SKAs to A.
3. SigKey.blind: On obtaining an input attribute set As it executes (SKAs)←SigKeyGen.local (PP,MSKAAs,As, SigKeyGen.out(PP,MSKOKGSPs,As)), (TSKAs,RSKAs)← SigKey.blind(SKAs). It stores the entry (β,⋄,SKs,TSKAs,RSKAs) in table T2 then supply the adversary with TSKAs.
Forgery: A returns forged ciphertext SCT∗Υ∗e for the selective signing predicate Υ∗s.
Output: A wins the game if it outputs valid ciphertext SCTY∗Υ∗e where A has never issued query on signcrypt record (M∗,Υ∗s,Υ∗e) and false otherwise.
Definition 6. The VFOABSC scheme is said to be existential unforgeable secure if no PPT adversary A that have non-negligible advantage wins the security game above.
The formal definition of signcryptor privacy of VFOABSC scheme is based on security game between a challenger C and adversary A.
Setup: C executes Setup algorithm to obtain public parameter PP and master key MSK. It sends PP and MSK to A where MSK is combination of MSKOKGSPs and MSKTAAs.
Challenge: A presents a message M∈M, signing predicate Υs(A1s)=Υs(A2s)=1, and also an encryption predicate Υe. Then, C selects b←{0,1} to obtain SKAbs←SigKeyGen.local(PP,MSKTAAs,As,SigKeyGen.out (PP,MSKOKGSPs,As)) then outputs a challenge ciphertext SCTΥe← Signcrypt.local(PP,M,Υe, Signcrypt.out(PP,SKAbs,Υs)) to A.
Guess: A outputs guess bit b′∈{0,1}
Output: C outputs true if b′=b, and false otherwise.
It should be noted that adversary A can itself generate signing keys and ciphertexts in view of the fact that he has knowledge about the master key of the system.
Definition 7. The VFOABSC scheme is considered perfectly private if no PPT adversary A that have non-negligible advantage wins the security game above.
We present in this section the main construction of our proposed Verifiable Fully Outsourced Attribute-Based Signcryption System (VFOABSC) which is based on attribute-based signcryption due to [25] with the extension of outsourced key generation, outsourced key verification, outsourced signcryption and outsourced designcryption computation simultaneously to improve the efficiency of lightweight IoT devices. We first modified the offline/online signcryption phases in Rao's scheme [25] to outsourcing and owner signcryption phases respectively. Then to realize the above stated desirable features, we utilized the cryptographic scheme due to Wang et al. [34]. Our scheme supports both boolean function predicates and large attribute universe U={0,1}∗. Moreover, it allows public verifiability mechanism for ciphertext. In the construction of our scheme the signing predicate and its counterpart encryption predicate are both represented using Monotone Span Programs (MSPs). We denote signing predicate and encryption predicate using Υs=(Ms,ρs) and Υe=(Me,ρe) respectively. Ms(resp. Me) represents ℓs×ks (resp. ℓe×ke) matrix with ρs:[ℓs]→U (resp. [ℓe]→U) denoting row labeling function. The ith row of matrix Ms (resp.Me) is represented using the notation →M(i)s (resp. →M(i)e). In our scheme, it is assumed that the row labeling function ρs to be injective in the signing predicate Υs=(Ms,ρs). We utilize the bilinear group tuple Ω=(q,G,Gτ,e). Our new scheme consist of the following sixteen algorithms.
Algorithm 3: Setup - It is executed by TAA |
Input: (1κ,U), where κ and U are security parameter and the universe of attributes respectively. Output: (PP,MSK) 1 Two cyclic groups G,Gτ of prime order p and generator g of G is chosen. A bilinear group description is denoted as Π=(p,G,Gτ,e) where e:G×G→Gτ is a bilinear map. Let M={0,1}lm 2 The algorithm selects four hash functions H1:{0,1}∗→Z∗p, H2:{0,1}∗→Z∗p, H3:{0,1}∗→{0,1}lm, Hs:{0,1}∗→G, (Here H1 and H2 are two independent cryptographic hash functions) 3 It also chooses randomly g,he,ue,we,us,ws,ν,ϱ1,ϱ2,ϱ3∈RG. 4 It samples α∈Z∗p then sets Σ=e(g,g)α. 5 The system public parameters PP = (Π,Σ,g,he,ue,we,us,ws,ν,ϱ1,ϱ2,ϱ3,M,U,H1, H2,H3, Hs) 6 The master key MSK output is MSK=gα. 7 Returns (PP,MSK). |
Algorithm 4: SigKeyGen.init - It is pre-processing algorithm executed by TAA |
Input: (PP,MSK), where PP and MSK denotes public parameters and master key respectively Output: (MSKOKGSPs,MSKTAAs) 1 Randomly chooses α0∈RZp. 2 Computes MSKOKGSPs=gα0 and MSKTAAs=gα−α0. Where MSKOKGSPs is outsourcing master key for generating partial signing key while MSKTAAs is local master key for generating the remaining portion of the signing key. 3 Returns (MSKOKGSPs,MSKTAAs). |
Algorithm 5: SigKeyGen.out - It is executed by OKGS Ps |
Input: (PP,MSKOKGSPs,As) Output: (ISKs) 1 It takes as input public parameters PP, master key MSKOKGSPs for outsourcing key generation and attribute set As 2 Selects randomly δ′∈Zp then computes Kso=gα0νδ′, K′so=gδ′, Kso,a=Hs(a)δ′,∀a∈As. 3 It finally outputs intermediate signing key ISKs=(Kso,K′so,{Kso,a}∀a∈As) 4 Returns (ISKs). |
Algorithm 6: SigKeyGenout.ver - It is executed by OVS Ps |
Input: (PP,MSKOKGSPs,ISKs) Output: (b∈{0,1}) 1 Whenever TAA request for verification of outsourced generated signing key, it executes the following equations: e(Kso,g)?=e(g,MSKOKGSPs).e(K′so,ν)e(K′so,Hs(a))?=e(g,Kso,a)∀a∈As(4.1) It produces b=1 as output if all the above equations are valid, otherwise outputs b=0 to indicate invalid results. 2 Returns (b). |
Algorithm 7: SignKeyGen.local - It is executed by TAA |
Input: (PP,MSKTAAs,As,ISKs) Output: (SKAs) 1 It takes as an input public parameters PP, local master key MSKTAAs, attribute set As and intermediate signing key ISKs. 2 It then computes Ks=gα−α0.Kso, K′s=K′so, {Ks,a=Kso,a}∀a∈As. 3 It outputs SKAs=(PP,As,Ks,K′s,{Ks,a}∀a∈As) 4 Returns (SKAs) |
Algorithm 8: SigKey.blind - It is executed by data owner |
Input: (SKAs) Output: (TSKAs,RSKAs) 1 The input to this algorithm is signing private key SKAs. 2 It randomly picks number ϕ∈RZ∗p after which it computes TKs1:=K1/ϕs, TKs2:=K′1/ϕs, TKs,j:=K1/ϕs,a, ∀j∈As. 3 It returns transformation signing key for As as TSKAs:=[As,TKs1,TKs2,{TKs,j}j∈As and the retrieving private key as RSKAs=ϕ. 4 Transformation signing key TSKAs is sent to CSP to be utilized for generating partial signcrypted ciphertext. 5 Returns (TSKAs,RSKAs) |
Algorithm 9: DecKeyGen.init - It is pre-processing algorithm executed by TAA |
Input: (Ad,MSK) Output: (MSKOKGSPd,MSKTAAd) 1 Randomly chooses α1∈RZp. 2 Computes MSKOKGSPd=gα1 and MSKTAAd=gα−α1. Where MSKOKGSPd is outsourcing master key for generating partial decryption key while MSKTAAd is local master key for generating the remaining portion of the decryption key. 3 Returns (MSKOKGSPd,MSKTAAd) |
Algorithm 10: DecKeyGen.out - It is executed by OKGS P |
Input: (PP,MSKOKGSPd,Ad) Output: (ISKd) 1 It takes as input public parameters PP, master key MSKOKGSPd for outsourcing key generation and attribute set Ad. 2 Selects randomly δ,δi∈Zp then computes Kd0=gα1νδ, Kd1=gδ, Kd0,i=(uiehe)δiw−δe, Kd1,i=gδi. 3 It finally outputs intermediate decryption key ISKd=(PP,As,Kd0,Kd1,{Kd0,i,Kd1,i}i∈Ad). 4 Returns (ISKd) |
Algorithm 11: DecKeyGenout.ver - It is executed by OVS Pd |
Input: (PP,MSKOKGSPd,ISKd) Output: (μ∈{0,1}) 1 Whenever TAA request for verification of outsourced generated key, the algorithm performs the following equations: 2 e(Kd0,g)?=e(g,MSKOKGSPd).e(Kd1,ν)e(g,Kd0,i)?=e(Kd1,i,(uiehe)).e(we,g−δ)∀i∈Ad(4.2) It gives as output μ=1 if all the above equations are true, otherwise outputs μ=0 to indicate incorrect results. 3 Returns (μ) |
Algorithm 12: DecKeyGen.local - It is executed by TAA |
Input: (PP,MSKTAAd,Ad,ISKd) Output: (SKAd) 1 It takes as an input public parameters PP, local master key MSKTAAd, attribute set Ad and intermediate decryption key ISKd. 2 It then calculates Kd=gα−α1.Kd0, Kd1A=Kd1, {Kd0A,i=Kd0,i,Kd1A,i=Kd1,i}i∈Ad. 3 Finally it returns as an output private decryption key SKAd=(Ad,Kd,Kd1A,Kd0A,i,Kd1A,i) 4 Returns (SKAd) |
Algorithm 13: DecKey.blind - It is executed by user |
Input: (SKAd) Output: (TSKAd,RSKAd) 1 The user takes decryption private key SKAd as an input. 2 It randomly selects number z∈Z∗p after it computes the following TKd0:=K1/zd, TKd1:=K1/zd1A, TKd0,i=K1/zd0A,i, TKd1,i=K1/zd1A,i 3 It returns the transformation decryption private key as TSKAd=(TKd0,TKd1,{TKd0,i,TKd1,i} ∀i∈Ad). and its respective retrieving private key as RSKAd=z. 4 The transformation decryption private key TSKAd is sent to the cloud for generating partially decrypted ciphertext. 5 Returns (TSKAd,RSKAd) |
Algorithm 14: Signcrypt.out - It is executed by OSSP |
Input: (PP,TSKAs,Υs,Υe) Output: (ICT) 1 It takes as input public parameters PP, signing transformation key TSKAs, signing attributes As signing predicate Υs and encryption predicate Υe with property that Υs(As)=1. 2 The algorithm then computes a vector →c:=(c1,c2,..,cℓs)∈Zℓsp where →c.Ms=→1ns i.e ∑i∈[ℓs]ci.→M(i)s=→1ns and ci=0 for all i where ρs∉As. This is possible because Υs(As)=1. 3 It randomly selects a vector (x1,x2,..,xℓs)∈RZ∗p such that ∑i∈[ℓs]xi.→M(i)s=→0ns. 4 It also chooses r′∈RZ∗p and uses it to re-randomize transformation signing private key TSKAs as follows TSKRAs = (As, TKRs1=TKs1.νr′/ϕ, TKRs2=TKs2.gr′/ϕ, {TKRs,j=TKs,j.Hs(j)r′/ϕ}j∈As) =(As,TKRs1=gα/ϕ.νψ/ϕ,TKRs2=gψ/ϕ,{TKRs,j=Hs(j)ψ/ϕ}j∈As) where ψ=δ′+r′. 5 In addition, it picks randomly ξ′,ζ∈RZ∗p. 6 It also chooses, λ′i,πi,ti∈RZp then sets →Ci=(νλ′iwtie,(uπiehe)ti,gti)∀i∈[ℓe] σ′0=(TKRs1)(Πi∈[ℓs](TKRs,j)ciHs(ρs(i))ζxi/ϕ σ′i=(TKRs2)cigζxi/ϕ,∀i∈[ℓs] 7 It returns as an output a partially signcrypted ciphertext, ICT=[ξ′,{→Ci,λ′i,πi,ti}i∈[ℓe],σ′0,{σ′i}i∈[ℓs]]. 8 The partial ciphertext ICT is then sent to the data owner to complete signcryption by generating the remaining ciphertext. 9 Returns (ICT) |
Algorithm 15: Signcrypt.local - It is executed by the data owner |
Input: (PP,M,RSKAs,ICT) Output: SCTΥe 1 The owner picks ξ,ϑ,η∈RZ∗p, then calculates key=Σξ. 2 It also computes shares λi=Mie→y where →y=(ξ,y2,..yne)∈Znep and Mie is the ith row of the matrix Me. 3 The algorithm then calculates the following terms: C0:=H3(key,Υe,Υs)⊕M, →C1=(gξ,(ϱϑ1ϱη2ϱ3)ξ), {C′i1=(λi−λ′i), C′i2=ti(ρe(i)−πi)}i∈ℓe, ς=H1(C0,Υe,Υs), C2=(uςsws)ξ, σ0=σ′RSKAs0.C2, {σi=σ′RSKAsi}i∈[ℓs]. 4 The complete ciphertext is SCTΥe=(C0,→C1,{C′i1,C′i2}i∈[ℓe],σ0,{σi}i∈[ℓs]) 5 Returns (SCTΥe) |
Algorithm 16: Verification - It is executed by any third party |
Input: (PP,SCTΥe) Output: valid or ⊥ 1 It takes as input public parameters PP and ciphertext SCTΥe. 2 The algorithm computes ϑ=H2(C0,C11,{C′i1,C′i2}i∈ℓe,σ0,{σi}i∈[ℓs],Υe,Υs) and verifies by checking whether e(g,C12)?=(C11,ϱϑ1ϱη2ϱ3)(4.3) 3 If the equation is false, ⊥ is returned, otherwise execute the following; it randomly selects f,ζ′1,..,ζ′ks∈RZ∗p, then computes (ϖ1,...,ϖℓs)=(f,ζ′1,..,ζ′ks).MTs and verifies the following by checking whether its true; e(σ0,gf)?=Δf.e(uςsws,Cf11).Πi∈[ℓs]e(νˉωiHs(ρs(i))f,σi)(4.4) here ς:=H1(C0,Υe,Υs). 4 The signature is valid only if the equation holds. Main computation proceeds as follows, σ0=σ′RSKAs0.C2 =σ′ϕ0.C2 =(TKRs)ϕ(Πi∈[ℓs](TKRs,j)ϕciHs(ρs(i))ζxi.ϕ/ϕ. (uςsws)ξ =gανψ.(uςsws)ξ.(Πi∈[ℓs]Hs(ρs(i))ψ.ci+ζxi =gανψ(uςsws)ξ.(Πi∈[ℓs]Hs(ρs(i))ψ.ci+ζxi where ψ=δ′+r′ ∑i∈[ℓs](ψ.ci+ζxi).ϖi =∑i∈[ℓs](ψ.ci+ζxi).((f,ζ′2,..,ζ′ks). →M(i)s) =(ψf,ψζ′2,...,ψζ′ks). ∑i∈[ℓs]ci.→M(i)s + (ζf, ζζ′2, .., ζζ′2). ∑i∈[ℓs]xi.→M(i)s =(ψf,ψζ′2,...,ψζ′ks). (1,0,..,0) + (ζf, ζζ′2, .., ζζ′ks). (0,0,..,0) =ψf 5 Now, e(σ0,gf)= e(gανψ(uςsws)ξ.(Πi∈[ℓs]Hs(ρs(i))ψ.ci+ζxi,gf) =e(g,g)αf.e(ν,g)ψf.e(uςsws,g)ξf.e(Πi∈[ℓs]Hs(ρs(i))ψ.ci+ζxi, gf) =Σf.e(ν,g)∑i∈[ℓs](ψ.ci+ζxi).ϖi.e(uςsws,gξf). e(Πi∈[ℓs]Hs(ρs(i))f,gψ.ci+ζxi) =Σf.(∏i∈[ℓs]e(νϖi,gψ.ci+ζxi).e(uςsws,gξf). e(Πi∈[ℓs]Hs(ρs(i))f,gψ.ci+ζxi) =Σf.e(uςsws,Cf01).(Πi∈[ℓs]e(νϖiHs(ρs(i))f,gψ.ci+ζxi) =Σf. e(uςsws,Cf01). (Πi∈[ℓs]e(νϖiHs(ρs(i))f,σi) 6 Next it checks if Υe(Ad)=0. If that is the case then it returns ⊥, else it proceeds to execute decryption. 7 Returns (valid or ⊥) |
Algorithm 17: Designcrypt.out - It is executed by ODS P |
Input: (PP,TSKAd,SCTΥe) Output: TCTAd 1 It takes public parameters PP, the key for transformation TSKAd and ciphertext SCTΥe as input. Whenever encryption predicate is satisfied by user's set of attributes, there exist a vector →c′=(c′1,...,c′ℓe)∈Zℓep such that →c′.Me=→1ne where ∑i∈[ℓs]c′.→M(i)e=→1ne and for all i where ρe∉Ad, →c′=0. 2 Next, the cloud server computes the transformed ciphertext TCTAd as: e(C11,TKd0).e(ν∑i∈[ℓe]C′i1c′i.Πi∈[ℓe]Cc′ii1,TKd1)−1Πi∈[ℓe](e(Ci2uC′i2e,TKd0,i)−1.e(Ci3,TKd1,i)c′i =e(g,g)αξ/ze(gδ/z,νξ).e(νξ,g−δ/z).Πi∈[ℓe]e(wc′i.tie,g−δ/z)Πi∈[ℓe].e(gc′i.ti,w−δ/ze) =e(g,g)αξ/z =Σξ/z. 3 The calculation process is carried as follows: ∑i∈[ℓe]c′i.(ξ,ζ2,..,ζke).→M(i)e=(ξ,ζ2,..,ζke).∑i∈[ℓe]c′i.→M(i)e= (ξ,ζ2,..,ζke).(1,0,..,0)= ξ 4 The transformed ciphertext TCTAd is sent to the end user to complete the decryption. 5 Returns (TCTAd) |
Algorithm 18: Designcrypt.local - It is executed by IoT device user |
Input: (PP,TCTAd,RSKAd) Output: M or ⊥ 1 It takes as input PP, partially decrypted ciphertext TCTAd and decryption retrieval private key RSKAd. 2 It returns message M=C0⊕H3(Σξ.RSKAd/z,Υe,Υs) or invalid message ⊥ symbol. 3 Returns (M or ⊥) |
Abbreviations: |Ad|(|As|): indicates number of decryption(signing attributes), ℓe(ℓs): Attribute size in encryption (signing) predicate, LG: denotes the length of an element in G, LGτ: denotes the length of an element in Gτ, LZp: denotes the length of an element in Zp, |Ud|: universe of encryption attributes, n: the number of elements, LM: Length of the message, V: verification key size, |Sig|: size of message of one-time signature scheme.
Abbreviations: ℓe(ℓs): Attribute size in encryption (signing) predicate, E1,E2: Modular exponential computations in G and Gτ respectively, P: Pairing computation, OFL: Offline, ONL: Online.
Theorem 5.1 (Message Confidentiality:). Assuming the security in Rao's scheme [25] is assured, then the scheme proposed is also secure.
Proof. Suppose an adversary E that has non-negligible advantage has ability to break VFOABSC scheme. In similar way an algorithm Q can break the scheme [25] with non-negligible advantage.
We take C as a challenger related to algorithm Q in the selective CPA-secure game due to the scheme proposed by Rao [25]. Q executes E as follows.
Setup To obtain public parameters PP′, C runs Setup algorithm in [25]. The output is
PP′=(Σ,gT,g,he,ue,we,us,ws,ϑ,ϱ1,ϱ2,ϱ3,M,U, H1,H2,H3,Hs)
Then it sends PP′ to Q. Likewise, Setup algorithm is executed by Q in this paper to obtain the following public parameters
PP = (Π,Σ,g,he,ue,we,us,ws,ν,η1,η2,η3,M,U,H1, H2,H3, Hs)
It then sends PP to E.
Query Phase 1 Q initialises both an empty Table T1 and an empty set R. Next, E issues queries adaptively as follows;
1. DecKey Queries: Similar to [62], we combine the simulation of DecKeyGen algorithms DecKeyGen.out and DecKeyGen.local as a single key query. When E makes a decryption query for the attribute set Ad, Q sends Ad to C to obtain decryption key SKAd. Q then sets R=R∪{Ad}. Finally it sends SKAd to E.
2. DecKey.blind Query: When E makes query for transformation key that corresponds to an attribute set Ad, Q will look for the entry tuple (ς,Ad,SKd,TSKAd,RSKAd) in table T1. If there exists the entry that corresponds to the query, Q will response with TSKAd, else an integer z∈Z∗p is randomly selected by Q, then computes TSKAd=(TKd0,TKd1,{TKd0,i,TKd1,i} ∀i∈Ad). where TKd0:=gα/zνδ/z, TKd1:=gδ/z, TKd0,i=(uiehe)δi/zw−δ/z, TKd1,i=gδi/z. TSKAd is taken as another type of SKd. Q finally stores the tuple entry (Ad,⋄,SK′Ad,⋄) in Table T1 and return TSKAd to E.
Challenge Phase: Q receives the challenge access structure Υ∗e(Ad) from E. Q then randomly chooses two messages M0 and M1 of equal length which he forwards to C to get a challenge ciphertext SCT∗Υe=(C0,C1,{C′i1,C′i2}i∈[ℓe],σ0,{σi}i∈[ℓs]) by executing Signcrypt algorithm of [25]. Q finally sends SCT∗Υe to E.
Query Phase 2: E issues another sequence of queries with the condition that the querying key will not satisfy access structure. Q responds in similar way to the one simulated in Query Phase 1 and provides responds as in Query Phase 1.
Guess Phase: E provides as an output guess γ likewise Q gives its output as γ.
In keeping with the earlier discussion, suppose E can attack our VFOABSC scheme with non-negligible advantage in the selective CPA-secure game. Likewise an algorithm Q can attack the scheme [25].
Theorem 5.2 (Ciphertext Unforgeability:). The proposed VFOABSC scheme is unforgeable if CDH hardness assumption holds.
Proof. Assume an adversary A can attack VFOABSC scheme with non-negligible advantage, then we can build an algorithm simulation Q that uses A to solve CDH problem. Provided with a tuple (g,A=ga,B=gb)∈G3 which is a random CDH instance, the role of C is to compute gab where a,b∈RZ∗p
Setup Q sets parameters as in Theorem 5.1. Selects randomly a,b∈RZ∗p. Then sets Σ=e(ga,gb). The aim of Q is to compute gab.
Queries C takes an empty Table T1 with an empty set R. Next, Q issues sequences of queries adaptively as follows;
1. DecKey Queries and DecKey.blind Query. These are similar to the above described CPA- game.
2. SigKey Query. We combine the SigKey algorithms simulation SigKey.out and SigKey.local as a single key query. When A makes a signing key query for the attribute set As, Q sends As to C to obtain signing key SKAs. Q then sets R=R∪{As}. Finally it sends SKAs to A.
3. SigKey.blind Query Assuming A makes a transformation secret signing key query associated with attributes As. A will find out if its stored in tuple (As,SKAd,SKAs,TSKAd,RSKAd). If it exists, Q returns TSKAs, otherwise it picks at random ϕ∈RZ∗p then computes TSKAs=[As,TKs1,TKs2,{TKs,j}j∈As where TKs1=gα/ϕνδ′/ϕ, TKs2=gδ′/ϕ, TKs,j=Hs(a)δ′/ϕ, ∀j∈As. TSKAs is represented as another kind of SKAs. For that matter, in the data owner's view there is similarity between third party (cloud) and end users. Lastly, the tuple record (As,⋄,SK′As,⋄) is stored in T1 and TSKAs is returned to A.
Forgery A outputs forged ciphertext SCT∗Υe, constructed under attribute set As with the constraint that As∉T1. C aborts if A∗s=A′s
Whenever the signcryption ciphertext is valid, A wins and obtains
e(σ0,gf)e(uςsws,Cf01).(Πi∈[ℓs]e(νϖiHs(ρs(i))f,gψ.ci+ζxi)
e(gab,gf) = e(σ0,gf)e((uςsws)ξ,gf).(Πi∈[ℓs]e(νϖiHs(ρs(i))ψ.ci+ζxi,gf)
gab = σ0(uςsws)ξ.(Πi∈[ℓs](νϖiHs(ρs(i))ψ.ci+ζxi as a solution of CDH problem.
This section describes the performance comparisons of several existing ABSC schemes [25,29,31,51,52,53,56,57] with our scheme. Table 2 provides a summary of the security requirements in terms of authentication, privacy, confidentiality, public verifiability and unforgeability. From the shown results, schemes [25,29,31,57] like our scheme enjoys all the security requirements mentioned above. Scheme [52,56] do not provide authentication, while [51,52,53,56] do not support signcryptor's privacy. On the other hand schemes [51,52,53] do not support public verifiability. All the schemes supports unforgeability security requirement. In Table 3, we compared the schemes in terms of functionality. Its only our VFOABSC scheme that achieves outsourcing key generation, outsourcing key generation verification, outsourcing signcryption and outsourcing designcryption simultaneously. The results in Table 3 indicates that our proposed scheme is more efficient in comparison with other schemes, since heavy computations are offloaded to the third party whose computation processing power is immense. As far as we know, our proposed VFOABSC scheme is the first ABSC scheme in literature that realizes fully outsourcing of expensive computations and therefore possesses promising and desirable properties applicable to resource-constrained IoT devices. Furthermore, similar to [25,29,31,56,57] our scheme adopted monotone span program rich in flexible expressions. Previous existing works [51,52,53] were constructed under threshold policy which is coarse-grained in nature and supports simple predicates and therefore do not have wider applications. Table 4 describes storage cost comparisons. Similar to schemes [31,56,57] our scheme has equal length size of private key and signing key which is slightly smaller in comparison with the sizes of other schemes. Scheme [29] has larger ciphertext size compared to other schemes. Scheme [25] do not have local signcryption computations. Abundant computation overhead is outsourced. Our scheme outsources majority of signcryption computations and therefore suffers less local computations costs compared to [29].
Scheme | Security | ||||
Authentication | Privacy | Confidentiality | Public verifiability | Unforgeability | |
[25] | √ | √ | √ | √ | √ |
[29] | √ | √ | √ | √ | √ |
[31] | √ | √ | √ | √ | √ |
[51] | √ | × | √ | × | √ |
[52] | × | × | √ | × | √ |
[53] | √ | × | √ | × | √ |
[56] | × | × | × | √ | √ |
[57] | √ | √ | √ | √ | √ |
Ours | √ | √ | √ | √ | √ |
Abbreviations: √: supports functionality. ×: Do not support functionality. |
Scheme | OKG | OKV | SM | OS | OD | AS |
[25] | No | No | Selective | No | No | Monotone span program |
[29] | No | No | Selective | Yes | Yes | Monotone span program |
[31] | No | No | Selective | No | Yes | Monotone span program |
[51] | No | No | Selective | No | No | Threshold policy |
[52] | No | No | Selective | No | No | Threshold structure |
[53] | No | No | Selective | No | No | Threshold policy |
[56] | No | No | Selective | No | No | Monotone span program |
[57] | No | No | Selective | No | No | Monotone span program |
Ours | Yes | Yes | Selective | Yes | Yes | Monotone span program |
Abbreviations: OKG: Outsourced key generation, OKV: Outsourced key verification, SM: Security Model, OS: Outsourced signcryption, OD: Outsourced designcryption, AS: Access Structure. |
Scheme | Private key size | Signing key size | Public parameter size | Ciphertext size |
[25] | (2|Ad|+2)LG | (|As|+2)LG | 10LG+LGτ | (ℓs+3ℓe)LG+(2ℓe+3)LZp |
[29] | (|U|+3)LG | (|U|+3)LG | (ℓs+5)LG | (4ℓe+ℓs+4)LG+LGτ |
[31] | (|Ad|+2)LG | (|As|+2)LG | (2n+6)LG+LGτ | 2(ℓe+ℓs+2)LG |
[51] | 3|Ad|LG | 2|As|LG | (2n+5)LG+LGτ | (ℓs+ℓe+ns+3)LG+LM |
[52] | 4(|Ad|+1)LG | 4(|As|+1)LG | (|U|+|V|+4)LG+LGτ | (|Ud|+|V|+ℓs)LG+|Sig|+LM |
[53] | 2(|Ad|+1)LG | 2(|As|+1)LG | (2n+3)LG+LGτ | (2ℓs+ℓe+1)LG |
[56] | (|Ad|+2)LG | (|As|+2)LG | 2(n+1)LG+|U|LG+LGτ | 2(ℓe+ℓs+2)LG |
[57] | (|Ad|+2)LG | (|As|+2)LG | (2n+3)LG+LGτ | (ℓs+ℓe+4)LG |
Our scheme | (|Ad|+2)LG | (|As|+2)LG | 10LG+LGτ | (ℓs+3ℓe)LG+(2ℓe+3)LZp |
Table 5 presents the computation costs comparisons of signcryption (outsourced and local) and designcryption (outsourced and local) algorithms. During signcryption operation process, the data owner in our scheme and scheme [29] borrows computation power from the cloud service provider to generate partial ciphertext that is related to encryption and signing predicates. It will then use the portion generated to compute the remaining part of ciphertext. The cost burden on the data owner side reduces significantly. In designcryption phase, the final user in our scheme like in [29,31], only suffers single exponentiation cost in Gτ compared to other schemes [25,51,52,53,56,57].
Scheme | Outsourced signcryption/OFL cost | Local signcryption/ONL cost | Outsourced designcryption/OFL cost | Local designcryption/ONL cost |
[25] | (5ℓe+4ℓs+6)E1+E2 | — | — | (3ℓe+2ℓs+2)P+E2 |
[29] | (3ℓe+4ℓs)E1 | (ℓs+7)E1+E2 | 3ℓeE1+ℓeE2+(2ℓe+1)P | E2 |
[31] | None | (2ℓe+4ℓs+6)E1 | (ℓe+ℓs+2)E1+ℓeE2+(3ℓs+2)P | (\ell_s+2)\mathcal{E}_1+\mathcal{P} |
[51] | None | (\ell_e+\ell_s+4)\mathcal{E}_1 | None | \mathcal{E}_2+(2\ell_e+\ell_s+1)\mathcal{P} |
[52] | None | (2\ell_e+3\ell_s+1)\mathcal{E}_1+\mathcal{E}_2 | None | (4\ell_e+2\ell_s+3)\mathcal{P} |
[53] | None | (\ell_e+2\ell_s+2)\mathcal{E}_1+\mathcal{E}_2 | None | (2\ell_e+2\ell_s+1)\mathcal{P} |
[56] | None | (2\ell_e+3\ell_s+3)\mathcal{E}_1+\mathcal{P} | None | (2\ell_e+3\ell_s+4)\mathcal{P} |
[57] | None | (2\ell_e+4\ell_s+6)\mathcal{E}_1 | None | (2\ell_e+\ell_s+3)\mathcal{E}_1+(2\ell_e+\ell_s+5)\mathcal{P} |
Our scheme | (5\ell_e+4\ell_s+1)\mathcal{E}_1 | (\ell_s+3)\mathcal{E}_1+\mathcal{E}_2 | (6\ell_e+4)\mathcal{E}_1+(2\ell_e+3)\mathcal{P} | \mathcal{E}_2 |
For computation efficiency comparisons, we implemented our experiment using Stanford Pairing-Based Crypto (PBC) library [63] in VC++ 6.0. A laptop equipped with 2.67GHz Intel Core i3-M390 CPU and 8GB RAM executing in 64-bit Windows 10 operating system is used in our implementation. The size of \mathcal{G} and \mathbb{Z}_p is set to 64B (i.e 512 bits) whereas the size of \mathcal{G}_\tau is set to 128B (i.e 1024 bits). Moreover, we adopted type A bilinear [63], in this case we employed supersingular curve y^2 = x^3 + x defined when supplying ECC group. From the above stated settings, we obtained the results as shown in Table 7. Notation T_{\mathcal{E}_1} denotes exponentiation computation time in \mathcal{G}, T_{\mathcal{E}_2} denotes exponentiation computation time in \mathcal{G}_\tau while T_\mathcal{P} denotes pairing computation time. In Table 6 we make comparison of the execution time for both outsourced and local signcryption and outsourced and local designcryption of our scheme against schemes [25,29,31,51,52,53,56,57] by utilizing 10 and 20 number of attributes (in both signing and encryption predicates). Analyzing from the output, our scheme compared to others takes minimal execution time in running both local signcryption (164.52 ms) and local designcryption (3.68 ms) by employing 10 number of attributes (in both signing and encryption predicates) and (288.24 ms) and (3.68 ms) respectively for 20 number of attributes (in both signing and encryption predicates). This is because we outsourced expensive computation to the cloud server. Figure 5 and Figure 6 shows the corresponding graphs of signcryption (both outsourced and local) and designcryption (both outsourced and local) respectively for 10 number of attributes (in both signing and encryption predicates) while Figure 7 and Figure 8 presents the corresponding graphs of signcryption (both outsourced and local) and designcryption (both outsourced and local) respectively using size of 20 attributes (in both encryption and signing predicates). Therefore from the indicated results, our proposed scheme surpass those of the existing schemes in terms of computation overhead while at the same time achieving the desired security goals.
Scheme | \ell_e=10, \ell_s=10 | \ell_e=20, \ell_s=20 | |||||||||
Signcryption execution time (ms) | Designcryption execution time (ms) | Signcryption execution time (ms) | Designcryption execution time (ms) | ||||||||
Outsourced | Local | Outsourced | Local | Outsourced | Local | Outsourced | Local | ||||
[25] | 1191.40 | — | — | 1286.90 | 2304.89 | — | — | 2520.76 | |||
[29] | 866.05 | 214.01 | 926.19 | 3.68 | 1732.09 | 337.73 | 1827.71 | 3.68 | |||
[31] | — | 816.56 | 1098.66 | 173.14 | — | 1558.88 | 2123.23 | 296.86 | |||
[51] | — | 296.93 | — | 768.67 | — | 544.37 | — | 1508.99 | |||
[52] | — | 634.66 | — | 1554.66 | — | 1253.26 | — | 3035.30 | |||
[53] | — | 399.59 | — | 1011.77 | — | 770.75 | — | 1998.85 | |||
[56] | — | 680.40 | — | 1332.57 | — | 1299.00 | — | 2566.43 | |||
[57] | — | 816.56 | — | 1271.98 | — | 1558.88 | — | 2383.46 | |||
Ours | 1125.86 | 164.52 | 1359.39 | 3.68 | 2239.35 | 288.24 | 2595.26 | 3.68 |
Operation | Notation | Time computation (in ms) |
Exponentiation in \mathcal{G} | T_{\mathcal{E}_1} | 12.372094 |
Exponentiation in \mathcal{G}_\tau | T_{\mathcal{E}_2} | 3.680760 |
Bilinear Pairing | T_\mathcal{P} | 24.677217 |
This paper proposed ABSC scheme that is fully outsourced which as far as we know is the first work in literature that is fully outsourced. The scheme alleviates burden from IoT devices with limited resources and therefore improves computation efficiency without jeopardizing data owner's privacy. To realize this, we enhanced the scheme due to Rao [25] where we offloaded complex computations such as pairing and exponentiations operations to the cloud to make use of available abundant and scalable resources. Simple remaining computations is executed by respective IoT device user. In addition, our scheme supports confidentiality, fine-grained access control, unforgeability, public privacy, authentication and public verifiability properties. We also presented security proof to demonstrate that our proposed scheme is CPA-secure. Moreover, the simulation output indicates that our proposed scheme is efficient and therefore applicable to resource-constrained IoT devices due to limited storage capacity and lower computation power.
Our future work will include building provably secure fully outsourced ABSC scheme that supports policy updating in IoT devices while at the same time achieving CCA2 security.
The authors appreciate the work done by anonymous reviewers and their valuable comments. This work was supported by National Natural Science Foundation of China under Grant No. 61602097, Sichuan Science-Technology Support Plan Program under Grant Nos. 2016GZ0065, 2016ZC2575 and 17ZA0322, Fundamental Research Funds for the Central Universities under Grant No. ZYGX2015J072.
All authors declare that there is no conflicts of interest in this paper.
[1] | P. Yuan, W. Li, S. Ren, H. Xu, Recognition for flower type and variety of chrysanthemum with convolutional neural network, Trans. Chin. Soc. Agric. Eng., 34 (2018), 152-158. |
[2] | G. Xuan, Y. Zhao, Q. Xiong, Z. Chen, Identification of Tree Species Based on Transfer Learning, For. Eng., 35 (2019), 68-75. |
[3] |
X. Zhu, M. Zhu, H. Ren, Method of plant leaf recognition based on improved deep convolutional neural network, Cognit. Syst. Res., 52 (2018), 223-233. doi: 10.1016/j.cogsys.2018.06.008
![]() |
[4] | H. Feng, M. Hu, Y. Yang, K. Xia, Tree Species Recognition Based on Overall Tree Image and Ensemble of Transfer Learning, Trans. Chin. Soc. Agric. Mach., 8 (2019), 235-279. |
[5] | L. Bi, Plant species recognition based on leaf image algorithm, Acta Agric. Zhejiangensis, 29 (2017), 2142-2148. |
[6] | P. Mittal, M. Kansal, H. K. Jhajj, Combined Classifier for Plant Classification and Identification from Leaf Image Based on Visual Attributes, 2018 International Conference on Intelligent Circuits and Systems, 2018. Available from: https://ieeexplore.ieee.org/abstract/document/8479567. |
[7] |
M. Kumar, S. Gupta, X. Gao, A. Singh, Plant Species Recognition Using Morphological Features and Adaptive Boosting Methodology, IEEE Access, 7 (2019), 163912-163918. doi: 10.1109/ACCESS.2019.2952176
![]() |
[8] |
N. Liu, J. Kan, Improved deep belief networks and multi-feature fusion for leaf identification, Neurocomputing, 216 (2016), 460-467. doi: 10.1016/j.neucom.2016.08.005
![]() |
[9] | X. Zhang, Y. Liu, H. Lin, Y. Liu, Research on SVM Plant Leaf Identification Method Based on CSA, International Conference of Pioneering Computer Scientists, Engineers and Educators, 2016. Available from: https://link.springer.com/chapter/10.1007/978-981-10-2098-8_20. |
[10] | T. P. Kumar, M. V. P. Reddy, P. K. Bora, Leaf Identification Using Shape and Texture Features, Proceedings of international conference on computer vision and image processing, 2017. Available from: https://link.springer.com/chapter/10.1007/978-981-10-2107-7_48. |
[11] | S. Boudra, I. Yahiaoui, A. Behloul, Statistical Radial Binary Patterns (SRBP) for Bark Texture Identification, International Conference on Advanced Concepts for Intelligent Vision Systems, 2017. Available from: https://link.springer.com/chapter/10.1007/978-3-319-70353-4_9. |
[12] | J. Chaki, R. Parekh, S. Bhattacharya, Plant leaf classification using multiple descriptors: A hierarchical approach, J. King Saud Univ., 2018 (2018). |
[13] | J. Chaki, N. Dey, L. Moraru, F. Shi, Fragmented plant leaf recognition: Bag-of-features, fuzzy-color and edge-texture histogram descriptors with multi-layer perceptron. Optik, 181 (2019), 639-650. |
[14] | S. L. Pimm, S. Alibhai, R. Berg, A. Dehgan, C. Giri, Z. Jewell, et al., Emerging technologies to conserve biodiversity. Trends. Ecol. Evol., 30 (2015), 685-696. |
[15] | M. Carpentier, P. Giguère, J. Gaudreault, Tree Species Identification from Bark Images Using Convolutional Neural Networks, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2018. Available from: https://ieeexplore.ieee.org/abstract/document/8593514/. |
[16] | J. Zheng, X. Wang, T. Wang, Research on image recognition of five bark texture images based on deep learning, J. Beijing For. Univ., 41 (2019), 150-158. |
[17] | S. Razavi, H. Yalcin, Using convolutional neural networks for plant classification, 2017 25th Signal Processing and Communications Applications Conference, 2017. Available from: https://ieeexplore.ieee.org/abstract/document/7960654. |
[18] | H. Zhou, C. Yan, H. Huang, Tree Species Identification Based on Convolutional Neural Network, 2016 8th International Conference on Intelligent Human-Machine Systems and Cybernetics (IHMSC), 2016. Available from: https://ieeexplore.ieee.org/abstract/document/7783797/. |
[19] | X. Zhang, J. Chen, J. ZhuGe, L. Yu, Deep Learning Based Fast Plant Image Recognition, J. East China Univ. Sci. Technol., 44 (2018), 105-113. |
[20] | H. Zhang, G. He, J. Peng, Z. Kuang, J. Fan, Deep Learning of Path-Based Tree Classifiers for Large-Scale Plant Species Identification, 2018 IEEE Conference on Multimedia Information Processing and Retrieval (MIPR), 2018. Available from: https://ieeexplore.ieee.org/abstract/document/8396969. |
[21] | P. Guo, Q. Gao, A multi-organ plant identification method using convolutional neural networks, 2017 8th IEEE International Conference on Software Engineering and Service Science (ICSESS), 2017. Available from: https://ieeexplore.ieee.org/abstract/document/8342935. |
[22] |
S. Bertrand, R. B. Ameur, G. Cerutti, D. Coquin, L. Valet, L. Tougne, Bark and leaf fusion systems to improve automatic tree species recognition, Ecol. Inform., 46 (2018), 57-73. doi: 10.1016/j.ecoinf.2018.05.007
![]() |
[23] | M. Rzanny, P. Mä der, A. Deggelmann, M. Chen, J. Wä ldchen, Flowers, leaves or both? How to obtain suitable images for automated plant identification, Plant Methods, 15 (2019), 77. |
[24] | H. Goë au, P. Bonnet, A. Joly, V. Bakić, J. Barbe, I. Yahiaoui, et al., Pl@ntNet mobile app, Proceedings of the 21st ACM international conference on Multimedia, 2013. Available from: https://dl.acm.org/doi/abs/10.1145/2502081.2502251. |
[25] | iNaturalist, https://www.inaturalist.org/, Accessed 15 July 2019. |
[26] | J. Champ, T. Lorieul, M. Servajean, A. Joly, A comparative study of fine-grained classification methods in the context of the LifeCLEF plant identification challenge 2015, CLEF, 2015 (2015). |
[27] |
S. H. Lee, C. S. Chan, P. Remagnino, Multi-organ plant classification based on convolutional and recurrent neural networks, IEEE Trans. Image Process., 27 (2018), 4287-4301. doi: 10.1109/TIP.2018.2836321
![]() |
[28] | A. Joly, P. Bonnet, H. Goë au, J. Barbe, S. Selmi, J. Champ, et al., A look inside the pl@ntnet experience, Multimed Syst., 22 (2016), 751-766. |
[29] | K. He, X. Zhang, S. Ren, J. Sun, Deep residual learning for image recognition, Proceedings of the IEEE conference on computer vision and pattern recognition, 2016. Available from: http://openaccess.thecvf.com/content_cvpr_2016/. |
[30] | G. Huang, Z. Liu, L. Maaten, K. Q. Weinberger, Densely connected convolutional networks, Proceedings of the IEEE conference on computer vision and pattern recognition, 2017. Available from: http://openaccess.thecvf.com/content_cvpr_2017/. |
[31] | W. B. Liu, Z. Y. Zou, W. W. Xing, Feature Fusion Methods in Pattern Classification, J. Beijing Univ. Posts Telecommun., 4 (2017), 5-12. |
[32] | A He, X Tian, Multi-organ plant identification with multi-column deep convolutional neural networks, 2016 IEEE international conference on systems, man, and cybernetics (SMC), 2016. Available from: https://ieeexplore.ieee.org/abstract/document/7844537. |
1. | Shenglan Xie, Peng Zhu, Superconvergence of a WG method for the Stokes equations with continuous pressure, 2022, 179, 01689274, 27, 10.1016/j.apnum.2022.04.012 | |
2. | Xiu Ye, Shangyou Zhang, A conforming discontinuous Galerkin finite element method for the Stokes problem on polytopal meshes, 2021, 93, 0271-2091, 1913, 10.1002/fld.4959 | |
3. | Naresh Kumar, Bhupen Deka, A stabilizer free weak Galerkin finite element method for second‐order Sobolev equation, 2022, 0749-159X, 10.1002/num.22960 | |
4. | Chunmei Wang, Shangyou Zhang, A weak Galerkin method for elasticity interface problems, 2023, 419, 03770427, 114726, 10.1016/j.cam.2022.114726 | |
5. | Naresh Kumar, Bhupen Deka, Developing Stabilizer Free Weak Galerkin finite element method for second-order wave equation, 2022, 415, 03770427, 114457, 10.1016/j.cam.2022.114457 | |
6. | Naresh Kumar, Supercloseness analysis of a stabilizer-free weak Galerkin finite element method for viscoelastic wave equations with variable coefficients, 2023, 49, 1019-7168, 10.1007/s10444-023-10010-w | |
7. | Xuejun Xu, Xiu Ye, Shangyou Zhang, A macro BDM H-div mixed finite element on polygonal and polyhedral meshes, 2024, 206, 01689274, 283, 10.1016/j.apnum.2024.08.013 | |
8. | Xiu Ye, Shangyou Zhang, Two-Order Superconvergent CDG Finite Element Method for the Heat Equation on Triangular and Tetrahedral Meshes, 2024, 2096-6385, 10.1007/s42967-024-00444-4 | |
9. | Rodolfo Araya, Cristian Cárcamo, Abner H. Poza, Eduardo Vino, An adaptive stabilized finite element method for the Stokes–Darcy coupled problem, 2024, 443, 03770427, 115753, 10.1016/j.cam.2024.115753 | |
10. | Xiu Ye, Shangyou Zhang, An H-div finite element method for the Stokes equations on polytopal meshes, 2024, 43, 2238-3603, 10.1007/s40314-024-02695-6 | |
11. | Yanping Lin, Xuejun Xu, Shangyou Zhang, Superconvergent P1 honeycomb virtual elements and lifted P3 solutions, 2024, 61, 0008-0624, 10.1007/s10092-024-00618-9 | |
12. | Xiu Ye, Shangyou Zhang, Constructing a CDG Finite Element with Order Two Superconvergence on Rectangular Meshes, 2023, 2096-6385, 10.1007/s42967-023-00330-5 | |
13. | Chunmei Wang, Xiu Ye, Shangyou Zhang, A modified weak Galerkin finite element method for the Maxwell equations on polyhedral meshes, 2024, 448, 03770427, 115918, 10.1016/j.cam.2024.115918 | |
14. | Shangyou Zhang, Peng Zhu, BDM H(div) weak Galerkin finite element methods for Stokes equations, 2024, 197, 01689274, 307, 10.1016/j.apnum.2023.11.021 | |
15. | Junping Wang, Xiaoshen Wang, Xiu Ye, Shangyou Zhang, Peng Zhu, On the superconvergence of a WG method for the elliptic problem with variable coefficients, 2024, 67, 1674-7283, 1899, 10.1007/s11425-022-2097-8 | |
16. | Yufeng Nie, Xiu Ye, Shangyou Zhang, A Potential-Robust WG Finite Element Method for the Maxwell Equations on Tetrahedral Meshes, 2025, 1609-4840, 10.1515/cmam-2024-0144 |
ACRONYM | DESCRIPTION |
OKGSP_s | Outsource Key Generation Service Provider (signing) |
OKGSP_d | Outsource Key Generation Service Provider (decryption) |
OSSP | Outsourcing Signcryption Service Provider |
ODSP | Outsource Designcryption Service Provider |
OVSP_s | Outsource Verification Service Provider (signing) |
OVSP_d | Outsource Verification Service Provider (decryption) |
TAA | Trusted Attribute Authority |
A_s (resp. A_d ) | Signing attributes (resp. Encryption attributes) |
ICT | Intermediate cipherText |
SCT | CipherText |
SCT^\prime | partially decrypted ciphertext |
MSK | Master Key |
MSK_{OKGSP_s} | Outsourced signing master key |
MSK_{OKGSP_d} | Outsourced decryption master key |
MSK_{TAA_s} | Local signing master key |
MSK_{TAA_d} | Local decryption master key |
PP | public parameters |
SK_{A_s} (resp. SK_{A_d} ) | Private Signing Key(resp. Private decryption Key) |
ISK_s | Intermediate Secret Key(signing) |
ISK_d | Intermediate Secret Key(decryption) |
TSK_{A_s} | Transformation Secret key (signing) |
TSK_{A_d} | Transformation Secret key (decryption) |
RSK{A_s} | Local signcryption signing key. |
RSK{A_d} | Retrieval key used during local designcryption |
\oplus | An exclusive-OR(XOR) |
H_1, H_2, H_3, H_s | Four hash functions |
Scheme | Security | ||||
Authentication | Privacy | Confidentiality | Public verifiability | Unforgeability | |
[25] | √ | √ | √ | √ | √ |
[29] | √ | √ | √ | √ | √ |
[31] | √ | √ | √ | √ | √ |
[51] | √ | × | √ | × | √ |
[52] | × | × | √ | × | √ |
[53] | √ | × | √ | × | √ |
[56] | × | × | × | √ | √ |
[57] | √ | √ | √ | √ | √ |
Ours | √ | √ | √ | √ | √ |
Abbreviations: √: supports functionality. ×: Do not support functionality. |
Scheme | OKG | OKV | SM | OS | OD | AS |
[25] | No | No | Selective | No | No | Monotone span program |
[29] | No | No | Selective | Yes | Yes | Monotone span program |
[31] | No | No | Selective | No | Yes | Monotone span program |
[51] | No | No | Selective | No | No | Threshold policy |
[52] | No | No | Selective | No | No | Threshold structure |
[53] | No | No | Selective | No | No | Threshold policy |
[56] | No | No | Selective | No | No | Monotone span program |
[57] | No | No | Selective | No | No | Monotone span program |
Ours | Yes | Yes | Selective | Yes | Yes | Monotone span program |
Abbreviations: OKG: Outsourced key generation, OKV: Outsourced key verification, SM: Security Model, OS: Outsourced signcryption, OD: Outsourced designcryption, AS: Access Structure. |
Scheme | Private key size | Signing key size | Public parameter size | Ciphertext size |
[25] | (2|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | 10L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+3\ell_e)L_\mathcal{G}+(2\ell_e+3)L_{\mathbb{Z}_p} |
[29] | (|U|+3)L_\mathcal{G} | (|U|+3)L_\mathcal{G} | (\ell_s+5)L_\mathcal{G} | (4\ell_e+\ell_s+4)L_\mathcal{G}+L_{\mathcal{G}_\tau} |
[31] | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | (2n+6)L_\mathcal{G}+L_{\mathcal{G}_\tau} | 2(\ell_e+\ell_s+2)L_\mathcal{G} |
[51] | 3 |A_d|L_\mathcal{G} | 2 |A_s|L_\mathcal{G} | (2n+5)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+\ell_e+n_s+3)L_\mathcal{G}+L_M |
[52] | 4 (|A_d|+1)L_\mathcal{G} | 4 (|A_s|+1)L_\mathcal{G} | (|U|+|V|+4)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (|U_d|+|V|+\ell_s)L_\mathcal{G}+|Sig|+L_M |
[53] | 2(|A_d|+1)L_\mathcal{G} | 2(|A_s|+1)L_\mathcal{G} | (2n+3)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (2\ell_s+\ell_e+1)L_\mathcal{G} |
[56] | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | 2(n+1)L_\mathcal{G}+|U|L_\mathcal{G}+L_{\mathcal{G}_\tau} | 2(\ell_e+\ell_s+2)L_\mathcal{G} |
[57] | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | (2n+3)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+\ell_e+4)L_\mathcal{G} |
Our scheme | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | 10 L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+3\ell_e)L_\mathcal{G}+(2\ell_e+3)L_{\mathbb{Z}_p} |
Scheme | Outsourced signcryption/OFL cost | Local signcryption/ONL cost | Outsourced designcryption/OFL cost | Local designcryption/ONL cost |
[25] | (5\ell_e+4\ell_s+6)\mathcal{E}_1+\mathcal{E}_2 | — | — | (3\ell_e+2\ell_s+2)\mathcal{P}+\mathcal{E}_2 |
[29] | (3\ell_e+4\ell_s)\mathcal{E}_1 | (\ell_s+7)\mathcal{E}_1+\mathcal{E}_2 | 3\ell_e\mathcal{E}_1+\ell_e\mathcal{E}_2+(2\ell_e+1)\mathcal{P} | \mathcal{E}_2 |
[31] | None | (2\ell_e+4\ell_s+6)\mathcal{E}_1 | (\ell_e+\ell_s+2)\mathcal{E}_1+\ell_e\mathcal{E}_2+(3\ell_s+2)\mathcal{P} | (\ell_s+2)\mathcal{E}_1+\mathcal{P} |
[51] | None | (\ell_e+\ell_s+4)\mathcal{E}_1 | None | \mathcal{E}_2+(2\ell_e+\ell_s+1)\mathcal{P} |
[52] | None | (2\ell_e+3\ell_s+1)\mathcal{E}_1+\mathcal{E}_2 | None | (4\ell_e+2\ell_s+3)\mathcal{P} |
[53] | None | (\ell_e+2\ell_s+2)\mathcal{E}_1+\mathcal{E}_2 | None | (2\ell_e+2\ell_s+1)\mathcal{P} |
[56] | None | (2\ell_e+3\ell_s+3)\mathcal{E}_1+\mathcal{P} | None | (2\ell_e+3\ell_s+4)\mathcal{P} |
[57] | None | (2\ell_e+4\ell_s+6)\mathcal{E}_1 | None | (2\ell_e+\ell_s+3)\mathcal{E}_1+(2\ell_e+\ell_s+5)\mathcal{P} |
Our scheme | (5\ell_e+4\ell_s+1)\mathcal{E}_1 | (\ell_s+3)\mathcal{E}_1+\mathcal{E}_2 | (6\ell_e+4)\mathcal{E}_1+(2\ell_e+3)\mathcal{P} | \mathcal{E}_2 |
Scheme | \ell_e=10, \ell_s=10 | \ell_e=20, \ell_s=20 | |||||||||
Signcryption execution time (ms) | Designcryption execution time (ms) | Signcryption execution time (ms) | Designcryption execution time (ms) | ||||||||
Outsourced | Local | Outsourced | Local | Outsourced | Local | Outsourced | Local | ||||
[25] | 1191.40 | — | — | 1286.90 | 2304.89 | — | — | 2520.76 | |||
[29] | 866.05 | 214.01 | 926.19 | 3.68 | 1732.09 | 337.73 | 1827.71 | 3.68 | |||
[31] | — | 816.56 | 1098.66 | 173.14 | — | 1558.88 | 2123.23 | 296.86 | |||
[51] | — | 296.93 | — | 768.67 | — | 544.37 | — | 1508.99 | |||
[52] | — | 634.66 | — | 1554.66 | — | 1253.26 | — | 3035.30 | |||
[53] | — | 399.59 | — | 1011.77 | — | 770.75 | — | 1998.85 | |||
[56] | — | 680.40 | — | 1332.57 | — | 1299.00 | — | 2566.43 | |||
[57] | — | 816.56 | — | 1271.98 | — | 1558.88 | — | 2383.46 | |||
Ours | 1125.86 | 164.52 | 1359.39 | 3.68 | 2239.35 | 288.24 | 2595.26 | 3.68 |
Operation | Notation | Time computation (in ms) |
Exponentiation in \mathcal{G} | T_{\mathcal{E}_1} | 12.372094 |
Exponentiation in \mathcal{G}_\tau | T_{\mathcal{E}_2} | 3.680760 |
Bilinear Pairing | T_\mathcal{P} | 24.677217 |
ACRONYM | DESCRIPTION |
OKGSP_s | Outsource Key Generation Service Provider (signing) |
OKGSP_d | Outsource Key Generation Service Provider (decryption) |
OSSP | Outsourcing Signcryption Service Provider |
ODSP | Outsource Designcryption Service Provider |
OVSP_s | Outsource Verification Service Provider (signing) |
OVSP_d | Outsource Verification Service Provider (decryption) |
TAA | Trusted Attribute Authority |
A_s (resp. A_d ) | Signing attributes (resp. Encryption attributes) |
ICT | Intermediate cipherText |
SCT | CipherText |
SCT^\prime | partially decrypted ciphertext |
MSK | Master Key |
MSK_{OKGSP_s} | Outsourced signing master key |
MSK_{OKGSP_d} | Outsourced decryption master key |
MSK_{TAA_s} | Local signing master key |
MSK_{TAA_d} | Local decryption master key |
PP | public parameters |
SK_{A_s} (resp. SK_{A_d} ) | Private Signing Key(resp. Private decryption Key) |
ISK_s | Intermediate Secret Key(signing) |
ISK_d | Intermediate Secret Key(decryption) |
TSK_{A_s} | Transformation Secret key (signing) |
TSK_{A_d} | Transformation Secret key (decryption) |
RSK{A_s} | Local signcryption signing key. |
RSK{A_d} | Retrieval key used during local designcryption |
\oplus | An exclusive-OR(XOR) |
H_1, H_2, H_3, H_s | Four hash functions |
Scheme | Security | ||||
Authentication | Privacy | Confidentiality | Public verifiability | Unforgeability | |
[25] | √ | √ | √ | √ | √ |
[29] | √ | √ | √ | √ | √ |
[31] | √ | √ | √ | √ | √ |
[51] | √ | × | √ | × | √ |
[52] | × | × | √ | × | √ |
[53] | √ | × | √ | × | √ |
[56] | × | × | × | √ | √ |
[57] | √ | √ | √ | √ | √ |
Ours | √ | √ | √ | √ | √ |
Abbreviations: √: supports functionality. ×: Do not support functionality. |
Scheme | OKG | OKV | SM | OS | OD | AS |
[25] | No | No | Selective | No | No | Monotone span program |
[29] | No | No | Selective | Yes | Yes | Monotone span program |
[31] | No | No | Selective | No | Yes | Monotone span program |
[51] | No | No | Selective | No | No | Threshold policy |
[52] | No | No | Selective | No | No | Threshold structure |
[53] | No | No | Selective | No | No | Threshold policy |
[56] | No | No | Selective | No | No | Monotone span program |
[57] | No | No | Selective | No | No | Monotone span program |
Ours | Yes | Yes | Selective | Yes | Yes | Monotone span program |
Abbreviations: OKG: Outsourced key generation, OKV: Outsourced key verification, SM: Security Model, OS: Outsourced signcryption, OD: Outsourced designcryption, AS: Access Structure. |
Scheme | Private key size | Signing key size | Public parameter size | Ciphertext size |
[25] | (2|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | 10L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+3\ell_e)L_\mathcal{G}+(2\ell_e+3)L_{\mathbb{Z}_p} |
[29] | (|U|+3)L_\mathcal{G} | (|U|+3)L_\mathcal{G} | (\ell_s+5)L_\mathcal{G} | (4\ell_e+\ell_s+4)L_\mathcal{G}+L_{\mathcal{G}_\tau} |
[31] | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | (2n+6)L_\mathcal{G}+L_{\mathcal{G}_\tau} | 2(\ell_e+\ell_s+2)L_\mathcal{G} |
[51] | 3 |A_d|L_\mathcal{G} | 2 |A_s|L_\mathcal{G} | (2n+5)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+\ell_e+n_s+3)L_\mathcal{G}+L_M |
[52] | 4 (|A_d|+1)L_\mathcal{G} | 4 (|A_s|+1)L_\mathcal{G} | (|U|+|V|+4)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (|U_d|+|V|+\ell_s)L_\mathcal{G}+|Sig|+L_M |
[53] | 2(|A_d|+1)L_\mathcal{G} | 2(|A_s|+1)L_\mathcal{G} | (2n+3)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (2\ell_s+\ell_e+1)L_\mathcal{G} |
[56] | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | 2(n+1)L_\mathcal{G}+|U|L_\mathcal{G}+L_{\mathcal{G}_\tau} | 2(\ell_e+\ell_s+2)L_\mathcal{G} |
[57] | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | (2n+3)L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+\ell_e+4)L_\mathcal{G} |
Our scheme | (|A_d|+2)L_\mathcal{G} | (|A_s|+2)L_\mathcal{G} | 10 L_\mathcal{G}+L_{\mathcal{G}_\tau} | (\ell_s+3\ell_e)L_\mathcal{G}+(2\ell_e+3)L_{\mathbb{Z}_p} |
Scheme | Outsourced signcryption/OFL cost | Local signcryption/ONL cost | Outsourced designcryption/OFL cost | Local designcryption/ONL cost |
[25] | (5\ell_e+4\ell_s+6)\mathcal{E}_1+\mathcal{E}_2 | — | — | (3\ell_e+2\ell_s+2)\mathcal{P}+\mathcal{E}_2 |
[29] | (3\ell_e+4\ell_s)\mathcal{E}_1 | (\ell_s+7)\mathcal{E}_1+\mathcal{E}_2 | 3\ell_e\mathcal{E}_1+\ell_e\mathcal{E}_2+(2\ell_e+1)\mathcal{P} | \mathcal{E}_2 |
[31] | None | (2\ell_e+4\ell_s+6)\mathcal{E}_1 | (\ell_e+\ell_s+2)\mathcal{E}_1+\ell_e\mathcal{E}_2+(3\ell_s+2)\mathcal{P} | (\ell_s+2)\mathcal{E}_1+\mathcal{P} |
[51] | None | (\ell_e+\ell_s+4)\mathcal{E}_1 | None | \mathcal{E}_2+(2\ell_e+\ell_s+1)\mathcal{P} |
[52] | None | (2\ell_e+3\ell_s+1)\mathcal{E}_1+\mathcal{E}_2 | None | (4\ell_e+2\ell_s+3)\mathcal{P} |
[53] | None | (\ell_e+2\ell_s+2)\mathcal{E}_1+\mathcal{E}_2 | None | (2\ell_e+2\ell_s+1)\mathcal{P} |
[56] | None | (2\ell_e+3\ell_s+3)\mathcal{E}_1+\mathcal{P} | None | (2\ell_e+3\ell_s+4)\mathcal{P} |
[57] | None | (2\ell_e+4\ell_s+6)\mathcal{E}_1 | None | (2\ell_e+\ell_s+3)\mathcal{E}_1+(2\ell_e+\ell_s+5)\mathcal{P} |
Our scheme | (5\ell_e+4\ell_s+1)\mathcal{E}_1 | (\ell_s+3)\mathcal{E}_1+\mathcal{E}_2 | (6\ell_e+4)\mathcal{E}_1+(2\ell_e+3)\mathcal{P} | \mathcal{E}_2 |
Scheme | \ell_e=10, \ell_s=10 | \ell_e=20, \ell_s=20 | |||||||||
Signcryption execution time (ms) | Designcryption execution time (ms) | Signcryption execution time (ms) | Designcryption execution time (ms) | ||||||||
Outsourced | Local | Outsourced | Local | Outsourced | Local | Outsourced | Local | ||||
[25] | 1191.40 | — | — | 1286.90 | 2304.89 | — | — | 2520.76 | |||
[29] | 866.05 | 214.01 | 926.19 | 3.68 | 1732.09 | 337.73 | 1827.71 | 3.68 | |||
[31] | — | 816.56 | 1098.66 | 173.14 | — | 1558.88 | 2123.23 | 296.86 | |||
[51] | — | 296.93 | — | 768.67 | — | 544.37 | — | 1508.99 | |||
[52] | — | 634.66 | — | 1554.66 | — | 1253.26 | — | 3035.30 | |||
[53] | — | 399.59 | — | 1011.77 | — | 770.75 | — | 1998.85 | |||
[56] | — | 680.40 | — | 1332.57 | — | 1299.00 | — | 2566.43 | |||
[57] | — | 816.56 | — | 1271.98 | — | 1558.88 | — | 2383.46 | |||
Ours | 1125.86 | 164.52 | 1359.39 | 3.68 | 2239.35 | 288.24 | 2595.26 | 3.68 |
Operation | Notation | Time computation (in ms) |
Exponentiation in \mathcal{G} | T_{\mathcal{E}_1} | 12.372094 |
Exponentiation in \mathcal{G}_\tau | T_{\mathcal{E}_2} | 3.680760 |
Bilinear Pairing | T_\mathcal{P} | 24.677217 |