Secure and Ef icient Iris and Fingerprint Identi ication

Size: px
Start display at page:

Download "Secure and Ef icient Iris and Fingerprint Identi ication"

Transcription

1 Secure and Eficient Iris and Fingerprint Identiication Marina Blanton Department of Computer Science and Engineering, University of Notre Dame Paolo Gas Department of Computer Science, New York Instute of Technology Abstract - Advances in biometric recognion and the increasing use of biometric data prompt significant privacy challenges associated with the possible misuse, loss, or the of biometric data. Biometric comparisons are oen performed by two mutually distrusul pares, one of which holds a biometric sample while the other owns a possibly large collecon of biometric data. Due to privacy and liability consideraons, neither party is willing to share its data. This gives rise to the need to ulize secure computaon techniques over biometric data where no informaon is revealed to the pares except the outcome of the comparison or search for idenficaon purposes. In this chapter, we present the design, security analysis, and performance of privacy-preserving idenficaon protocols for iris codes and fingerprints. Combined with certain opmizaons, such techniques are suitable for praccal use on large data sets. Index Terms - Privacy-Preserving Protocols, Biometric Idenficaon, Secure Mulparty Computaon, Iris, Fingerprints Recent advances in biometric recognion have made the use of biometric informaon more prevalent for verificaon and idenficaon purposes. Large-scale collecons of biometric data in use today include, for example, fingerprint, face, and iris images collected by the US Department of Homeland Security (DHS) from visitors [48]; fingerprint and iris images collected by the government of India from (more than billion) cizens [56]; iris, fingerprint, and face images collected by the United Arab Emirates (UAE) Ministry of Interior from visitors [57]; and adopon of biometric passports in several countries. While biometric systems serve as an excellent tool for authencaon and idenficaon of individuals, biometric data is undeniably extremely sensive and must be well protected. Furthermore, once leaked biometric data cannot be revoked or replaced. For these reasons, biometric data cannot be easily shared between organizaons or agencies. However, there could be legimate reasons to carry out computaons on biometric data belonging to different enes. For example, a non-government agency may need to know whether a biometric sample it possesses belongs to an individual on the government watch-list. In this case the agency would like to maintain the privacy of the individual if no matches are found, and the government also does not want to release its database to third pares. The above requires carrying out computaon over biometric data in a way that keeps the data private and reveals only the outcome of the computaon. In parcular, we treat the problem of, where a client is in a possession of a biometric sample and a server possesses a biometric 1

2 database. The client would like to know whether there is any in matching by comparing to each biometric record in. The computaon amounts to comparing to each in a privacy-preserving manner. This formulaon is general enough to apply to a number of other scenarios, ranging from a single comparison of and to the case where two pares need to compute the set of biometric data records common to their respecve databases. We assume that the result of comparing and is a bit, and no addional informaon about or should be learned by the pares as a result of secure computaon. Throughout this chapter, we also assume that and correspond to biometric templates, i.e., they have representaons suitable for biometric comparison aer raw biometric samples have been processed by a feature extracon algorithm. Feature extracon can be performed for each biometric sample independently, and we do not discuss this further. This chapter introduces and discusses secure techniques that perform the aforemenoned computa- on with provable protecon of data privacy. We present protocols for two types of biometric characteriscs: iris and fingerprints. While iris codes are normally represented as binary strings and use very similar matching algorithms, there is a variety of representaons and comparison algorithms for fingerprints. For that reason, we study two types of matching algorithms for fingerprints: (i) FingerCodes that use fixed-size representaons and a simple comparison algorithm and (ii) a tradional and most widely used method for pairing minua points in one fingerprint with minuae in another fingerprint. With such techniques, the outcome of the computaon can be made available to either party or both of them; for concreteness, in our descripon we have the client learn the outcome of each comparison. Without loss of generality, in what follows we assume that client holds a single biometric template and server holds a database of biometric data. The goal is to learn whether 's biometric template has a match in 's database without learning any addional informaon. This is accomplished by comparing to each biometric template, and as a result of each comparison learns a bit that indicates whether the comparison resulted in a match. Let an iris code be represented as an -bit binary string. We use to denote the -th bit of. In iris-based recognion, aer feature extracon, biometric comparison is normally performed by compung the Hamming distance between two biometric representaons. (To simplify presentaon, we refer to simply as henceforth.) Furthermore, the feature extracon process is such that some bits of the extracted string are unreliable and are ignored in the comparison process. Informaon about such bits is stored in an addional -bit string, called, where its -th bit is set to 1 if the -th bit of should be used in the comparison process and is set to 0 otherwise. For iris code, we use to denote the mask associated with. Oen, a predetermined number of bits (e.g., 25% in [31] and 35% in [6]) are considered unreliable in each biometric template. Thus, to compare two biometric templates and, their Hamming distance takes into account the respecve masks. That is, if the Hamming distance between two iris codes without masks is computed as: the computaon of the Hamming distance that uses masks becomes [23]: (1) 2

3 In other words, we have Throughout this chapter, we assume that the laer formula is used and simplify the notaon to. Then the computed Hamming distance is compared with a specific threshold, and the biometric samples and are considered to be a match if the distance is below the threshold, and a mismatch otherwise. The threshold is chosen based on the distribuons of authenc and impostor data. (In the likely case of overlap of the two distribuons, the threshold is set to achieve the desired levels of false accept and false reject rates based on the security goals.) Two iris representaons can be slightly misaligned. This problem is usually caused by head lt during image acquision. To account for this, the matching process aempts to compensate for the error and rotates a biometric representaon by a fixed amount to determine the lowest distance. More precisely, each iris code is represented as a two-dimensional bit array and rotaon corresponds to a circular shi which is applied to each row. Each biometric is then rotated to the le and to the right a small fixed number of mes, which we denote by. The minimum Hamming distance across all rotaons is then compared to the threshold. That is, if we let (resp., ) denote a circular le (resp., right) shi of the argument by a fixed number of bits (normally 2 bits due to the properes of the feature extracon process), the matching process becomes: (2) Throughout this chapter, we assume that the algorithms for comparing two biometric samples are public, as well as any constant thresholds. The protocols we present, however, maintain their security and computaonal performance guarantees even if the (fixed) thresholds are known only to the server who owns the database. Work on fingerprint idenficaon dates back to the late 1800s, with a number of different approaches currently available (see, e.g., [46] for an overview). The most popular and widely used techniques extract informaon about minuae from a fingerprint and store that informaon as a set of points in the twodimensional plane. Fingerprint comparison in this case consists of finding a matching between two sets of points so that the number of paired minuae is maximized. In more detail, a biometric template is represented as a set of points, where and are coordinates of minua in a two-dimensional space and is its orientaon (represented as an angle in degrees). A minua in and minua in are considered matching if the spaal (i.e., Euclidean) distance between them is smaller than a given threshold and the direconal difference between them is smaller than a given threshold. That is, we compute this as: and (3) It is necessary to tolerate small differences in the posion and orientaon of minua points to account for errors introduced by feature extracon algorithms (e.g., quanzaon) and small skin distorons. Two points within a single fingerprint are also assumed to lie within at least distance of each other. Before two fingerprints can be compared, they need to be pre-aligned, which maximizes the number of matching minuae. We can disnguish two types of alignment: absolute and relave. With absolute alignment, each fingerprint is pre-aligned independently using the core point or other informaon. With 3

4 relave alignment, informaon contained in two biometric samples is used to guide their alignment rela- ve to each other. While relave pre-alignment can be more accurate that absolute pre-alignment, such techniques are not praccal within a privacy-preserving protocol due to the addional overhead, and we assume that absolute pre-alignment is used. To increase the accuracy of the matching process, a single fingerprint can be stored using a small number of representaons with slightly different alignments, and the result of the comparison is a match if at least one of them matches the biometric template being queried. A simple way used for determining a pairing between minuae of fingerprints and consists of pairing a minua with the closest minua in. Let denote the minuae matching predicate in Equaon 3. Then the pairing funcon that determines the mapping of minuae in and can be defined as follows: for, if is the closest to among all such that, and if no such exists. Because each minua can be paired with at most one minua from, the above algorithm needs to mark all minuae in that have already been paired with a point in to enforce this constraint. The above approach will not find the opmum assignment (i.e., the one that maximizes the number of mates) because to find such a pairing a minua might need to be paired with another minua which is not the closest to. The opmum pairing can be achieved by formulang the problem as an instance of minimum-cost maximum flow, where fingerprints and are used to create a flow network. Then this problem can be solved using one of the known algorithms such as Ford-Fulkerson [26] and others. In parcular, [37, 58] use a flow network representaon of minua pairing problem to find an opmal pairing, where there is an edge from a node corresponding to minua to iff. We refer the reader to [37, 58] for addional detail. For fingerprints consisng of minuae, the opmal pairing can be found in me using Ford-Fulkerson algorithm because each minua from is connected to at most a constant number of minuae from. In a privacy-preserving seng, however, when informaon about connecons between minuae in and (and thus the structure of the graph) must remain private, the complexity of this approach would increase. For example, a soluon based on [11] would result in complexity, which is substanally slower even for modest values of. We therefore implement the pairing approach based on the minimum distance outlined above. The algorithm is not guaranteed to find the opmal pairing, but performs well in the privacy-preserving seng. For the purposes of this chapter, we assume that during fingerprint idenficaon the number of minu- ae in a pairing is compared to a fixed threshold. If in specific fingerprint comparison algorithms this threshold is not constant, but rather is a funcon of biometric templates and being compared (e.g., a funcon of the number of points in each template), our techniques can be easily extended to accommodate those variaons as well. Fingerprint matching can also be performed using a different type of informaon extracted from a fingerprint image. One example is FingerCode [36] which uses texture informaon from a fingerprint scan to form fingerprint representaon. While FingerCodes are not as disncve as minua-based representa- ons and are best suited for use in combinaon with minuae to improve the overall accuracy of fingerprint comparisons [46], FingerCode-based idenficaon can be implemented very efficiently in a privacypreserving protocol. In parcular, each FingerCode consists of a fixed number elements of bits each. Then FingerCodes and are considered a match if the Euclidean distance between their elements is below the threshold : (4) The technique we present in this chapter is substanally faster, in terms of both computaon and communicaon, than earlier techniques (e.g., from [5]). We then also proceed with providing a secure protocol for more accurate (but less efficient) minua-based matching algorithm. 4

5 Intuively, the level of security that a privacy-preserving construcon should achieve is the same as having the parcipants privately send their inputs to a trusted third party who performs the computaon and privately sends the result back. Then a secure technique should provide the same level of data privacy, but without assuming the existence of such a trusted third party. Our security model is the standard model for secure two-party computaon in presence of semi-honest parcipants [27] (also known as honest-but-curious or passive). In parcular, it means that the pares follow the prescribed behavior, but might try to compute addional informaon from the informaon obtained during protocol execuon. Security in this seng is defined using simulaon argument: the protocol is secure if the view of protocol execuon for each party is computaonally indisnguishable from the view simulated using that party's input and output only. This means that the protocol execuon does not reveal any addional informaon to the parcipants. The definion below formalizes the noon of security for two semi-honest parcipants: Our construcons use a semancally secure addively homomorphic encryp- on scheme. Informally, semanc security means that a computaonally bounded adversary cannot learn any informaon about the encrypted message from the ciphertext with more than negligible probability in the security parameter (see, e.g., [27] for a formal definion). In an addively homomorphic encrypon scheme defined by three algorithms, for any two plaintexts and, which also implies that, where plaintext is known. While any encrypon scheme with the above properes (such as the well known Paillier encrypon scheme [50]) suffices for the purposes of this chapter, the construcon due to Damgård et al. [21, 20] (DGK) is of parcular interest here. To be able to understand opmizaons used in our techniques, we briefly describe the relevant encryp- on schemes. In Paillier encrypon scheme, a public key consists of a -bit RSA modulus, where and are prime numbers of bitlength and is the security parameter, and an element whose order is a mulple of in. Given a message, encrypon is performed as, where and notaon means that is chosen uniformly at random from the set. In DGK encrypon scheme [21, 20], which was designed to work with small plaintext spaces and has shorter ciphertext size than other randomized encrypon schemes, a public key consists of (i) a (small, possibly prime) integer that defines the plaintext space, (ii) -bit RSA modulus such that and are -bit primes, and are -bit primes for another security parameter (smaller than ), and and, and (iii) elements such that has order and has order. Given a 5

6 message, encrypon is performed as, where. We refer the reader to the original publicaons [50] and [21, 20], respecvely, for any addional informaon. Originated in Yao's work [59], garbled circuit evaluaon allows two pares to securely evaluate any funcon represented as a boolean circuit. The basic idea is that, given a Boolean circuit composed of gates, one party creates a garbled circuit by assigning to each wire two randomly chosen labels (one corresponding to 0 and the other corresponding to 1). also encodes gate informaon in a way that given labels corresponding to the input wires (encoding specific inputs), the label corresponding to the output of the gate on those inputs can be recovered. The second party,, evaluates the circuit using labels corresponding to inputs of both and (without learning anything in the process since does not know the meaning of the (random) labels that it sees during evaluaon). At the end, the result of the computaon can be recovered by linking the computed output labels to the bits which they encode. Recent literature provides opmizaons that reduce computaon and communicaon overhead associated with circuit construcon and evaluaon. Kolesnikov and Schneider [40] describe an opmizaon that permits XOR gates to be evaluated for free, i.e., there is no communicaon overhead associated with such gates and their evaluaon does no involve cryptographic funcons. Pinkas et al. [51] addionally give a mechanism for reducing communicaon complexity of binary gates by 25%: now each gate can be specified by encoding only three outcomes of the gate instead of all four. Finally, Kolesnikov et al. [39] improve the complexity of certain commonly used operaons such as addion, mulplicaon, comparison, etc. by reducing the number of non-xor gates: adding two -bit integers requires gates, of which are non- XOR gates; comparing two -bit integers requires gates, of which are non-xor gates; and compung the minimum of -bit integers (without the locaon of the minimum value) requires gates, of which are non-xor gates. Garbling and evaluaon of large circuits can also be pipelined [32], so that the enre circuit does not have to reside in memory. With the above techniques, evaluang a non-xor gates involves one invocaon of the hash funcon [40] (which is assumed to be correlaon robust [42]) or one call to AES [7]. During garbled circuit evaluaon, directly obtains keys corresponding to 's inputs from and engages in the oblivious transfer (OT) protocol to obtain keys corresponding to 's inputs. In 1-out-of-2 Oblivious Transfer,, one party, the sender, has as its input two strings and another party, the receiver, has as its input a bit. At the end of the protocol, the receiver learns and the sender learns nothing. Similarly, in 1-out-of- OT the receiver obtains one of the strings held by the sender. There is a rich body of research literature on OT, and in this chapter we use its efficient implementaon from [47] as well as OT extension from [35] that reduces a large number of OT protocol execuons to of them, where is the security parameter. This, in parcular, means that obtaining the keys corresponding to 's inputs in garbled circuit evaluaon by incurs only small overhead. We note that there are other very recent OT extensions such as [38] and [2] that further reduce the cost of OT and their usage in our soluon will reduce the overhead that we report. In this secon, we present our soluon for biometric idenficaon based on iris codes. Our soluon combines homomorphic encrypon with garbled circuit evaluaon. The raonale behind building hybrid protocols is that the use of homomorphic encrypon will allow an encrypted template to be used in comparisons to many, while garbled circuits are very fast for certain operaons such as comparisons, where techniques based on homomorphic encrypon are much more costly. 6

7 As indicated in Equaon 1, compung the distance between two iris codes involves securely evaluang the division operaon. While techniques for carrying out this operaon using secure mul-party computaon are known (see, e.g., [3, 17, 9, 18]), their performance in pracce is oen substanally slower than performance of other elementary operaons, which poses a problem for this applicaon. For an example, according to [8], two-party evaluaon of garbled circuits for division produced by Fairplay [45] takes several seconds for numbers of length bits, but circuits for longer integers could not be constructed due to the rapidly increasing memory requirements of Fairplay. More recent results achieve faster circuit evaluaon, but performance of this operaon normally is not reported. 1 Fortunately, in our case the computaon can be rewrien to completely avoid this operaon and replace it with mulplicaon. That is, using the notaon instead of tesng whether, we can test whether. While the computa- on of the minimum distance as used in Equaon 2 is no longer possible, we can replace it with equivalent computaon that does not increase its cost. Now the computaon becomes: (5) When this computaon is carried out over real numbers, lies in the range [0, 1]. In our case, it is desirable to carry out the computaon over the integers, which means that we ''''scale up'' all values with the desired level of precision. That is, by using bits to achieve desired precision, we mulply by and let range between 0 and. Now and can be represented using bits. In what follows, we first describe the basic privacy-preserving protocol for iris codes. The consecuve sec- on presents opmizaons and the resulng performance of the protocol. At the high level, the soluon consists of using encrypted data to compute (paral) distances between biometric templates, aer which we switch to garbled circuit evaluaon for finishing the computaon and producing the final result. With this approach, the client generates a public-private key pair for an addively homomorphic encrypon scheme and distributes the public key. This is a one-me setup cost for the client for all possible invocaons of this protocol with any number of servers. During the protocol itself, the secure computaon proceeds as specified in Equaon 5. In the beginning, sends its inputs encrypted with to the server. At the server side, the computaon first proceeds using homomorphic encrypon, but later the client and the server convert the intermediate result into a secret-shared form and finish the computaon using garbled circuit evaluaon. As menoned before, we employ this structure due to the fact that secure two-party computaon of the comparison operaon is significantly faster using garbled circuit evaluaon, but the rest of the computaon in our case is best performed on encrypted values. To compute using algebraic computaon, we use and obtain: 1 Secure evaluaon of the division operaon in the mul-party seng was reported in [30, 12, 1], but such techniques cannot be directly used in the two-party seng that we employ. 7

8 has biometric template, and key pair ; has a database composed of biometric templates in the form,. learns what records in resulted in match with if any, i.e., it learns a bit as a result of comparison of with each. : 1. For each, computes encrypons and sends them to. 2. For each, computes encrypon of by seng. 3. For each record in the database, and perform the following steps in parallel: (a) For each amount of shi, rotates the bits of by the appropriate number of posions to obtain and proceeds with all 's in parallel. i. To compute in encrypted form, computes. ii. adds the values contained in 's to obtain. then ''lis up'' the result, blinds, and randomizes it as, where, and sends the resulng to. iii. To obtain, computes and. blinds and randomizes the result as, where, and sends to. iv. decrypts the received values and sets and. (b) and perform comparisons and OR of the results of the comparisons using garbled circuit. enters 's and 's, enters 's and 's, and learns bit computed as. To achieve this, creates the garbled circuit and sends it to. obtains keys corresponding to its inputs using OT, evaluates the circuit, and sends to the key-value mapping for the output gate. Figure 1: Secure two-party protocol for iris idenficaon. is computed as. Then if the server obtains encrypons of,, and for each from the client, it will be able to compute and using its knowledge of the 's and the homomorphic properes of the encrypon. Figure 1 describes the protocol, in which aer receiving 's encrypted values produces 's and proceeds to compute and in parallel for each in its database. Here denotes biometric template shied by posions and ranges from to. At the end of steps 3(a).i and 3(a).ii the server obtains for a randomly chosen of its choice, and at the end of step 3(a).iii obtains for a random of its choice. The server sends these values to the client who decrypts them. Therefore, at the end of step 3(a) holds and and holds and, i.e., they addively share and. What remains to compute is comparisons (one per each ) followed by OR operaons as specified by Equaon 5. This is accomplished using garbled circuit evaluaon, where enters 's and 's and enters 's and 's and they learn a bit, which indicates whether was a match. Note that since 's, 's, 's and 's are used as inputs to the garbled circuit and will need to be added inside the circuit, we want them to be as small as possible. Therefore, instead of providing uncondional hiding by choosing and from (where is from ), the protocol achieves stascal hiding by choosing these random values to be bits longer than the values that they protect, where is a security parameter (so that the value revealed to stascally hides the computed distance). 8

9 Similar to other literature on secure biometric idenficaon, we disnguish between offline and online stages, where any computaon and communicaon that does not depend on the inputs of the parcipang pares can be moved to the offline stage. In our protocol, first noce that most modular exponenaons (the most expensive operaon in the encrypon scheme) can be precomputed. That is, the client needs to produce encrypons of bits. Because both and the average number of 0's and 1's in a biometric template and a mask are known, the client can produce a sufficient number of bit encrypons in advance. In parcular, normally will have 50% of 0's and 50% of 1's, while 75% (or a similar number) of 's bits are set to 1 and 25% to 0 during processing. Let and ( and ) denote the fracon of 0's and 1's in an iris code (resp., its mask), where. Therefore, to have a sufficient supply of ciphertexts to form tuples, the client needs to precompute encrypons of 0 and encrypons of 1, where is used as a cushion since the number of 0's and 1's in might not be exactly and, respecvely. Then at the me of the protocol the client simply uses the appropriate ciphertexts to form its transmission. Similarly, the server can precompute a sufficient supply of encrypons of 's and 's for all records. That is, the server needs for produce encrypons of different random values of length, where denotes the size of the database. The server also generates one garbled circuit per record in its database (for step 3(b) of the protocol) and communicates the circuits to the client. In addion, the most expensive part of the oblivious transfer can also be performed during the offline stage, as detailed below. Server's computaon in steps 3(a).i and 3(a).iii of the protocol can be significantly lowered as follows. To compute ciphertexts, needs to calculate. Since the bits and are known to, this computaon can be rewrien using one of the following cases: and : in this case both and are zero, which means that should correspond to an encrypon of 0 regardless of and. Instead of having create an encrypon 0, we set to the empty value, i.e., it is not used in the computaon of in step 3(a).ii. and : the same as above. and : in this case and, which means that sets. and : in this case and, and therefore sets. The above implies that only ciphertexts need to be added in step 3(a).ii to form (i.e., modular mulplicaons to compute the hamming distance between -element strings). Similar opmizaon applies to the computaon of and in step 3(a).iii of the protocol. That is, when, is set to the empty value and is not used in the computaon of ; when, sets. Consequently, ciphertexts are used in compung. To further reduce the number of modular mulplicaons, we can adopt the idea from [49], which consists of precompung all possible combinaons for ciphertexts at posions and and reducing the number of modular mulplicaons used during processing a database record in half. In our case, the value of requires computaon only when. In this case, compung,,, and, for each odd between 1 and will cover all possibilies. 9

10 Note that these values need to be computed once for all possible shi amounts of the biometric data (since only server's 's are shied). Depending on the distribuon of the set bits in each, the number of modular mulplicaon now will be between (when for each odd ) and (when for as many odd 's as possible). This approach can be also applied to the computaon of (where only the value of needs to be precomputed for each odd ) resulng in the same computaonal savings during computaon of the hamming distance. Furthermore, by precompung the combinaons of more than two values addional savings can be achieved during processing of each. As it is clear from the protocol descripon, its performance crucially relies on the performance of the underlying homomorphic encrypon scheme for encrypon, addion of two encrypted values, and decrypon. Instead of ulizing a general purpose encrypon scheme such as Paillier, we turn our aenon to schemes of restricted funconality which promise to offer improved efficiency. In parcular, the DGK addively homomorphic encrypon scheme [21, 20] was developed to be used for secure comparison, where each ciphertext encrypts a bit. In that seng, it has faster encrypon and decrypon me than Paillier and each ciphertext has size using a -bit RSA modulus (while Paillier ciphertext has size ). To be suitable for our applicaon, the DGK scheme can be modified to work with plaintexts longer than one bit used in its original design. In that case, at decrypon me, one needs to addi- onally solve the discrete logarithm problem where the base is 2-smooth using Pohlig-Hellman algorithm. This means that decrypon uses addional modular mulplicaons for -bit plaintexts. Now recall that in the protocol we encrypt messages of length bits. The use of the security parameter significantly increases the length of the plaintexts. We, however, noce that the DGK encrypon can be setup to permit arithmec on encrypted values such that all computaons on the underlying plaintexts are carried modulo for any. For our protocol it implies that (i) the blinding values and can now be chosen from the range, where, and (ii) this provides informaon-theorec hiding (thus improving the security properes of the protocol). This observaon has a profound impact not only on the client decrypon me in step 3(a).iv (which decreases by about an order of magnitude), but also on the consecuve garbled circuit evaluaon, where likewise the circuit size is significantly reduced in size. We construct garbled circuits using the most efficient techniques from [51] and references therein. By performing addion modulo and eliminang gates which have a constant value as one of their inputs, we reduce the complexity of the circuit for addion to non-xor gates and total gates. Similarly, aer eliminang gates with one constant input, the complexity of the circuit for comparison of -bit values becomes non-xor gates and gates overall. Since in the protocol there are two addions and one comparison per each followed by OR gates, the size of the overall circuit is gates, of which are non-xor gates. Note that this circuit does not use mulplexers, which are required (and add complexity) during direct computaon of minimum. The above circuit requires each party to supply input bits, and a new circuit is used for each in. Similar to some other techniques, the combinaon of fast OT and OT extension (we use [35] and [47]) achieves the best performance in our case. Let the server create each circuit and the client evaluate them. Using the results of [35], performing the total of mes, where the client receives a -bit string as a result of each OT for a a security parameter, can be reduced to invocaons of (that communicates to the receiver -bit strings) at the cost of bits of communicaon and applicaons of a hash funcon for the sender and applicaons for the receiver. Then protocols can be implemented using the construcon of [47] with low amorzed complexity, where the sender performs and the receiver performs modular exponenaons with the communicaon of bits and public keys. The OT protocols can be performed during the offline 10

11 stage, while the addional communicaon takes place once the inputs are known. If transming ciphertexts during the online stage of the protocol (which amounts to a few hundred KB for our set of parameters) constutes a burden, this communicaon can be performed at the offline stage before the protocol begins. This can be achieved using the technique of [49], where the client transmits encrypons of randomly chosen bits during the offline stage, and the online communicaon consists of bits. Each bit corresponds to the XOR of the bit that the client wants to use in the protocol with the previously communicated random bit. Aer receiving the -bit correcon string, the server needs to compute encrypon of 's using and, which is done by XORing and inside the encrypon. Using, we see that when, the server can simply set, but when, the server will need to perform subtracon of (encrypted). While subtracon is usually one of the most expensive operaons, note that because of our use of DGK encrypon with short plaintexts the subtracon operaons can be performed on a ciphertext significantly faster than using generic full-domain encrypon schemes such as Paillier. The speed up is on the order of, where is the security parameter for a public-key encrypon scheme and is the length of the values we operate on. Furthermore, this enre computaon can be completely removed from the online stage if, upon the receipt of, the server computes during the offline stage. Then when the protocol begins, the server sets either or depending on the bit it receives. Security of the iris protocol relies on the security of the underlying building blocks. In parcular, we need to assume that (i) the DGK encrypon scheme is semancally secure (which was shown under a hardness assumpon that uses subgroups of an RSA modulus [21, 20]); (ii) garbled circuit evaluaon is secure (which was shown in [41], but the version we use [40] relies on a hash funcon which is assumed to be correlaon robust or otherwise modeled as a random oracle); and (iii) the oblivious transfer is secure as well (to achieve this, techniques of [35] require the hash funcon to be correlaon robust and the use of a pseudo-random number generator, while techniques of [47] model the hash funcons as a random oracle and use the computaonal Diffie-Hellman (CDH) assumpon). Therefore, assuming the security of the DGK encrypon, CDH, and using the random oracle model for hash funcons is sufficient for our approach. To show the security of the protocol, we sketch how to simulate the view of each party using its inputs and outputs alone. If such simulaon is indisnguishable from the real execuon of the protocol, for semihonest pares this implies that the protocol does not reveal any unintended informaon to the parcipants (i.e., they learn only the output and what can be deduced from their respecve inputs and outputs). First, consider the client. The client's input consists of its biometric template, and the private key, and its outputs consists of a bit for each record in 's database. A simulator that is given these values simulates 's view by sending encrypted bits of 's input to the server as prescribed in step 1 of the protocol. It then simulates the messages received by the client in step 3(a).iii using encrypons of two randomly chosen strings and of length. The simulator next creates a garbled circuit for the computaon given in step 3(b) that, on input client's 's and 's computes bit, sends the circuit to the client, and simulates the OT. Note that the simulator can set the other party's inputs in such a way that the computaon results in bit. It is clear that given secure implementaon of garbled circuit evaluaon in the real protocol, the client cannot disnguish simulaon from real protocol execuon. Furthermore, the values that recovers in step 3(a).iv of the protocol are distributed idencally to the values used in the real protocol execuon that uses DGK encrypon (and they are stascally indisnguishable when other encrypon schemes are used). Now consider the server's view. The server has its database consisng of, and the threshold 11

12 Table 1: Breakdown of the performance of the iris idenficaon protocol msec + 71 msec/rec 1780 msec msec/rec 3178 msec msec/rec 1398 msec msec/rec 1457 msec msec/rec 2855 msec msec/rec with [50] sec msec/rec 1780 msec msec/rec sec msec/rec sec 1693 msec msec/rec sec msec/rec sec 1055 msec msec/rec sec msec/rec with [50] sec 1693 msec msec/rec sec msec/rec 512KB 11.6KB KB/rec 524KB KB/rec 512KB 11.6KB + 2KB/rec 524KB + 2KB/rec with [50] 1024KB 11.6KB KB/rec 1036KB KB/rec 108 msec msec/rec 1.25 msec/rec 89 msec msec/rec 108 msec msec/rec 0.11 msec/rec 89 msec msec/rec with [50] 427 msec msec/rec 1.25 msec/rec 427 msec msec/rec 20 msec/rec 2.61 msec/rec msec/rec 1.8 msec/rec 0.22 msec/rec 2.02 msec/rec with [50] 197 msec/rec 2.61 msec/rec msec/rec 0.5 KB KB/rec 17.2 KB/rec 0.5 KB KB/rec 0.5 KB KB/rec 1.6 KB/rec 0.5 KB KB/rec with [50] 0.5 KB KB/rec 17.2 KB/rec 0.5 KB KB/rec as the input and no output. In this case, a simulator with access to first sends to ciphertexts (as in step 1 of the protocol) that encrypt bits of its choice. For each, performs its computaon in step 3(a) of the protocol and forms garbled circuits as specified in step 3(b). The server and the simulator engage in the OT protocol, where the simulator uses arbitrary bits as its input to the OT protocol and the server sends the key-value mapping for the output gate. It is clear that the server cannot disnguish the above interacon from the real protocol execuon. In parcular, due to semanc security of the encrypon scheme learns no informaon about the encrypted values and due to security of OT learns no informaon about the values chosen by the simulator for the garbled circuit. The implementaon of the secure iris idenficaon protocol that we describe was performed in C using MIRACL library [34] for cryptographic operaons. It also used the DGK encrypon scheme with a 1024-bit modulus and another security parameter set to 160, as suggested in [21, 20]. To illustrate the advantage of the tools the soluon ulizes, we also give performance of selected experiments using Paillier encryp- on [50]. The Paillier encrypon scheme was implemented using a 1024-bit modulus and a number of opmizaons suggested in [50] for best performance. In parcular, small generator was used to achieve lower encrypon me, and decrypon is sped up using pre-computaon and Chinese remainder computaon (see [50], secon 7 for more detail). The security parameters for public-key cryptography and for symmetric and stascal security are used for compability with experiments reported in other sources, while larger security parameters would be preferred today. The experiments were run on an Intel Core 2 Duo 2.13 GHz machine running Linux (kernel ) with 3GB of RAM and version Table 1 shows performance of the secure iris idenficaon protocol and its components. The perfor- 12

13 mance was obtained using the following set of parameters: the size of iris code and mask (this value of is used in commercial iris recognion soware), 75% of bits are reliable in each iris code, and the length of (plaintext) values used in the protocol is 20 bits (i.e., in Figure 1). All op- mizaons described earlier in this secon were implemented. In the implementaon, upon the receipt of client's data, the server precomputes all combinaons for pairs of ciphertexts in step 3(a).ii (one-me cost of the total of modular mulplicaons) and all combinaons of 4 elements in step 3(a).iii (one-me cost of modular mulplicaons). This cuts the server's me for processing each by more than a half. Furthermore, the constant overhead associated with the OT (circuit) can be reduced in terms of both communicaon and computaon for both pares if public-key operaons are implemented over ellipc curves. The table shows performance using three different configuraons: (i) the amount of rotaon was set to 5, (ii) no rotaon was used by seng (this is used when the images are well aligned, e.g., during supervised image acquision or when simultaneously acquiring images of both eyes), and (iii) with using Paillier encrypon instead of DGK scheme. In the table, we divide the computaon and communica- on into offline pre-computaon and online protocol execuon. No inputs are assumed to be known by any party at pre-computaon me. Some of the overhead depends on the server's database size, in which case the computaon and communicaon are indicated per record (using notaon ''/rec''). The overhead associated with the part of the protocol that uses homomorphic encrypon is shown separately from the overhead associated with garbled circuits. The offline and online computaon for the part based on homomorphic encrypon is computed as described in Secon 4.3. For circuits, garbled circuit creaon, communicaon, and some of OT is performed at the offline stage, while the rest of OT (as described in Secon 4.3) and garbled circuit evaluaon take place during the online protocol execuon. We also note that while the table lists computaonal overhead of each party separately, the overall runme for a single biometric comparison will be approximately the runme of the server (which is typically faster than the client and is not expected to be the boleneck of the protocol) and the runme of the server. The reason is that computaon is inially carried out on encrypted data by the server, followed by the OT between the client and the server, followed by the client evaluang the garbled circuit. When, however, the pares perform a number of biometric comparisons, the amorzed me per record in the database is going to be lower (i.e., it is the maximum of the server's and client's me instead of their sum) because all records can be evaluated in parallel and the amount of communicaon is low. As the table indicates, the design of the soluon and the opmizaons employed in it allow for a parcularly efficient performance. In parcular, comparison of two iris codes, which among other things includes computaon of Hamming distances (i.e., for the numerator and denominator in Equaon 1) over 2048-bit biometric templates in encrypted form, is done in 0.15 sec. This is comparable in speed to the latest developments in other funconalies (e.g., [32, 15, 54], which can be used to compute the Hamming distance) and in part due to the use of efficient DGK encrypon scheme and other opmizaons. When iris images are well aligned and no rotaon is necessary, our protocol requires only 14 msec online computaon me and under 2KB of data to compare two biometric templates. Before proceeding with new techniques for fingerprint idenficaon based on minuae pairing, we first illustrate how the techniques given in this chapter for iris idenficaon can be applied to other types of biometric computaons such as FingerCodes. In parcular, they can be used to improve the efficiency of the secure protocol for FingerCode idenficaon in [5]. 13

14 has biometric template and DGK encrypon key pair ; has a database composed of biometric templates. learns what records in resulted in match with if any, i.e., it learns a bit as a result of comparison of with each. : 1. computes and sends to encrypons. 2. For each, and perform in parallel: (a) computes the encrypted distance between and as, blinds it as, where, and sends to. (b) decrypts the value it receives and sets. (c) and engage in a secure protocol that computes using garbled circuit evaluaon. creates the circuit and sends it to along with the key-value mapping for the output gate. obtains keys corresponding to its inputs from using OT, evaluates the circuit, and learns the result. Figure 2: Secure two-party protocol for FingerCode idenficaon. The computaon involved in FingerCode comparisons is very simple, which results in an extremely efficient privacy-preserving realizaon. We rewrite the computaon in Equaon 4 as. In our protocol, the Euclidean distance is computed using homomorphic encrypon, while the comparisons are performed using garbled circuits. The secure FingerCode protocol is given in Figure 2: The client contributes encrypons of and to the computaon, while the server contributes and computes encrypon of from. Note that by using instead of, the server's work for each is reduced since negave values typically use significantly longer representaons. The protocol in Figure 2 uses DGK encrypon with the plaintext space of. To be able to represent the Euclidean distance, we need to set, where is the bitlength of elements and. This implies that all computaon on plaintexts is performed modulo ; for instance, is used in step 1 to form. The circuit used in step 2(c) takes two -bit values, adds them modulo, and compares the result to a constant as described in Secon 4.3. Finally, some of the computaon can be performed offline: For the client it includes precompung the random values used in the ciphertexts it sends in step 1 (i.e., the computaon of ). For the server it includes precompung, preparing a garbled circuit for each, and one-me computaon of random values for since the reuse of ciphertexts in this case does not affect security. The client and the server also perform some of OT funconality prior to protocol iniaon, as previously discussed. In literature on FingerCodes, each fingerprint in the server's database is represented by FingerCodes that correspond to different orientaons of the same fingerprint, which improves the accuracy of comparison. Then if the client is entled to receiving all matches within the FingerCodes corresponding to the same fingerprint, our protocol in Figure 2 computes exactly this funconality. If, on the other hand, it is desirable to output only a single bit for all instances of a fingerprint, it is easy to modify the circuit evaluated in step 2(c) of the protocol to compute the OR of the bits produced by the original circuits. The security of this protocol is straighorward to show and we omit the details of the simulator from the current descripon. As before, by using only tools known to be secure and protecng the informa- on at intermediate stages, neither the client nor the server learns informaon beyond what the protocol prescribes. 14

15 Table 2: Breakdown of the performance of the FingerCode idenficaon protocol. 3.6 msec msec/rec 1448 msec msec/rec msec msec/rec 61 msec 1025 msec msec/rec 1086 msec msec/rec KB KB/rec 11.6 KB KB/rec 0.22 msec msec/rec 0.05 msec/rec 0.22 msec msec/rec 4.7 msec msec/rec 0.16 msec/rec 4.7 msec msec/rec 2.12 KB KB/rec 0.74 KB/rec 2.12 KB KB/rec The FingerCode parameters can range as , 4-8, and. The implementaon we report uses parameters and and therefore. The performance of the secure FingerCode idenficaon protocol is given in Table 2. No inputs ( or ) are assumed to be known at the offline stage when the pares compute (among other things) randomizaon values of the ciphertexts. For that reason, a small fixed cost is inquired in the beginning of the protocol to finish forming the ciphertexts using the inputs. We also note that, based on addional experiments, by using Paillier encrypon instead of DGK encrypon, the server's online work increases by an order of magnitude, even if packing of mulple elements into a single ciphertext is used with Paillier encrypon. It is evident that the overhead reported in the table is minimal and the protocol is suitable for processing fingerprint data in real me. For example, for a database of 320 records (64 fingerprints with 5 FingerCodes each), client's online work is 0.35 sec and the server's online work is 0.45 sec, with online communicaon of 277KB. As can be seen from these results, computaon is no longer the boleneck and this secure two-party protocol can be carried out very efficiently. We next present a secure protocol for minua-based fingerprint idenficaon. It preserves the high-level idea of using homomorphic encrypon for compung the distance between minua points and garbled circuit evaluaon for comparisons, but introduces a number of new techniques. At high-level, compung the pairing between minuae of fingerprints and based on minimum distances between the points proceeds in iteraons as follows. and maintain an -bit array, the -th bit of which indicates whether minua has been marked or not. Inially, all bits of are set to 0. For, perform: 1. Compute the set of minuae from matching that have not been marked, i.e., and. 2. Compute the minua (if any) from with the minimum (spaal) distance from, and set. To preserve secrecy of the data, each bit of the array is maintained by and in XOR-split form, i.e., stores and stores such that. During each iteraon of the computaon, at the end of step 2 above, and obtain XOR-shares of an array that has bit set to 1 and all other bits set to 0 (and all bits are set to 0 if no pairing for exists). Both and update their share of by XORing the share of that they received with the current share of. This ensures that the array is properly maintained. 15

Modular arithme.c and cryptography

Modular arithme.c and cryptography Modular arithme.c and cryptography CSC 1300 Discrete Structures Villanova University Public Key Cryptography (Slides 11-32) by Dr. Lillian Cassel, Villanova University Villanova CSC 1300 - Dr Papalaskari

More information

M 2 R: Enabling Stronger Privacy in MapReduce Computa;on

M 2 R: Enabling Stronger Privacy in MapReduce Computa;on M 2 R: Enabling Stronger Privacy in MapReduce Computa;on Anh Dinh, Prateek Saxena, Ee- Chien Chang, Beng Chin Ooi, Chunwang Zhang School of Compu,ng Na,onal University of Singapore 1. Mo;va;on Distributed

More information

Collabora've, Privacy Preserving Data Aggrega'on at Scale

Collabora've, Privacy Preserving Data Aggrega'on at Scale Collabora've, Privacy Preserving Data Aggrega'on at Scale Michael J. Freedman Princeton University Joint work with: Benny Applebaum, Haakon Ringberg, MaHhew Caesar, and Jennifer Rexford Problem: Network

More information

Search Engines. Informa1on Retrieval in Prac1ce. Annota1ons by Michael L. Nelson

Search Engines. Informa1on Retrieval in Prac1ce. Annota1ons by Michael L. Nelson Search Engines Informa1on Retrieval in Prac1ce Annota1ons by Michael L. Nelson All slides Addison Wesley, 2008 Evalua1on Evalua1on is key to building effec$ve and efficient search engines measurement usually

More information

Defending Computer Networks Lecture 20: More Encryp1on. Stuart Staniford Adjunct Professor of Computer Science

Defending Computer Networks Lecture 20: More Encryp1on. Stuart Staniford Adjunct Professor of Computer Science Defending Computer Networks Lecture 20: More Encryp1on Stuart Staniford Adjunct Professor of Computer Science HW5 out on website Logis;cs Will need at least one correc;on Due Weds Dec 2nd No lectures next

More information

Writing a Fraction Class

Writing a Fraction Class Writing a Fraction Class So far we have worked with floa0ng-point numbers but computers store binary values, so not all real numbers can be represented precisely In applica0ons where the precision of real

More information

Privacy-Preserving Shortest Path Computa6on

Privacy-Preserving Shortest Path Computa6on Privacy-Preserving Shortest Path Computa6on David J. Wu, Joe Zimmerman, Jérémy Planul, and John C. Mitchell Stanford University Naviga6on desired des@na@on current posi@on Naviga6on: A Solved Problem?

More information

CS395T Visual Recogni5on and Search. Gautam S. Muralidhar

CS395T Visual Recogni5on and Search. Gautam S. Muralidhar CS395T Visual Recogni5on and Search Gautam S. Muralidhar Today s Theme Unsupervised discovery of images Main mo5va5on behind unsupervised discovery is that supervision is expensive Common tasks include

More information

1 A Tale of Two Lovers

1 A Tale of Two Lovers CS 120/ E-177: Introduction to Cryptography Salil Vadhan and Alon Rosen Dec. 12, 2006 Lecture Notes 19 (expanded): Secure Two-Party Computation Recommended Reading. Goldreich Volume II 7.2.2, 7.3.2, 7.3.3.

More information

Differen'al Privacy. CS 297 Pragya Rana

Differen'al Privacy. CS 297 Pragya Rana Differen'al Privacy CS 297 Pragya Rana Outline Introduc'on Privacy Data Analysis: The SeAng Impossibility of Absolute Disclosure Preven'on Achieving Differen'al Privacy Introduc'on Sta's'c: quan'ty computed

More information

CS6200 Informa.on Retrieval. David Smith College of Computer and Informa.on Science Northeastern University

CS6200 Informa.on Retrieval. David Smith College of Computer and Informa.on Science Northeastern University CS6200 Informa.on Retrieval David Smith College of Computer and Informa.on Science Northeastern University Indexing Process Indexes Indexes are data structures designed to make search faster Text search

More information

Secure Computation of Functionalities based on Hamming Distance and its Application to Computing Document Similarity

Secure Computation of Functionalities based on Hamming Distance and its Application to Computing Document Similarity Secure Computation of Functionalities based on Hamming Distance and its Application to Computing Document Similarity Ayman Jarrous 1 and Benny Pinkas 2,* 1 University of Haifa, Israel. 2 Bar Ilan University,

More information

Secure Multiparty Computation

Secure Multiparty Computation Secure Multiparty Computation Li Xiong CS573 Data Privacy and Security Outline Secure multiparty computation Problem and security definitions Basic cryptographic tools and general constructions Yao s Millionnare

More information

CSCI 1800 Cybersecurity and Interna4onal Rela4ons. Network Based Cyber A1acks John E. Savage Brown University

CSCI 1800 Cybersecurity and Interna4onal Rela4ons. Network Based Cyber A1acks John E. Savage Brown University CSCI 1800 Cybersecurity and Interna4onal Rela4ons Network Based Cyber A1acks John E. Savage Brown University Outline Firewalls, inward and outward facing. Tunneling SSH, IPsec Intrusion detec4on Types

More information

The ElGamal Public- key System

The ElGamal Public- key System Online Cryptography Course Dan Boneh Public key encryp3on from Diffie- Hellman The ElGamal Public- key System Recap: public key encryp3on: (Gen, E, D) Gen pk sk m c c m E D Recap: public- key encryp3on

More information

Alignment and Image Comparison

Alignment and Image Comparison Alignment and Image Comparison Erik Learned- Miller University of Massachuse>s, Amherst Alignment and Image Comparison Erik Learned- Miller University of Massachuse>s, Amherst Alignment and Image Comparison

More information

Search Engines. Informa1on Retrieval in Prac1ce. Annotations by Michael L. Nelson

Search Engines. Informa1on Retrieval in Prac1ce. Annotations by Michael L. Nelson Search Engines Informa1on Retrieval in Prac1ce Annotations by Michael L. Nelson All slides Addison Wesley, 2008 Indexes Indexes are data structures designed to make search faster Text search has unique

More information

CS573 Data Privacy and Security. Cryptographic Primitives and Secure Multiparty Computation. Li Xiong

CS573 Data Privacy and Security. Cryptographic Primitives and Secure Multiparty Computation. Li Xiong CS573 Data Privacy and Security Cryptographic Primitives and Secure Multiparty Computation Li Xiong Outline Cryptographic primitives Symmetric Encryption Public Key Encryption Secure Multiparty Computation

More information

Floa.ng Point : Introduc;on to Computer Systems 4 th Lecture, Sep. 10, Instructors: Randal E. Bryant and David R.

Floa.ng Point : Introduc;on to Computer Systems 4 th Lecture, Sep. 10, Instructors: Randal E. Bryant and David R. Floa.ng Point 15-213: Introduc;on to Computer Systems 4 th Lecture, Sep. 10, 2015 Instructors: Randal E. Bryant and David R. O Hallaron Today: Floa.ng Point Background: Frac;onal binary numbers IEEE floa;ng

More information

Introduction to Secure Multi-Party Computation

Introduction to Secure Multi-Party Computation Introduction to Secure Multi-Party Computation Many thanks to Vitaly Shmatikov of the University of Texas, Austin for providing these slides. slide 1 Motivation General framework for describing computation

More information

Inver&ble Bloom Lookup Tables and Applica&ons. Michael Mitzenmacher Joint work with Michael Goodrich, Rasmus Pagh, George Varghese

Inver&ble Bloom Lookup Tables and Applica&ons. Michael Mitzenmacher Joint work with Michael Goodrich, Rasmus Pagh, George Varghese Inver&ble Bloom Lookup Tables and Applica&ons Michael Mitzenmacher Joint work with Michael Goodrich, Rasmus Pagh, George Varghese Stragglers Problem Consider data streams that insert and delete many items,

More information

Decision Support Systems

Decision Support Systems Decision Support Systems 2011/2012 Week 3. Lecture 6 Previous Class Dimensions & Measures Dimensions: Item Time Loca0on Measures: Quan0ty Sales TransID ItemName ItemID Date Store Qty T0001 Computer I23

More information

CS101: Fundamentals of Computer Programming. Dr. Tejada www-bcf.usc.edu/~stejada Week 1 Basic Elements of C++

CS101: Fundamentals of Computer Programming. Dr. Tejada www-bcf.usc.edu/~stejada Week 1 Basic Elements of C++ CS101: Fundamentals of Computer Programming Dr. Tejada stejada@usc.edu www-bcf.usc.edu/~stejada Week 1 Basic Elements of C++ 10 Stacks of Coins You have 10 stacks with 10 coins each that look and feel

More information

Informa(on Retrieval

Informa(on Retrieval Introduc)on to Informa)on Retrieval CS3245 Informa(on Retrieval Lecture 7: Scoring, Term Weigh9ng and the Vector Space Model 7 Last Time: Index Compression Collec9on and vocabulary sta9s9cs: Heaps and

More information

Alignment and Image Comparison. Erik Learned- Miller University of Massachuse>s, Amherst

Alignment and Image Comparison. Erik Learned- Miller University of Massachuse>s, Amherst Alignment and Image Comparison Erik Learned- Miller University of Massachuse>s, Amherst Alignment and Image Comparison Erik Learned- Miller University of Massachuse>s, Amherst Alignment and Image Comparison

More information

Network and Communica1on Security

Network and Communica1on Security Network and Communica1on Security COS 461: Computer Networks Spring 2010 (MW 3:00 4:20 in COS 105) Mike Freedman hgp://www.cs.princeton.edu/courses/archive/spring10/cos461/ 1 Overview Network security

More information

Proac&vely Accountable Anonymous Messaging in Verdict

Proac&vely Accountable Anonymous Messaging in Verdict Proac&vely Accountable Anonymous Messaging in Verdict Henry Corrigan- Gibbs, David Isaac Wolinsky, and Bryan Ford Department of Computer Science Yale University 22 nd USENIX Security Symposium 14 August

More information

Applied Cryptography and Computer Security CSE 664 Spring 2018

Applied Cryptography and Computer Security CSE 664 Spring 2018 Applied Cryptography and Computer Security Lecture 13: Public-Key Cryptography and RSA Department of Computer Science and Engineering University at Buffalo 1 Public-Key Cryptography What we already know

More information

Overview. Basic Components. Internet s Design: Insecure. Network security and defini1ons Brief introduc1on to cryptography

Overview. Basic Components. Internet s Design: Insecure. Network security and defini1ons Brief introduc1on to cryptography Overview Network and Communica1on Security Network security and defini1ons Brief introduc1on to cryptography Cryptographic hash func1ons Symmetric- key crypto Public- key crypto IP- Sec DNS- Sec 1! 2!

More information

Informa(on Retrieval

Informa(on Retrieval Introduc)on to Informa)on Retrieval CS3245 Informa(on Retrieval Lecture 7: Scoring, Term Weigh9ng and the Vector Space Model 7 Last Time: Index Construc9on Sort- based indexing Blocked Sort- Based Indexing

More information

LOOP PARALLELIZATION!

LOOP PARALLELIZATION! PROGRAMMING LANGUAGES LABORATORY! Universidade Federal de Minas Gerais - Department of Computer Science LOOP PARALLELIZATION! PROGRAM ANALYSIS AND OPTIMIZATION DCC888! Fernando Magno Quintão Pereira! fernando@dcc.ufmg.br

More information

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons.

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons. Virtualization Yifu Rong Introduction Virtualiza5on provide an abstract environment to run applica5ons. Virtualiza5on technologies have a long trail in the history of computer science. Why we interested?

More information

Computer Security: Crypto & Web Security

Computer Security: Crypto & Web Security CSE 484 / CSE M 584 Computer Security: Crypto & Web Security TA: Thomas Crosley tcrosley@cs Many slides by Franziska Roesner and Adrian Sham HTTP://XKCD.COM/1323/ Lab 1 Deadline Reminders Lab 1 Final due

More information

Project: Embedded SMC

Project: Embedded SMC Project: Embedded SMC What is Secure Computa1on [SMC] A Compute f(a, B) Without revealing A to Bob and B to Alice B 2 Using a Trusted Third Party A B f(a, B) f(a, B) A Compute f(a, B) Without revealing

More information

Compiler Optimization Intermediate Representation

Compiler Optimization Intermediate Representation Compiler Optimization Intermediate Representation Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab Department of Electrical Engineering Indian Institute of Technology

More information

Lectures 6+7: Zero-Leakage Solutions

Lectures 6+7: Zero-Leakage Solutions Lectures 6+7: Zero-Leakage Solutions Contents 1 Overview 1 2 Oblivious RAM 1 3 Oblivious RAM via FHE 2 4 Oblivious RAM via Symmetric Encryption 4 4.1 Setup........................................ 5 4.2

More information

Privacy Protection in Biometric-Based Recognition Systems. cryptography and signal processing]

Privacy Protection in Biometric-Based Recognition Systems. cryptography and signal processing] [ Mauro Barni, Giulia Droandi, and Riccardo Lazzeretti ] Privacy Protection in Biometric-Based Recognition Systems [ A marriage between cryptography and signal processing] istockphoto.com/greyfebruary

More information

Introduction to Cryptography Lecture 7

Introduction to Cryptography Lecture 7 Introduction to Cryptography Lecture 7 El Gamal Encryption RSA Encryption Benny Pinkas page 1 1 Public key encryption Alice publishes a public key PK Alice. Alice has a secret key SK Alice. Anyone knowing

More information

LISP: LISt Processing

LISP: LISt Processing Introduc)on to Racket, a dialect of LISP: Expressions and Declara)ons LISP: designed by John McCarthy, 1958 published 1960 CS251 Programming Languages Spring 2017, Lyn Turbak Department of Computer Science

More information

Object Oriented Design (OOD): The Concept

Object Oriented Design (OOD): The Concept Object Oriented Design (OOD): The Concept Objec,ves To explain how a so8ware design may be represented as a set of interac;ng objects that manage their own state and opera;ons 1 Topics covered Object Oriented

More information

Online Cryptography Course. Basic key exchange. Trusted 3 rd par7es. Dan Boneh

Online Cryptography Course. Basic key exchange. Trusted 3 rd par7es. Dan Boneh Online Cryptography Course Dan Boneh Basic key exchange Trusted 3 rd par7es Key management Problem: n users. Storing mutual secret keys is difficult Total: O(n) keys per user A befer solu7on Online Trusted

More information

Kiss, Ágnes; Liu, Jian; Schneider, Thomas ; Asokan, N.; Pinkas, Benny Private Set Intersection for Unequal Set Sizes with Mobile Applications

Kiss, Ágnes; Liu, Jian; Schneider, Thomas ; Asokan, N.; Pinkas, Benny Private Set Intersection for Unequal Set Sizes with Mobile Applications Powered by TCPDF (www.tcpdf.org) This is an electronic reprint of the original article. This reprint may differ from the original in pagination and typographic detail. Kiss, Ágnes; Liu, Jian; Schneider,

More information

RSA. Public Key CryptoSystem

RSA. Public Key CryptoSystem RSA Public Key CryptoSystem DIFFIE AND HELLMAN (76) NEW DIRECTIONS IN CRYPTOGRAPHY Split the Bob s secret key K to two parts: K E, to be used for encrypting messages to Bob. K D, to be used for decrypting

More information

Secure hashing, authen/ca/on

Secure hashing, authen/ca/on Secure hashing, authen/ca/on root@topi:/etc# more shadow root:$6$1z2.cqoj$bib7hoc7byvsvclmpc1c5f/h.gaddflg1xa2fqknmaoabwzi1ysldik2gikuebeo ugj33w8h4qdiwyvamlfij2eu.:15138:0:99999:7::: daemon:*:15040:0:99999:7:::

More information

Algorithms Lecture 11. UC Davis, ECS20, Winter Discrete Mathematics for Computer Science

Algorithms Lecture 11. UC Davis, ECS20, Winter Discrete Mathematics for Computer Science UC Davis, ECS20, Winter 2017 Discrete Mathematics for Computer Science Prof. Raissa D Souza (slides adopted from Michael Frank and Haluk Bingöl) Lecture 11 Algorithms 3.1-3.2 Algorithms Member of the House

More information

Lecture 1 Introduc-on

Lecture 1 Introduc-on Lecture 1 Introduc-on What would you get out of this course? Structure of a Compiler Op9miza9on Example 15-745: Introduc9on 1 What Do Compilers Do? 1. Translate one language into another e.g., convert

More information

Ar#ficial Intelligence

Ar#ficial Intelligence Ar#ficial Intelligence Advanced Searching Prof Alexiei Dingli Gene#c Algorithms Charles Darwin Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for

More information

Introduction to Cryptography Lecture 7

Introduction to Cryptography Lecture 7 Introduction to Cryptography Lecture 7 Public-Key Encryption: El-Gamal, RSA Benny Pinkas page 1 1 Public key encryption Alice publishes a public key PK Alice. Alice has a secret key SK Alice. Anyone knowing

More information

Machine Learning Crash Course: Part I

Machine Learning Crash Course: Part I Machine Learning Crash Course: Part I Ariel Kleiner August 21, 2012 Machine learning exists at the intersec

More information

Informa/on Retrieval. Text Search. CISC437/637, Lecture #23 Ben CartereAe. Consider a database consis/ng of long textual informa/on fields

Informa/on Retrieval. Text Search. CISC437/637, Lecture #23 Ben CartereAe. Consider a database consis/ng of long textual informa/on fields Informa/on Retrieval CISC437/637, Lecture #23 Ben CartereAe Copyright Ben CartereAe 1 Text Search Consider a database consis/ng of long textual informa/on fields News ar/cles, patents, web pages, books,

More information

Protocols for Authenticated Oblivious Transfer

Protocols for Authenticated Oblivious Transfer Protocols for Authenticated Oblivious Transfer Mehrad Jaberi, Hamid Mala Department of Computer Engineering University of Isfahan Isfahan, Iran mehrad.jaberi@eng.ui.ac.ir, h.mala@eng.ui.ac.ir Abstract

More information

Introduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption

Introduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption Introduction to Cryptography and Security Mechanisms: Unit 5 Public-Key Encryption Learning Outcomes Explain the basic principles behind public-key cryptography Recognise the fundamental problems that

More information

Floats are not Reals. BIL 220 Introduc6on to Systems Programming Spring Instructors: Aykut & Erkut Erdem

Floats are not Reals. BIL 220 Introduc6on to Systems Programming Spring Instructors: Aykut & Erkut Erdem Floats are not Reals BIL 220 Introduc6on to Systems Programming Spring 2012 Instructors: Aykut & Erkut Erdem Acknowledgement: The course slides are adapted from the slides prepared by R.E. Bryant, D.R.

More information

Secure Multiparty Computation

Secure Multiparty Computation CS573 Data Privacy and Security Secure Multiparty Computation Problem and security definitions Li Xiong Outline Cryptographic primitives Symmetric Encryption Public Key Encryption Secure Multiparty Computation

More information

Security of Wireless Networks. Srdjan Čapkun Department of Computer Science ETH Zurich

Security of Wireless Networks. Srdjan Čapkun Department of Computer Science ETH Zurich Security of Wireless Networks Srdjan Čapkun Department of Computer Science ETH Zurich Broadcast Authen;ca;on Tesla and ICodes Broadcast Authen;ca;on Broadcast Message Authen;ca;on One sender, a number

More information

Deformable Part Models

Deformable Part Models Deformable Part Models References: Felzenszwalb, Girshick, McAllester and Ramanan, Object Detec@on with Discrimina@vely Trained Part Based Models, PAMI 2010 Code available at hkp://www.cs.berkeley.edu/~rbg/latent/

More information

Towards Provably Secure and Correct Systems. Avik Chaudhuri

Towards Provably Secure and Correct Systems. Avik Chaudhuri Towards Provably Secure and Correct Systems Avik Chaudhuri Systems we rely on Opera

More information

: Advanced Compiler Design. 8.0 Instruc?on scheduling

: Advanced Compiler Design. 8.0 Instruc?on scheduling 6-80: Advanced Compiler Design 8.0 Instruc?on scheduling Thomas R. Gross Computer Science Department ETH Zurich, Switzerland Overview 8. Instruc?on scheduling basics 8. Scheduling for ILP processors 8.

More information

Michael Zohner (TU Darmstadt)

Michael Zohner (TU Darmstadt) ABY -A Framework for Efficient Mixed-Protocol Secure Two-Party Computation Michael Zohner (TU Darmstadt) Joint work with Daniel Demmler and Thomas Schneider 19.02.15 ABY: Mixed-Protocol Secure Two-Party

More information

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects

Today s Objec2ves. Kerberos. Kerberos Peer To Peer Overlay Networks Final Projects Today s Objec2ves Kerberos Peer To Peer Overlay Networks Final Projects Nov 27, 2017 Sprenkle - CSCI325 1 Kerberos Trusted third party, runs by default on port 88 Security objects: Ø Ticket: token, verifying

More information

A Systematic Approach to Practically Efficient General Two-Party Secure Function Evaluation Protocols and Their Modular Design

A Systematic Approach to Practically Efficient General Two-Party Secure Function Evaluation Protocols and Their Modular Design A Systematic Approach to Practically Efficient General Two-Party Secure Function Evaluation Protocols and Their Modular Design Vladimir Kolesnikov Alcatel-Lucent Bell Laboratories Murray Hill, NJ 07974,

More information

Computer Networks. Shyam Gollakota

Computer Networks. Shyam Gollakota Computer Networks Shyam Gollakota Topic Some bits will be received in error due to noise. What can we do? Detect errors with codes» Correct errors with codes» Retransmit lost frames Later Reliability is

More information

{HEADSHOT} In this lesson, we will look at the process that enables to leverage this source of real- world tes;ng data.

{HEADSHOT} In this lesson, we will look at the process that enables to leverage this source of real- world tes;ng data. {HEADSHOT} Despite our best efforts, even a9er extensive tes;ng, we as so9ware developers rarely put out bug- free code. In this lesson, we will look at a type of debugging technique used throughout the

More information

Spa$al Analysis and Modeling (GIST 4302/5302) Guofeng Cao Department of Geosciences Texas Tech University

Spa$al Analysis and Modeling (GIST 4302/5302) Guofeng Cao Department of Geosciences Texas Tech University Spa$al Analysis and Modeling (GIST 432/532) Guofeng Cao Department of Geosciences Texas Tech University Representa$on of Spa$al Data Representa$on of Spa$al Data Models Object- based model: treats the

More information

Computer Programming-I. Developed by: Strawberry

Computer Programming-I. Developed by: Strawberry Computer Programming-I Objec=ve of CP-I The course will enable the students to understand the basic concepts of structured programming. What is programming? Wri=ng a set of instruc=ons that computer use

More information

Computer Security Sec4on Week 4: Cryptography

Computer Security Sec4on Week 4: Cryptography CSE 484 / CSE M 584 Computer Security Sec4on Week 4: Cryptography TA: Thomas Crosley tcrosley@cs Thanks to Franzi Roesner and Adrian Sham for previous slides [Examples/Images thanks to Wikipedia.] Administrivia

More information

W1005 Intro to CS and Programming in MATLAB. Brief History of Compu?ng. Fall 2014 Instructor: Ilia Vovsha. hip://www.cs.columbia.

W1005 Intro to CS and Programming in MATLAB. Brief History of Compu?ng. Fall 2014 Instructor: Ilia Vovsha. hip://www.cs.columbia. W1005 Intro to CS and Programming in MATLAB Brief History of Compu?ng Fall 2014 Instructor: Ilia Vovsha hip://www.cs.columbia.edu/~vovsha/w1005 Computer Philosophy Computer is a (electronic digital) device

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2013 CS 161 Computer Security 3/14 Asymmetric cryptography Previously we saw symmetric-key cryptography, where Alice and Bob share a secret key K. However, symmetric-key cryptography can

More information

Key Exchange. Secure Software Systems

Key Exchange. Secure Software Systems 1 Key Exchange 2 Challenge Exchanging Keys &!"#h%&'() & & 1 2 6(6 1) 2 15! $ The more parties in communication, the more keys that need to be securely exchanged " # Do we have to use out-of-band methods?

More information

Understanding Cryptography and Audi?ng Public Key Infrastructures

Understanding Cryptography and Audi?ng Public Key Infrastructures Understanding Cryptography and Audi?ng Public Key Infrastructures Rami Elkinawy, Senior Audit Manager, ebay Professional Strategies S31 CRISC CGEIT CISM CISA THE HISTORY OF CRYPTOGRAPHY CRISC CGEIT CISM

More information

Ensemble- Based Characteriza4on of Uncertain Features Dennis McLaughlin, Rafal Wojcik

Ensemble- Based Characteriza4on of Uncertain Features Dennis McLaughlin, Rafal Wojcik Ensemble- Based Characteriza4on of Uncertain Features Dennis McLaughlin, Rafal Wojcik Hydrology TRMM TMI/PR satellite rainfall Neuroscience - - MRI Medicine - - CAT Geophysics Seismic Material tes4ng Laser

More information

Secure Distributed Computa2ons (and their Proofs)

Secure Distributed Computa2ons (and their Proofs) Secure Distributed Computa2ons (and their Proofs) Pedro Adao Gilles Barthe Ricardo Corin Pierre- Malo Deniélou Gurvan le Guernic Nataliya Guts Eugen Zalinescu San2ago Zanella Béguelin Karthik Bhargavan

More information

Spa$al Analysis and Modeling (GIST 4302/5302) Guofeng Cao Department of Geosciences Texas Tech University

Spa$al Analysis and Modeling (GIST 4302/5302) Guofeng Cao Department of Geosciences Texas Tech University Spa$al Analysis and Modeling (GIST 4302/5302) Guofeng Cao Department of Geosciences Texas Tech University Class Outlines Spatial Point Pattern Regional Data (Areal Data) Continuous Spatial Data (Geostatistical

More information

2018: Problem Set 1

2018: Problem Set 1 crypt@b-it 2018 Problem Set 1 Mike Rosulek crypt@b-it 2018: Problem Set 1 1. Sometimes it is not clear whether certain behavior is an attack against a protocol. To decide whether something is an attack

More information

Secure Outsourced Biometric Authentication with Performance Evaluation on Smartphones

Secure Outsourced Biometric Authentication with Performance Evaluation on Smartphones Secure Outsourced Biometric Authentication with Performance Evaluation on Smartphones Jaroslav Šeděnka, Sathya Govindarajan, Paolo Gasti, Kiran S. Balagani New York Institute of Technology {jsedenka,sgovin,pgasti,kbalagan}@nyit.edu

More information

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Public Key Cryptography Modular Arithmetic RSA

More information

Public key encryp4on: defini4ons and security

Public key encryp4on: defini4ons and security Online Cryptography Course Dan Boneh Public Key Encryp4on from trapdoor permuta4ons Public key encryp4on: defini4ons and security Public key encryp4on Bob: generates (PK, SK) and gives PK to Alice Alice

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 11 October 4, 2017 CPSC 467, Lecture 11 1/39 ElGamal Cryptosystem Message Integrity and Authenticity Message authentication codes

More information

Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD

Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD Op#mizing PGAS overhead in a mul#-locale Chapel implementa#on of CoMD Riyaz Haque and David F. Richards This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore

More information

ISA 562: Information Security, Theory and Practice. Lecture 1

ISA 562: Information Security, Theory and Practice. Lecture 1 ISA 562: Information Security, Theory and Practice Lecture 1 1 Encryption schemes 1.1 The semantics of an encryption scheme. A symmetric key encryption scheme allows two parties that share a secret key

More information

iden+fy and represent numbers using objects and pictorial representa+ons

iden+fy and represent numbers using objects and pictorial representa+ons count to and across 100, forwards and backwards, beginning with 0 or 1, or from any given count, read and write s to 100 in numerals; count in mul+ples of twos, fives and tens given a, iden+fy one more

More information

UNIT IV: DATA PATH DESIGN

UNIT IV: DATA PATH DESIGN UNIT IV: DATA PATH DESIGN Agenda Introduc/on Fixed Point Arithme/c Addi/on Subtrac/on Mul/plica/on & Serial mul/plier Division & Serial Divider Two s Complement (Addi/on, Subtrac/on) Booth s algorithm

More information

- Presentation 25 minutes + 5 minutes for questions. - Presentation is on Wednesday, 11:30-12:00 in B05-B06

- Presentation 25 minutes + 5 minutes for questions. - Presentation is on Wednesday, 11:30-12:00 in B05-B06 Information: - Presentation 25 minutes + 5 minutes for questions. - Presentation is on Wednesday, 11:30-12:00 in B05-B06 - Presentation is after: Abhi Shelat (fast two-party secure computation with minimal

More information

CS6200 Informa.on Retrieval. David Smith College of Computer and Informa.on Science Northeastern University

CS6200 Informa.on Retrieval. David Smith College of Computer and Informa.on Science Northeastern University CS6200 Informa.on Retrieval David Smith College of Computer and Informa.on Science Northeastern University Course Goals To help you to understand search engines, evaluate and compare them, and

More information

Program Verification (Rosen, Sections 5.5)

Program Verification (Rosen, Sections 5.5) Program Verification (Rosen, Sections 5.5) TOPICS Program Correctness Preconditions & Postconditions Program Verification Assignments Composition Conditionals Loops Proofs about Programs Why study logic?

More information

Sai Praveen Sadhu George Mason University Fall 2014, ECE 646

Sai Praveen Sadhu George Mason University Fall 2014, ECE 646 Sai Praveen Sadhu George Mason University Fall 2014, ECE 646 VoIP - > Voice over IP Technology to send voice and mul9media over Internet Protocol. Skype is a good example of VoIP. Skype was developed in

More information

Michael Zohner (TU Darmstadt)

Michael Zohner (TU Darmstadt) ABY - A Framework for Efficient Mixed-Protocol Secure Two-Party Computation Michael Zohner (TU Darmstadt) Joint work with Daniel Demmler and Thomas Schneider 11.02.14 ABY: Mixed-Protocol Secure Two-Party

More information

hashfs Applying Hashing to Op2mize File Systems for Small File Reads

hashfs Applying Hashing to Op2mize File Systems for Small File Reads hashfs Applying Hashing to Op2mize File Systems for Small File Reads Paul Lensing, Dirk Meister, André Brinkmann Paderborn Center for Parallel Compu2ng University of Paderborn Mo2va2on and Problem Design

More information

Network Coding: Theory and Applica7ons

Network Coding: Theory and Applica7ons Network Coding: Theory and Applica7ons PhD Course Part IV Tuesday 9.15-12.15 18.6.213 Muriel Médard (MIT), Frank H. P. Fitzek (AAU), Daniel E. Lucani (AAU), Morten V. Pedersen (AAU) Plan Hello World! Intra

More information

RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining

RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining RV: A Run'me Verifica'on Framework for Monitoring, Predic'on and Mining Patrick Meredith Grigore Rosu University of Illinois at Urbana Champaign (UIUC) Run'me Verifica'on, Inc. (joint work with Dongyun

More information

Secure Hamming Distance based Biometric Authentication

Secure Hamming Distance based Biometric Authentication Secure Hamming Distance based Biometric Authentication ohan Kulkarni Anoop Namboodiri International Institute of Information Technology Hyderabad {rohan.kulkarni@research, anoop@}.iiit.ac.in Abstract Concerns

More information

(Ever More) Efficient Protocols for Secure Jonathan Katz Associate Professor Dept. of Computer Science

(Ever More) Efficient Protocols for Secure Jonathan Katz Associate Professor Dept. of Computer Science (Ever More) Efficient Protocols for Secure Computa@on Jonathan Katz Associate Professor Dept. of Computer Science x 7 x 6 x 1 (y 1,y 2,,y n ) = f(x 1,x 2,,x n ) x 5 x 2 x 4 x 3 x 7 xy 7 x 6 x 1 xy 1 xy

More information

Trustworthy Keyword Search for Regulatory Compliant Records Reten;on

Trustworthy Keyword Search for Regulatory Compliant Records Reten;on Trustworthy Keyword Search for Regulatory Compliant Records Reten;on S. Mitra, W. Hsu, M. WinsleA Presented by Thao Pham Introduc;on Important documents: emails, mee;ng memos, must be maintained in a trustworthy

More information

STA 4273H: Sta-s-cal Machine Learning

STA 4273H: Sta-s-cal Machine Learning STA 4273H: Sta-s-cal Machine Learning Russ Salakhutdinov Department of Statistics! rsalakhu@utstat.toronto.edu! h0p://www.cs.toronto.edu/~rsalakhu/ Lecture 3 Parametric Distribu>ons We want model the probability

More information

Approximating Private Set Union/Intersection Cardinality with Logarithmic Complexity

Approximating Private Set Union/Intersection Cardinality with Logarithmic Complexity Approximating Private Set Union/Intersection Cardinality with Logarithmic Complexity Changyu Dong, Grigorios Loukides Abstract The computation of private set union/intersection cardinality (PSU-CA/PSI-CA)

More information

What is Search For? CS 188: Ar)ficial Intelligence. Constraint Sa)sfac)on Problems Sep 14, 2015

What is Search For? CS 188: Ar)ficial Intelligence. Constraint Sa)sfac)on Problems Sep 14, 2015 CS 188: Ar)ficial Intelligence Constraint Sa)sfac)on Problems Sep 14, 2015 What is Search For? Assump)ons about the world: a single agent, determinis)c ac)ons, fully observed state, discrete state space

More information

Lecture 2 Data Cube Basics

Lecture 2 Data Cube Basics CompSci 590.6 Understanding Data: Theory and Applica>ons Lecture 2 Data Cube Basics Instructor: Sudeepa Roy Email: sudeepa@cs.duke.edu 1 Today s Papers 1. Gray- Chaudhuri- Bosworth- Layman- Reichart- Venkatrao-

More information

Secure Multi-party Computation

Secure Multi-party Computation Secure Multi-party Computation What it is, and why you d care Manoj Prabhakaran University of Illinois, Urbana-Champaign SMC SMC SMC conceived more than 30 years back SMC SMC conceived more than 30 years

More information

Document Databases: MongoDB

Document Databases: MongoDB NDBI040: Big Data Management and NoSQL Databases hp://www.ksi.mff.cuni.cz/~svoboda/courses/171-ndbi040/ Lecture 9 Document Databases: MongoDB Marn Svoboda svoboda@ksi.mff.cuni.cz 28. 11. 2017 Charles University

More information