<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>Real-Time Digital Signatures for Time-Critical Networks</title></titleStmt>
			<publicationStmt>
				<publisher></publisher>
				<date>11/01/2017</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10047623</idno>
					<idno type="doi">10.1109/TIFS.2017.2716911</idno>
					<title level='j'>IEEE Transactions on Information Forensics and Security</title>
<idno>1556-6013</idno>
<biblScope unit="volume">12</biblScope>
<biblScope unit="issue">11</biblScope>					

					<author>Attila Altay Yavuz</author><author>Anand Mudgerikar</author><author>Ankush Singla</author><author>Ioannis Papapanagiotou</author><author>Elisa Bertino</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[The secure and efficient operation of time-critical networks, such as vehicular networks, smart-grid, and other smart-infrastructures, is of primary importance in today's society. It is crucial to minimize the impact of security mechanisms over such networks so that the safe and reliable operations of time-critical systems are not being interfered. For instance, if the delay introduced by the crypto operations negatively affects the time available for braking a car before a collision, the car may not be able to safely stop in time. In particular, as a primary authentication mechanism, existing digital signatures introduce a significant computation and communication overhead, and therefore are unable to fully meet the real-time processing requirements of such time-critical networks. In this paper, we introduce a new suite of real-time digital signatures referred to as Structure-free and Compact Real-time Authentication (SCRA), supported by hardware acceleration, to provide delay-aware authentication in time-critical networks. SCRA is a novel signature framework that can transform any secure aggregate signature into a signer efficient signature. We instantiate SCRA framework with condensed-RSA, BGLS, and NTRU signatures. Our analytical and experimental evaluation validates the significant performance advantages of SCRA schemes over their base signatures and the state-of-the-art schemes. Moreover, we push the performance of SCRA schemes to the edge via highly optimized implementations on vehicular capable system-on-chip as well as server-grade general purpose graphics processing units. We prove that SCRA is secure (in random oracle model) and show that SCRA can offer an ideal alternative for authentication in time-critical applications.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>infrastructures possible. Such infrastructures will usher automation in a large number of application domains such as transportation, manufacturing, smart-grid and urban life (e.g. <ref type="bibr">Smart-city)</ref>.</p><p>Because of their control capabilities and pervasive data acquisition, securing such smart-infrastructures is a critical requirement. Even though many security techniques are available, their application to smart infrastructures is not straightforward, especially when such infrastructures are based on networks that include mobile devices, and for safety reasons, they have to meet real-time requirements. We refer to such networks as time-critical networks.</p><p>An example is a vehicular network in which events from vehicles, such as sudden brake of a vehicle, have to be communicated promptly to the other vehicles in the network so that they can timely react to the events. Scalability is also crucial as many envisioned time-critical networks involve huge numbers of devices and systems. A key security technique for any comprehensive solution is represented by authentication as it is critical for establishing trust and securing communications among parties in a network. Authentication techniques have been widely investigated. However, to meet the real-time and scalability requirements of large scale time-critical networks, we need techniques that are far more efficient than the currently available ones. It is critical that devices in such a network should be able to respond and/or to initiate a large number of authentications in a small time-frame.</p><p>To address such a requirement, in this paper we develop a series of fast digital signatures, supported by hardwareacceleration, to enable real-time authentication in time-critical networks. We introduce a generic signature framework, referred to as Structure-free and Compact Real-time Authentication (SCRA), that can be instantiated with any secure aggregate signature. We then develop specific SCRA instantiations from Condensed-RSA <ref type="bibr">[30]</ref>, BGLS <ref type="bibr">[7]</ref>, NTRU <ref type="bibr">[27]</ref> and PASSSign <ref type="bibr">[18]</ref>, and demonstrate that these SCRA schemes are significantly more computationally efficient than their counterparts in modern CPUs. We also computationally parallelize SCRA across thousands lightweight threads commonly supported by modern GPUs. We use several optimizations and show that the performance can be higher compared to the performance obtained when the CPU is used. Finally, we apply similar optimizations to SoCs commonly used by car manufacturers and IoT deployments.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. State-of-the-Art Methods and Limitations</head><p>We outline the advantages and limitations of authentication mechanisms that are most relevant to our work.</p><p>1) Message Authentication Codes and Standard Digital Signatures: Symmetric crypto-based authentication mechanisms rely on Message Authentication Code (MAC) <ref type="bibr">[28]</ref>. Despite their computational efficiency, these methods are not practical for broadcast authentication in large-scale distributed systems, as they require pairwise key distribution among all signers and verifiers. They also cannot achieve non-repudiation and public verifiability. Digital signatures (e.g., RSA <ref type="bibr">[35]</ref>, ECDSA <ref type="bibr">[3]</ref>) rely on the Public Key Infrastructures (PKIs) <ref type="bibr">[28]</ref>, which makes them publicly verifiable and scalable for large systems. Hence, they are considered as a primary authentication mechanism for large-scale delayaware systems. For instance, the vehicular WAVE architecture mandates the use of PKI mechanisms to sign critical messages <ref type="bibr">[2]</ref>. Despite their scalability, standard digital signature schemes require several expensive operations such as modular exponentiation and pairing (e.g., BLS <ref type="bibr">[8]</ref>). Therefore, they are not suitable for time-critical authentication. It has been shown that they introduce significant delays, which are unacceptable in time-critical networks such as vehicular networks <ref type="bibr">[33]</ref>.</p><p>2) Delayed Key Disclosure and Amortized Signatures: Delayed key disclosure methods <ref type="bibr">[32]</ref> are efficient as they introduce an asymmetry between signer and verifier via a time factor. However, these methods require packet buffering, and therefore cannot achieve immediate verification (which is vital for delay-aware authentication). Signature amortization (e.g., <ref type="bibr">[25]</ref>) computes a signature over a set of messages instead of individual messages. Hence, the cost of signature generation and verification is amortized over multiple messages. However, these methods require packet buffering and introduce packet loss risk due to the use of hash chains.</p><p>3) Specialized Signatures: One-Time Signatures (OTSs) (e.g., <ref type="bibr">[34]</ref>) offer fast signature generation and verification. However, they incur very large signature and public key sizes, and also public keys must be renewed frequently. Various customizations of traditional signatures (along with cryptographic pairing <ref type="bibr">[8]</ref>) and OTSs for time-critical systems such as vehicular networks (e.g., <ref type="bibr">[16]</ref>) and smart-grids have been proposed. However, these schemes still suffer from computational inefficiency (due to heavy use of pairings) or public key distribution issues (OTSs).</p><p>The offline-online signatures (e.g., <ref type="bibr">[31]</ref>) pre-compute a token for each message to be signed at the offline-phase, and then use it to compute a signature on a message very efficiently at the online-phase. Despite their merits, offline-online signatures incur significant storage overhead (i.e., linear with respect to the number of messages to be signed). Moreover, they require heavy computation for applications with high message throughput, since the signer depletes pre-computed tokens rapidly and is forced to regenerate them at the onlinephase. Hence, offline-online signatures are not suitable for time-critical networks with high message throughput.</p><p>Our prior work Rapid Authentication (RA) <ref type="bibr">[41]</ref> is an efficient offline-online signature, which leverages the already available pre-defined message structures in certain applications (e.g., smart-grid) to reduce the computational and storage overhead of RSA-type offline-online constructions. Despite its advantages, RA is only suitable for applications that have a predefined message structure with a limited number of message components. Moreover, RA requires pre-computed tokens (i.e., one-time masking signatures) to be stored/renewed per item as in traditional offline-online techniques. Hardware-Accelerated Authentication (HAA) <ref type="bibr">[39]</ref> exploits hardware acceleration to speed up RA in various settings. HAA demonstrates the benefit of hardware acceleration to reduce the end-to-end delay of digital signature schemes. In particular, HAA shows the performance advantages offered by GPUs for offline-online signatures to batch regenerate tokens as they are depleted.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Our Contribution</head><p>We develop a new suite of delay-aware signatures that we refer to as Structure-Free and Compact Authentication (SCRA) to enable fast authentication for time-critical networks.</p><p>1) Main Idea: SCRA is based on the observation that the signature aggregation operation of some signature schemes is several magnitudes of times faster than that of their signature generation. We leverage this fact to shift the expensive operations of signature generation phase to the key generation phase. That is, at the key generation (offline), we compute a set of signatures on the bit-structures of a hash output domain. Later, we can combine these pre-computed signatures very efficiently based on the hash of each message without enforcing a message format (e.g., unlike <ref type="bibr">[41]</ref>) or storage/regeneration of a token per-message (e.g., unlike offline-online signatures (e.g., RA <ref type="bibr">[9]</ref>, <ref type="bibr">[41]</ref>) that incurs linear storage and re-computation overhead). This simple but elegant strategy enables SCRA to achieve very fast signature generation, a low end-to-end cryptographic delay, small-constant signature sizes with a constantsize private/public key. Figure <ref type="figure">1</ref> further outlines our main idea.</p><p>2) Properties: We outline below the relevant properties of our schemes.</p><p>&#8226; Generic and Simple Design: SCRA can be instantiated from any aggregate signature. We prove that SCRA is EU-CMA-secure if its base scheme is IA-EU-CMA secure (see Section II). We show that SCRA is at least a magnitude times faster than standard signatures as shown in Table <ref type="table">I</ref> even without optimization.</p><p>&#8226; Highly Fast Signing, Low Delay and Compactness:W e develop several instantiations of SCRA offering performance trade-offs with different computational overhead, signature and key sizes.</p><p>-SCRA-C-RSA is constructed from C-RSA <ref type="bibr">[30]</ref>, which transforms the highly costly exponentiation of RSA signing into a few modular exponentiations, followed by already efficient signature verification. Therefore, SCRA-C-RSA offers the lowest end-to-end delay among all of its counterparts (e.g., 7 and 18 times faster than ECDSA and RSA, respectively) with a signature size of standard RSA. This makes SCRA-C-RSA an ideal choice for time-critical applications with a reasonable signature size. -SCRA-BGLS is constructed from BGLS <ref type="bibr">[7]</ref>, which reduces the signing cost from an exponentiation to a few modular  It is important to mention that we use the NTRU scheme that is secure against transcript attacks <ref type="bibr">[13]</ref>. Signatures are aggregated using the lattice based aggregation technique described in <ref type="bibr">[15]</ref>. The lattice based sequential aggregate signature is proven to be secure in the random oracle security model <ref type="bibr">[4]</ref>. Due to its moderate signature and key sizes and low end-to-end delay, SCRA-NTRU is ideal for time-critical applications. -SCRA-NTRUPASS is based on the PASS <ref type="bibr">[18]</ref> signature scheme. It is also a lattice based cryptographic scheme based on the partial Fourier recovery problem.</p><p>&#8226; Performance Enhancements via Hardware-Acceleration: We improve the performance of SCRA by developing various hardware-acceleration and software-optimizations, which enable significant speed improvements (see Section VI).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. DEFINITIONS AND MODELS</head><p>We first introduce our notation and definitions, followed by our system and threat model. We then give our security model, in which we clarify the security properties of the SCRA schemes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Notation and Definition</head><p>|S| denotes the cardinality of set S. {x i } l i=0 denotes (x 0 ,..., x l ). x $ &#8592; S denotes that variable x is randomly and uniformly selected from set S. ||, |x| and {0, 1} * denote the concatenation operation, the bit length of variable x and the set of binary strings of any finite length, respectively.</p><p>Definition 1: A signature scheme SGN is a tuple of three algorithms (Kg, Sig, Ve r ) defined as follows:</p><p>-(sk, PK) &#8592; SGN.Kg(1 &#954; ): Given the security parameter 1 &#954; , the key generation algorithm returns a private/public key pair (sk, PK) as the output.</p><p>s &#8592; SGN.Sig(m, sk): The signing algorithm takes a message m &#8712;{ 0, 1} * and a private key sk as the input, and returns a signature s as the output. -{0, 1}&#8592;SGN.Ve r (m, s, PK): The verification algorithm takes a message m &#8712;{0, 1} * , signature &#963; and public key PK as the input. It returns a bit: 1 means valid and 0 means invalid. SCRA relies on aggregate signatures <ref type="bibr">[7]</ref>, which can aggregate multiple signatures into a single compact signature. SCRA uses a single-signer aggregate signature (e.g., <ref type="bibr">[30]</ref> </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. System and Threat Model</head><p>Our system model follows the traditional PKC-based broadcast authentication model (e.g., <ref type="bibr">[41]</ref>), in which a signer computes a digital signature on a message and broadcasts a message-signature pair to the verifiers. This model is compatible with our target time-critical applications. For instance, in vehicular networks, a vehicle or road infrastructure broadcasts authenticated messages to the surrounding entities as described in vehicular communication standards <ref type="bibr">[2]</ref>. Our threat model reflects how a standard digital signature-based broadcast authentication works. That is, an adversary A can observe message-signature pairs computed under a private key. A also can actively intercept, modify, inject and replay messages transmitted over the network. A aims at producing existential forgeries against the digital signatures computed by signers.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Security Model</head><p>The security notion for a signature is Existential Unforgeability under Chosen Message Attacks (EU-CMA).</p><p>Definition 3: The EU-CMA experiment for SGN is as follows:</p><p>-Setup. Algorithm B runs (sk, PK) &#8592; SGN.Kg (1 &#954; ) and provides PK to the adversary A . -Queries. A queries B on any message m j of her choice for j = 1,...,q s . B replies to each query with a signature s j &#8592; SGN.Sig(m j , sk). -Fo rge r y. A outputs a forgery (m * , s * ) and wins the EU-CMA experiment, if SGN.Ve r (PK, m * , s * ) = 1a n d m * was not queried to B . SGN is (t, q s , )-EU-CMA secure, if no A in time t making at most q s queries has an advantage with probability .</p><p>SCRA is constructed from a single-signer aggregate signature that achieves the signature immutability (described in detail below). The basic security notion for aggregate signatures is Aggregate-EU-CMA (A-EU-CMA) <ref type="bibr">[7]</ref>, <ref type="bibr">[20]</ref>, which captures the homomorphic properties of aggregate signatures. Later, the security of aggregate signatures has evolved to capture improved security properties such as signature immutability. Intuitively, signature immutability refers to the difficulty of computing new valid aggregated signatures from a set of other aggregated signatures <ref type="bibr">[29]</ref>. To describe Immutable-A-EUCMA (IA-EU-CMA) <ref type="bibr">[26]</ref>, [43] security, we first define the aggregate signature extraction argument as below.</p><p>1) Aggregate Signature Extraction: The L-aggregate signature extraction problem, referred as AE problem, means that for a given aggregate signature s &#8592; ASig.Agg(&#947; 1 ,...,&#947; L ) computed on L individual data items, it is difficult to extract the individual signatures (&#947; 1 ,...,&#947; L ) provided that only s is known to the extractor. Moreover, it is difficult to extract any aggregate signature subset s from a given aggregate signature s <ref type="bibr">[42]</ref>. The AE problem was first introduced by Boneh et al. in <ref type="bibr">[7]</ref> for the security of BGLS signatures, but as an intractability assumption without a proof. Coron and Naccache <ref type="bibr">[10]</ref> later showed that Boneh's AE problem for BGLS scheme is equivalent to the Computational Diffie Hellman Assumption (CDH) <ref type="bibr">[21]</ref>. <ref type="bibr">Yavuz et al. [43]</ref> analyzed the log truncation problem for forward-secure and aggregate signatures <ref type="bibr">[26]</ref>, and produced formal proofs with AE argument for only the DLP-based schemes <ref type="bibr">[43]</ref>. A related problem in the context of one-way accumulators for RSA have been considered in <ref type="bibr">[6]</ref>, which extends to other aggregate RSA variants (e.g., C-RSA <ref type="bibr">[29]</ref>).</p><p>Definition 4: The AE experiment for a ASig is as follows <ref type="bibr">[42]</ref>:</p><p>-Setup. Algorithm B runs (sk, PK) &#8592; ASig.Kg (1 &#954; ) and provides PK to the adversary A . -Queries. A queries B on any batch message comprised of L individual messages -&#8594; m j = (m j,1 ,...,m j,L ) of her choice for j = 1,...,q s . B replies to each query j with an aggregate signature s j &#8592; ASig.Agg(&#947; j,1 ,...,&#947; j,L ), where {&#947; j,i &#8592; ASig.Sig(m j,i , sk)</p><p>-&#8594; m * is a subset of previously queried or some combination of previously queried batch messages: &#8707;I &#8838; {1,...,q s }: -&#8594; m * &#8838;| | k&#8712;I -&#8594; m k . This implies that -&#8594; m * itself as a batch query never has been queried directly to B (but individual data items in -&#8594; m * have been queried as an element of different batch queries before, but not individually), 3. The extraction is non-trivial: If -&#8594; m * is combined with any previously queried or a combination of previously queried batch messages, the combination is not equal to one of the previously queried batch message itself:</p><p>. ASig is (t, q s , )-AE secure, if no A in time t making at most q s queries has an advantage with probability .</p><p>We now provide the definition of Immutable-A-EUCMA (IA-EU-CMA) security <ref type="bibr">[26]</ref>, [43] as below:</p><p>Definition 5: The IA-EU-CMA experiment for a ASig is as follows <ref type="bibr">[42]</ref>:</p><p>-Setup. Algorithm B runs (sk, PK) &#8592; ASig.Kg (1 &#954; ) and provides PK to the adversary A . -Queries. A queries B on any batch message comprised of L individual messages -&#8594; m j = (m j,1 ,...,m j,L ) of her choice for j = 1,...,q s . B replies to each query j with an aggregate signature s j &#8592; ASig.Agg(&#947; j,1 ,...,&#947; j,L ), where {&#947; j,i &#8592; ASig.Sig(m j,i , sk)} L i=1 . -Fo rge r y. A outputs a forgery ( -&#8594; m * ,&#947; * ) and wins the experiment IA-EU-CMA,i f 1. The forgery is valid as</p><p>-&#8594; m * is a subset of previously queried or some combination of previously queried batch messages: &#8707;I &#8838; {1,...,q s }: -&#8594; m * &#8838;|| k&#8712;I -&#8594; m k , 3. Batch query -&#8594; m * has not been queried previously as -&#8594; m * &#8838;{ -&#8594; m j } q s j =1 . This implies one of the two conditions: (i) At least one item m * &#8838; -&#8594; m * has never been queried to B , or (ii) the AE experiment wining conditions 2-3 hold as described in Definition 4. ASig is (t, q s , )-IA-EU-CMA-secure, if no A in time t making at most q s queries has an advantage at least with probability .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>III. PROPOSED SCHEMES</head><p>In this section, we present our proposed schemes. We first describe the SCRAdigital signature framework. We then provide several instantiations of the generic SCRA, each offering a unique performance benefit compared to the others.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Structure-Free and Compact Real-Time Authentication</head><p>SCRA can transform any aggregate signature into a signerefficient signature scheme, whose signing operation is as fast as just the aggregation (i.e., simple modular addition or multiplication) of a small set of pre-computed signatures. SCRA has several advantages over the state-of-the-art signatures: (i) SCRA is a magnitude(s) of times more efficient with respect to signature generation than standard signatures (e.g., RSA <ref type="bibr">[35]</ref>, ECDSA <ref type="bibr">[3]</ref>, BGLS <ref type="bibr">[7]</ref>). (ii) Unlike messageformatted signature schemes <ref type="bibr">[41]</ref>, SCRA does not require any pre-defined message formats. (iii) Unlike offline-online signatures <ref type="bibr">[31]</ref>, <ref type="bibr">[37]</ref>, <ref type="bibr">[41]</ref>, SCRA does not require linearsized token storage. (iv) SCRA offers compact signature and public key sizes, and therefore is more scalable than one-time signatures (e.g., <ref type="bibr">[34]</ref>).</p><p>The detailed description of SCRA is given in Algorithm 1. We further elaborate as follows:</p><p>Let (sk , PK ) &#8592; ASig.Kg(1 &#954; ) be a ASig key pair and H : {0, 1} * &#8594;{ 0, 1} d be an ideal hash function (i.e., H behaves as a Random Oracle (RO) <ref type="bibr">[4]</ref>), where d-bit denotes the output length of the cryptographic hash function.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>1) Key Generation (Offline):</head><p>We apply a divide-andconquer strategy over the hash output H :{ 0, 1} * &#8594;{ 0, 1} d . That is, a d-bit hash output can be interpreted as integers ( j 1 ,..., j L ), where each j i is a b-bit integer such that b &#8226; L = d. We then compute a signature on each b-bit integer j with its corresponding index i as mi, j &#8592; i || j ||P, &#947; i, j &#8592; ASig.Sig( mi, j , sk ), i = 1,...,L, j = 0,...,2 b -1, where P is a random padding. The index (i, j ) will enable the signer to select the corresponding pre-computed signature from the table in the online phase for a given message, and therefore ensure the correctness of the scheme. Moreover, the index i enforces the order of the bit chunks in the online phase.</p><p>The random padding P is added to ensure that, for practical applications, the input of hash function remains larger than d as required.</p><p>We construct a pre-computed sub-message/signature table</p><p>, which supports very efficient signature generation. is constant-size (e.g., unlike <ref type="bibr">[9]</ref>, <ref type="bibr">[31]</ref>) and imposes no structure/length constraints on the online messages to be signed (e.g., unlike <ref type="bibr">[41]</ref>).</p><p>2) Signature Generation: Given m &#8712;{ 0, 1} </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Instantiations of SCRA</head><p>An ideal aggregate signature to instantiate SCRA must achieve very efficient signature aggregation and IA-EU-CMA security. We identified three signatures to instantiate SCRA: Condensed-RSA (C-RSA) <ref type="bibr">[30]</ref> based on RSA <ref type="bibr">[35]</ref>, BGLS <ref type="bibr">[7]</ref> based on pairing and aggregate-NTRU signatures <ref type="bibr">[15]</ref>, <ref type="bibr">[36]</ref> based on NTRU <ref type="bibr">[13]</ref>. We summarize important operations of our SCRA instantiations in Algorithms 2-5. For the sake of brevity, we only give the dominant signature operations that are performed in each algorithm. The rest of the SCRA operations are as described in Algorithm 1 and are not repeated. Moreover, we only give the private/public keys of each instantiation without describing key generation steps and parameters in detail. We refer interested readers to C-RSA <ref type="bibr">[30]</ref>, BGLS <ref type="bibr">[7]</ref> and NTRU <ref type="bibr">[15]</ref>, <ref type="bibr">[36]</ref> for the details.</p><p>SCRA-C-RSA is based on Condensed-RSA (C-RSA) <ref type="bibr">[30]</ref> and therefore it obtains the highest computational efficiency benefit from SCRA among all instantiations. That is, C-RSA is by default a verifier efficient signature scheme but its signature generation is expensive (i.e., an exponentiation under a large modulo). Since the SCRA significantly reduces the signing cost, SCRA-C-RSA achieves the lowest end-to-end delay among all instantiations with a moderate signature size (e.g., 2KB RSA signature size). SCRA-C-RSA is described in Algorithm 2.</p><p>SCRA-BGLS is based the BGLS signatures <ref type="bibr">[7]</ref>, and therefore has the smallest signature/key size among all instantiations (e.g., 320 bits). The SCRA strategy also significantly increases the signature efficiency of BGLS. However, since BGLS has an expensive signature verification due to cryptographic pairing operations, SCRA-BGLS has a larger end-toend cryptographic delay compared to our other instantiations. SCRA-BGLS is described in Algorithm 3.</p><p>SCRA-NTRU is based on NTRU aggregate signature <ref type="bibr">[15]</ref>. Note that SCRA-NTRU achieves the highest signing efficiency among all instantiations (it is even more efficient than SCRA-C-RSA at the signer side). It also has a low end-toend delay, which is comparable to SCRA-C-RSA but slightly 3: mi, j &#8592; i || j ||P, &#947; i, j &#8592; ASig.Sig( mi, j , sk ), i = 1,...,L, j = 0,...,2 b -1. 4: sk &#8592; (sk , ) and PK &#8592; (PK , P),w h e r e &#8592; ( mi, j ,&#947; i, j ) for i = 1,...,L, j = 0,...,2 b -1. &#963; &#8592; SCRA.Sig(m, sk): Given a message m &#8712;{0, 1} * , compute its signature as follows:</p><p>1: (M * 1 ,...,M * L ) &#8592; H (m||r ),w h e r er &#8592;{0, 1} &#954; and</p><p>i ||P, and fetch corresponding signature &#947; i of m i from table , i = 1,...,L. 3: s &#8592; ASig.Agg(&#947; 1 ,...,&#947; L ) and &#963; = (r, s). {0, 1}&#8592;SCRA.Ver (m,&#963;,PK):G i v e nm &#8712;{0, 1} * , verify its signature &#963; under PK as follows:</p><p>Algorithm 2 SCRA Instantiation With Condensed-RSA <ref type="bibr">[30]</ref>: SCRA-C-RSA (sk, PK) &#8592; SCRA-C-RSA.Kg(1 &#954; ):G i v e n1 &#954; , generate C-RSA and SCRA-C-RSA parameters as follows: 1: Randomly generate two large primes ( p, q) and computes n = p &#8226; q. The public and secret exponents (e, d) &#8712; Z * n satisfies e &#8226; d &#8801; 1mod&#966;(n),w h e r e&#966;(n) = ( p -1)(q -1).S e tsk &#8592; (n, d) and PK &#8592; (n, e).L e tH be a full domain hash function (e.g., <ref type="bibr">[5]</ref>) defined as </p><p>(please refer to <ref type="bibr">[7]</ref> for details). Finally, H :{0, 1} * &#8594; G 1 is a Full Domain Hash <ref type="bibr">[19]</ref> modeled as RO <ref type="bibr">[4]</ref>.</p><p>1: Set sk = x and PK = g x 2 &#8712; G 2 <ref type="bibr">[7]</ref>, where </p><p>, return 1, else return 0. Note: We implement SCRA-BGLS on an elliptic curve E, in which modular exponentiation and multiplication correspond point scalar multiplication and point addition on E <ref type="bibr">[17]</ref>, respectively. less efficient, since NTRU aggregate signature verification algorithm in <ref type="bibr">[15]</ref> is less efficient than that of SCRA-NTRU and a low end-to-end delay but with a larger signature size. SCRA-NTRUPASS is based on the PASS <ref type="bibr">[18]</ref> signature scheme. It provides similar performance to SCRA-NTRUin terms of both latency and storage but the lattice based scheme is more practical to use. This means that SCRA-NTRUPASS is secure for usage even with smaller parameters as it is based on the partial Fourier recovery problem rather than the approximate CVP problem for SCRA-NTRU.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. SECURITY ANALYSIS</head><p>We now present our security analysis for SCRA schemes. Theorem 1: SCRA is (t, q s , )-EU-CMA secure, if the underlying ASig is (t , q s , )-IA-EU-CMA secure, where t = O(t)+(ASGN +RO(.))&#8226;q s .RO(.) and ASGN denote the cost of Algorithm 4 SCRA Instantiation With Lattice-Based Sequential Aggregate Signatures <ref type="bibr">[15]</ref>: SCRA-NTRU (sk, PK) &#8592; SCRA-NTRU.Kg(1 &#954; ): We use lattice-based sequential aggregate signature schemes AggSign and AggVerify as described in <ref type="bibr">[15]</ref>, that is secure in the random oracle model <ref type="bibr">[4]</ref>. Let AggSign and AggVerify are functions as described in <ref type="bibr">[15]</ref>. 1: Set f A : B n &#8594; R n as a family of preimage-sampleable trapdoor function NTRUSign <ref type="bibr">[27]</ref>, where</p><p>, T is the trapdoor and B n is the domain of f A . &#969; i represents the list of i partial aggregate signatures. 2: Compute &#947; i, j &#8592; NT RUSign(sk, H ( mi, j )), i = 1,...L, j = 0,...,2 b -1, set ( , sk, PK) as in Algorithm 1.</p><p>1: &#963; &#8592; SCRA-NTRU.Sig(m, sk): Execute Algorithm 1 SCRA.Sig Step 1-2, and obtain &#947; i of m i from , i = 1,...,L.</p><p>Compute s &#8592; AggSign(T,&#947; i ,&#969; i-1 ) for i = 1,...,L.S e t&#963; as in Algorithm 1 SCRA.Sig Step 3.  <ref type="bibr">[15]</ref>, that is secure in the random oracle model <ref type="bibr">[4]</ref>. Let AggSign and AggVerify are functions as described in <ref type="bibr">[15]</ref>. 1: Set f A : B n &#8594; R n as a family of preimage-sampleable trapdoor function PASSSign <ref type="bibr">[18]</ref>, where sk is a polynomial L &#8734; norm equal to 1(coefficients are chosen independently from the set [-1, 0, 1]), PK &#8592; A = F &#8226; sk , T is the trapdoor and B n is the domain of f A . &#969; i represents the list of i partial aggregate signatures. 2: Compute &#947; i, j &#8592; PASSSign(sk, H ( mi, j )), i = 1,...L, j = 0,...,2 b -1, set ( , sk, PK) as in Algorithm 1.</p><p>1: &#963; &#8592; SCRA-NTRUPASS.Sig(m, sk): Execute Algorithm 1 SCRA.Sig Step 1-2, and obtain &#947; i of m i from , i = 1,...,L.</p><p>Compute s &#8592; AggSign(T,&#947; i ,&#969; i-1 ) for i = 1,...,L.S e t&#969; as in Algorithm 1 SCRA.Sig Step 3. Proof: Suppose that A breaks (t, q s , )-EU-CMA secure SCRA. We construct a simulator F , which breaks (t , q s , )-IA-EU-CMA secure ASig by using A as a subroutine with the experiment below: Setup: F is provided with two oracles as below:</p><p>1. A random oracle h &#8592; RO(m), which returns h $ &#8592;{0, 1} d if m &#8712;{ 0, 1} * has not been queried before, else it returns the same answer h for the given m.T h a ti s ,t h e cryptographic hash function H in SCRA is modeled as a random oracle. Queries: A queries F on m j &#8712;{ 0, 1} * for j = 1,...,q s . For each query j , F performs the following operations:</p><p>1. F queries RO(.) on (m j ||r j ), and receives an answer as -&#8594; M * is comprised of L data items and therefore it cannot be a trivial combination of previously asked batch queries. Hence, the IA-EU-CMA-secure ASig is broken.</p><p>If the above conditions hold, F wins in the IA-EU-CMA experiment against ASig.O t h e r w i s e ,F aborts. The probability that F wins in the IA-EU-CMA experiment is identical to that of A winning in the EU-CMA experiment. Note that H is modeled as a random oracle, and therefore the probability that H is not target collision-resilient or subset-resilient <ref type="bibr">[34]</ref> is a negligible probability in terms of &#954; (i.e., 1/2 d/2 ). For each query of A , F performs a query to RO(.) and another query to O. Hence, the execution time of F is that of A plus (ASGN + RO(.)) &#8226; q s . We now prove that the SCRA-C-RSA and SCRA-BGLS schemes are secure in Theorem 2 and Theorem 3, respectively. Remark that, for the sake of brevity, we refer to the generic proof in Theorem 1 for common steps, and only emphasize the scheme-specific steps in these theorems.</p><p>Theorem 2: SCRA-C-RSA is (t, q s , )-EU-CMA secure, if the underlying C-RSA is (t , q s , )-IA-EU-CMA secure, where</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>R O(.), H , E x pn and Muln denote the cost of random oracle invocation, hash function H , modular exponentiation and multiplication under modulo n, respectively.</head><p>Proof: Suppose that A breaks (t, q s , )-EU-CMA secure SCRA. We construct a simulator F , which breaks (t , q s , )-IA-EU-CMA secure C-RSA by using A as a subroutine as follows: Setup: F is given RO(.) and O sk as in Theorem 1 Setup Phase. By Algorithm 2, (sk = n, d , PK = n, e ) and hash function used by O is H :{ 0, 1} * &#8594; Z n that behaves as a RO. F gives PK &#8592; (PK , P) to A ,w h e r eP $ &#8592;{ 0, 1} d as in Algorithm 2. Queries: A queries F on m j &#8712;{ 0, 1} * for j = 1,...,q s . For each query j , F queries O on (1|| m j,1 ||P,...,L|| m j,L ||P) &#8592; RO(m j ||r j ) as in Theorem 1 Query Phase and gets s j &#8592; L i=1 H (i || m j,i ||P) d mod n as in Algorithm 2. F returns &#963; j = (s j , r j ). Forgery: A outputs a forgery (m * ,&#963; * = s * , r * ) and checks the EU-CMA experiment winning conditions (i)-(ii) as in Theorem 1 Forgery Phase. If they hold, then F returns a C-RSA forgery for IA-EU-CMA experiment as ( -&#8594; M * , s * ) as in Theorem 1 Forgery Phase and proceeds as follows:</p><p>2) Non-triviality: F checks if one these conditions hold:</p><p>i) At least one data item ( j || m * j ||P) &#8712; -&#8594; M * has never been queried to O.T h i si m p l i e st h a tIA-EU-CMAsecure C-RSA is broken, since by the validity condition, there is a signature as s = H ( j || m * j ||P) d mod n, which was not obtained from O. ii) The signature extraction occurs as defined in Theorem 1 Non-triviality condition (b). That is, individual signatures {s * j = H ( j || m * j ||P) d mod n} L j =1 have never been individually queried to O, but all were part of a batch query k &#8712; I -&#8594; M k . This implies IA-EU-CMA-secure C-RSA is broken by the signature extraction argument as in <ref type="bibr">[30]</ref> and <ref type="bibr">[42]</ref>) (see Section II-C). The non-triviality holds as in Theorem 1.</p><p>The success probability is as in Theorem 1 and the probability that H produces a collision is 1/2 |n|/2 . For each query of A , F performs a query to RO(.) and O, which requires a H computation, followed by an exponentiation/multiplication under n for each item in (1|| m j,1 ||P,...,L|| m j,L ||P). Hence, the execution time of F is that of A plus [RO(.)+L &#8226;(Expn+</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>), H , E x p and Mul denote the cost of random oracle invocation, hash function H , modular exponentiation and multiplication in G 1 , respectively.</head><p>Proof: Suppose that A breaks (t, q s , )-EU-CMA secure SCRA. We construct a simulator F , which breaks (t , q s , )-IA-EU-CMA secure BGLS by using A as a subroutine with the experiment below: Setup: F is given RO(.) and O sk as in Theorem 1 Setup Phase. By Algorithm 3, (sk = x, PK = g x 2 &#8712; G 2 ) and H : {0, 1} * &#8594; G 1 is a RO. F gives PK &#8592; (PK , P) to A as in Algorithm 3. Queries: A queries F on m j &#8712;{ 0, 1} * for j = 1,...,q s . For each query j , F queries O on (1|| m j,1 ||P,...,L|| m j,L ||P) &#8592; RO(m j ||r j ) as in Theorem 1 Query Phase and gets s j &#8592; L i=1 H ( mi, j ) x &#8712; G 1 as in Algorithm 3. F returns &#963; j = (s j , r j ). Forgery: A outputs a forgery (m * ,&#963; * = s * , r * ) and checks EU-CMA experiment winning conditions (i)-(ii) as in Theorem 1 Forgery Phase. If they hold then F returns a BGLS forgery for IA-EU-CMA experiment as ( -&#8594; M * , s * ) as in Theorem 1 Forgery Phase and proceed as follows:</p><p>holds. Therefore, BGLS forgery is valid.</p><p>2) Non-triviality: F checks if one of these conditions hold.</p><p>(i) At least one data item ( j || m * j ||P) &#8712; -&#8594; M * has never been queried to O.T ha t i s ,IA-EU-CMA-secure BGLS is broken, since by validity condition, there is a signature as e(s , g 2 ) = e(H ( j || m * j ||P), g x 2 &#8712; G 2 ), which was not obtained from O. (ii) The signature extraction occurs as defined in Theorem 1 Non-triviality condition (b). That is, individual signatures e(s * j , g 2 ) = e(H ( j || m * j ||P), g x 2 &#8712; G 2 ), j = 1,...,L have never been individually queried to O, but all were part of a batch query k &#8712; I -&#8594; M k . This implies IA-EU-CMA-secure BGLS is broken by the signature extraction argument as in <ref type="bibr">[10]</ref> (see Section II-C). The non-triviality of signature extraction holds as in Theorem 1. The success probability analysis is as in Theorem 1 and the probability that H produces a collision is 1/2 |G<ref type="foot">foot_0</ref> |/2 . For each query of A , F performs a query to RO(.) and an another query to O, which requires a H computation, followed by an exponentiation and multiplication in G 1 for each item in (1|| m j,1 ||P,...,L|| m j,L ||P). Hence, the execution time of</p><p>Remark 1: The formal proof of SCRA-NTRUand SCRA-NTRUPASS follow a similar logic and therefore will not be repeated here. At the same time, we note that despite the existence of an A-EU-CMA analysis, IA-EU-CMA proof and analysis for signature extraction argument are not currently available for NTRU signatures. Hence, a full formal reduction requires this gap to be filled first, which is out of the scope of this paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. P ERFORMANCE ANALYSIS AND COMPARISON</head><p>In this section, we present the performance results of our experiments. We first compare the results of the SCRA with the state-of-the-art algorithms on a modern powerful CPU. We then provide results for the GPU implementations of SCRA-C-RSA and SCRA-NTRU as compared to their CPU counterparts. For the GPU, we used an Nvidia Tesla K40c card, which is comprised of 2880 computing cores with 12GB of GDDR5 device memory and 288GB/sec memory bandwidth. Our base system is equipped with an Intel Core i7-6700K 4.0GHz Quad-Core Processor and 16GB DDR4 2400 MT/s. This infrastructure represents a datacenter setting. We also implemented SCRA on a System-on-Chip (SoC). We used an Nvidia Tegra K1 SoC, which has a 4-Plus-1 quadcore ARM Cortex A15 CPU with clock rate of 2.3 Ghz and an embedded GPU with 192 computing cores. Such SoCs represent smaller scale systems that are widely used in IoT deployments. We open sourced the source code for the research and academic community to use and evaluate. 1  We summarize the results in Table <ref type="table">I</ref>. Table I also provides the implementation details, parameters and key/table sizes. Table <ref type="table">I</ref> shows the clear superiority of SCRA in terms of signature generation efficiency and end-to-end cryptographic delay (i.e., the sum of signature generation and verification times) using a powerful CPU. That is, the signature generation of SCRA instantiations are 24, 18 and 516 times faster than their non-SCRA counterparts for RSA, BGLS, and NTRU, respectively. This indicates that SCRA is an ideal choice for a very high-throughput signature generation, especially for resource-limited devices in IoT deployments. Similarly, SCRA-C-RSA and SCRA-NTRU offer 18 and 7 times lower end-to-end crypto delay compared to RSA and NTRU, respectively, making them ideal choices for time-critical authentication. In addition to their computational efficiency, the SCRA schemes are also compact, since the signature and public key sizes remain the same with their base signature scheme (the transmission of |r |=&#954; is negligible). By comparing to each other, SCRA-C-RSA achieves the lowest end-to-end delay with a moderate signature size (e.g., 256 bytes), while SCRA-BGLS offers the smallest signature (20 bytes) but the highest end-to-end delay. SCRA-NTRU has the lowest signing delay (0.0018 msec), low end-to-end delay but with large signatures (e.g., 1587 bytes). Note that all SCRA schemes require storing a pre-computed table ,w h i c h introduces a constant-size extra storage overhead at the signer side e.g., 160 KB, 2 MB and 12.33 MB for SCRA-BGLS, SCRA-C-RSA and SCRA-NTRU respectively. This signer storage is plausible even for some embedded devices (e.g., Raspberry PI 2 <ref type="bibr">[1]</ref>), and negligible for vehicular networks. Moreover, recall that, unlike offline-online signatures, the signer overhead of SCRA is constant and it does not require to regenerate tokens.</p><p>The offline stages of the algorithms take fairly minimal times of 2.45, 8.65 and 12.83 seconds for SCRA-BGLS, SCRA-C-RSA and SCRA-NTRU, respectively. The offline stage will only be required to execute once during the system deployment.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Space Versus Execution Time</head><p>We have a trade-off between the space taken to store the signatures and the execution time of the signing and the verification stages. As described in 1, an d-bit hash output can be interpreted as integers ( j 1 ,..., j L ), where each j i is a b-bit integer such that b &#8226; L = d. The total number of signatures that need to be calculated and stored in the offline stage of an algorithm is thus L &#8226; 2 b . The total storage cost is thus L &#8226; 2 b &#8226; S where S is the size of one signature. This also implies that the number of aggregations to be performed during the online phase increases linearly with L.T a b l eI I provides for the SHA-256 hashing scheme various values of (L, b) parameters and corresponding size of the signature table for each SCRA instantiation.</p><p>One may observe that the smallest storage overhead can be attained with (L = 256, b = 1), wherein we store a signature for every bit in the hash output domain. However, this requires L = 256 signature aggregations in the online signature generation phase (e.g., 256 modular multiplications for SCRA-C-RSA), which may not be computationally efficient. Another end of the trade-off is (L = 16, b = 16), wherein only L = 16 online aggregations are required during the online phase. However, this requires substantially larger table sizes, which may be suitable for some real-life applications. We observed that (L = 32, b = 8) offers a highly favorable overall performance/storage performance, as shown in Table <ref type="table">I</ref> and Table <ref type="table">II</ref>. The size of the pre-computed tables for SCRA-BGLS, SCRA-C-RSA and SCRA-NTRUis 160 KB, 2 MB and 12.33 MB, respectively, for signature-sizes of 20, 256 and 1578 bytes, respectively. This will require 32 signatures to be aggregated in the online-signing phase of each SCRA scheme.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VI. HARDWARE-ACCELERATION OF SCRA</head><p>To accelerate SCRA, we leveraged the parallel processing and optimization capabilities of GPUs both on server and embedded in the SoCs. We have introduced several optimizations to parallelize the individual steps of SCRA algorithms. We used optimizations specific to the architecture of the GPU to harness the vast amount of available lightweight cores <ref type="bibr">[11]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Accelerating SCRA-C-RSA With GPUs</head><p>-SCRA RSA -Server: In the offline signature stage, for 8192 messages, we achieve x1.3 times more throughput with our GPU optimizations compared to the CPU only implementations. In the online signature stage, we achieve significantly high throughput gains, which can reach up to x5.3 times. In the verify stage, the gain is around x4.2 times. These results are reported in Figures <ref type="figure">2</ref> and<ref type="figure">3</ref>. In terms of execution time, the GPU can process a message in 0.367, 0.022, 0.031 milliseconds for the offline, online and verify stages of the algorithm, respectively. This is approximately x1.31, x5, x4 times faster than the corresponding CPU execution times. The GPU gives a worse performance than the CPU if a very small number of messages are processed. This is mainly due to the low clock speeds of the GPU cores as compared to the CPU and also due to the time to copy the data from the CPU memory to the GPU memory and vice-versa. Our experiments show that the online signature and signature verification stages are executed faster in the GPU than in the CPU for message batches greater than 128 and 256, respectively. -SCRA RSA -SoC: In the offline signature stage, for 8192 messages, we achieve x3.2 times higher throughput with our GPU optimizations compared to CPU only implementations. In the online signature stage, we achieve high throughput gains up to x5.2 times. In the verify stage, the gain is around x4.8 times. These results are reported in Figures <ref type="figure">4</ref> and<ref type="figure">5</ref>. Below we describe the techniques we adopted to achieve some of the performance speedups shown by above experiments.</p><p>1) Chinese Remainder Theorem (CRT): We leverage CRT <ref type="bibr">[28]</ref> to accelerate SCRA on GPUs. We split a k-bit signature &#963; into two k/2 bit signatures &#963; 1 and &#963; 2 . &#963; 1 = M d mod p-1 mod p,&#963; 2 = M d mod q-1 mod q,w h e r eM is  the message and ( p, q) are the primes used. Then, we use the mixed radix conversion algorithm <ref type="bibr">[22]</ref> to combine the two parts and recover the signature &#963; as &#963; = &#963; 2 +[(&#963; 1&#963; 2 ).(q -1 mod p)].q These two parts are processed on separate threads in the GPU, which is significantly faster than the k-bit modular exponentiation.</p><p>2) Montgomery Multiplication: The modular multiplication is inefficient in the GPUs since it requires a trial division to determine the result and is not parallelizable. The Montgomery multiplication is suitable for implementation in a GPU, since it does not require a trial division and can be implemented in parallel on separate words of the message. That is, given a &#8226; b mod n, we first find two integers r -1 and n using the Extended Euclidean Algorithm such that rr -1nn = 1. We then transform a = ar mod n and b = br mod n. Later, we compute a &#8226; b mod n by using Montgomery reduction <ref type="bibr">[28]</ref>.</p><p>3) Batch Processing: The crypto operations for multiple messages are performed concurrently in the GPU. This requires that a batch of messages be passed to the GPU, instead of a single message.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>4) Breakup of Components Into Words:</head><p>To optimize the throughput on the GPU, each message component is divided into words of size 32/64 bits, depending on the GPU capabilities. Each operation being run on a single thread is run over words rather than over entire message components. We use standard multi-precision algorithms <ref type="bibr">[12]</ref> to represent and perform operations between large integers.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>5) GPU Warp Size Utilization:</head><p>Warps are set of threads (generally 32) that are considered as one single execution unit inside a CUDA block. To gain maximum throughput from the GPU, it is necessary to attain the maximum number of active warps per streaming multiprocessor which is 64 in our case. We achieve this by adjusting the number of threads per block to the optimal value. 6) Memory Latency vs GPU Occupancy: T h es i z eo ft h e shared memory can limit the number of active warps on the GPU at a particular point in time by reducing the occupancy of the Streaming Multiprocessors (SM). The other limiting factor in the performance output is the number of reads and writes on the global memory on the device. We identified a balance between the SM occupancy and the global memory read/write latency by testing various permutations of memory allocations among the shared and global memory.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>7) Constant Length Non-Zero Window Technique:</head><p>We scan the bits of the exponent from the least significant bit to the most significant bit. At each step, we compute a zero window or a non-zero window <ref type="bibr">[23]</ref>. With the binary squareand-multiply method, we can process these windows and reduce the number of modular multiplications, making the exponentiation algorithm faster.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Accelerating SCRA-NTRU With GPUs</head><p>-SCRA NTRU -Server: In the online signature stage, for 4096 messages, we achieve x0.79 times more throughput with our GPU optimizations compared to CPU only implementations. In the verify signature stage and offline  stage, we achieve high throughput gains up to x6.5 and x30 times respectively. These results are reported in Figures <ref type="figure">6</ref> and<ref type="figure">7</ref>, respectively. The cryptographic operations for multiple messages are performed concurrently on the GPU. This requires that a batch of messages be passed to the GPU, instead of a single message for the signing and verification stage. We do not employ the GPU for the online stage of SCRA-NTRU because the signature aggregation technique is computationally expensive and deploying it on a GPU core provides little performance benefit. Due to these reasons, the CPU performs better than the GPU during the online stage of the protocol. -SCRA NTRU -SoC: In the online signature stage, for 1024 messages, we achieve x0.81 times more throughput with our GPU optimizations compared to CPU only implementations. In the verify sign stage and offline stage, we achieve high throughput gains upto x6.65 and x17.7 times respectively. These results are reported in Figures <ref type="figure">8</ref> and<ref type="figure">9</ref> respectively. We summarize below the optimizations that have resulted in the performance gains shown by the previous experiments.</p><p>1) Batch Processing: Message components are processed in batches as in Section VI-A. As mentioned before, we do not use the GPU for the online stage of SCRA-NTRU.</p><p>2) Convolution Operations: The convolution operations in the NTRU in the signing and verification phase are accelerated by employing GPUs. The convolution operation between two  n bit polynomials is divided into n cores for each operation where each core is responsible for calculating one bit of the resulting polynomial.</p><p>3) Fourier Transformations: Implementing the Fourier transformation on GPUs further accelerates the signing, verification and offline stages. Due to the use of faster convolution and Fourier transformation operations on GPUs, the verify stage of the protocol on GPUs is significantly faster than on CPUs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>VII. CONCLUSION</head><p>In this paper, we developed a new series of delay-aware digital signatures for time-critical applications, which we refer to as Structure-Free Compact Authentication (SCRA). SCRA can transform any secure aggregate signature into a signer efficient signature via a novel constant-size pre-computation strategy. We proposed several instantiations of SCRA schemes based on Condensed-RSA, BGLS, and NTRU signatures, each offering a unique computation time, key and signature size trade-offs. Our implementations and performance comparison with the existing alternatives show that the SCRA schemes achieve significantly faster signature generation and lower end-toend delay. We also formally proved that SCRA schemes are secure (in ROM). Finally, we pushed the performance of SCRA schemes to their edge by fully implementing them on server-grade GPUs and SoCs, which indicated significant performance gains. All these properties make the SCRA schemes a suitable alternative for delay-aware authentication for timecritical applications.</p></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0"><p>https://github.com/ipapapa/HWAcccelarated-Crypto</p></note>
		</body>
		</text>
</TEI>
