3 resultados para Cryptographic keys

em DRUM (Digital Repository at the University of Maryland)


Relevância:

60.00% 60.00%

Publicador:

Resumo:

The big data era has dramatically transformed our lives; however, security incidents such as data breaches can put sensitive data (e.g. photos, identities, genomes) at risk. To protect users' data privacy, there is a growing interest in building secure cloud computing systems, which keep sensitive data inputs hidden, even from computation providers. Conceptually, secure cloud computing systems leverage cryptographic techniques (e.g., secure multiparty computation) and trusted hardware (e.g. secure processors) to instantiate a “secure” abstract machine consisting of a CPU and encrypted memory, so that an adversary cannot learn information through either the computation within the CPU or the data in the memory. Unfortunately, evidence has shown that side channels (e.g. memory accesses, timing, and termination) in such a “secure” abstract machine may potentially leak highly sensitive information, including cryptographic keys that form the root of trust for the secure systems. This thesis broadly expands the investigation of a research direction called trace oblivious computation, where programming language techniques are employed to prevent side channel information leakage. We demonstrate the feasibility of trace oblivious computation, by formalizing and building several systems, including GhostRider, which is a hardware-software co-design to provide a hardware-based trace oblivious computing solution, SCVM, which is an automatic RAM-model secure computation system, and ObliVM, which is a programming framework to facilitate programmers to develop applications. All of these systems enjoy formal security guarantees while demonstrating a better performance than prior systems, by one to several orders of magnitude.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The purpose of this dissertation is to produce a new Harmonie arrangement of Mozart’s Die Zauberflöte suitable for modern performance, bringing Joseph Heidenreich’s 1782 arrangement—one of the great treasures of the wind repertoire—to life for future performers and audiences. I took advantage of the capabilities of modern wind instruments and performance techniques, and employed other instruments normally found in the modern wind ensemble to create a work in the tradition of Heidenreich’s that restored as much of Mozart’s original thinking as possible. I expanded the Harmonie band to include flute and string bass. Other instruments provide special effects, a traditional role for wind instruments in the Classical opera orchestra. This arrangement is conceived to be performed with the original vocal soloists, making it a viable option for concert performance or for smaller staged productions. It is also intended to allow the wind players to be onstage with the singers, becoming part of the dramatic action while simultaneously serving as the “opera orchestra.” This allows creative staging possibilities, and offers the wind players an opportunity to explore new aspects of performing. My arrangement also restores Mozart’s music to its original keys and retains much of his original wind scoring. This arrangement expands the possibilities for collaboration between opera studios, voice departments or community opera companies and wind ensembles. A suite for winds without voices (currently in production) will allow conductors to program this major work from the Classical era without dedicating a concert program to the complete opera. Excerpted arias and duets from this arrangement provide vocalists the option of using chamber wind accompaniment on recitals. The door is now open to arrangements of other operas by composers such as Mozart, Rossini and Weber, adding new repertoire for chamber winds and bringing great music to life in a new way.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Secure Multi-party Computation (MPC) enables a set of parties to collaboratively compute, using cryptographic protocols, a function over their private data in a way that the participants do not see each other's data, they only see the final output. Typical MPC examples include statistical computations over joint private data, private set intersection, and auctions. While these applications are examples of monolithic MPC, richer MPC applications move between "normal" (i.e., per-party local) and "secure" (i.e., joint, multi-party secure) modes repeatedly, resulting overall in mixed-mode computations. For example, we might use MPC to implement the role of the dealer in a game of mental poker -- the game will be divided into rounds of local decision-making (e.g. bidding) and joint interaction (e.g. dealing). Mixed-mode computations are also used to improve performance over monolithic secure computations. Starting with the Fairplay project, several MPC frameworks have been proposed in the last decade to help programmers write MPC applications in a high-level language, while the toolchain manages the low-level details. However, these frameworks are either not expressive enough to allow writing mixed-mode applications or lack formal specification, and reasoning capabilities, thereby diminishing the parties' trust in such tools, and the programs written using them. Furthermore, none of the frameworks provides a verified toolchain to run the MPC programs, leaving the potential of security holes that can compromise the privacy of parties' data. This dissertation presents language-based techniques to make MPC more practical and trustworthy. First, it presents the design and implementation of a new MPC Domain Specific Language, called Wysteria, for writing rich mixed-mode MPC applications. Wysteria provides several benefits over previous languages, including a conceptual single thread of control, generic support for more than two parties, high-level abstractions for secret shares, and a fully formalized type system and operational semantics. Using Wysteria, we have implemented several MPC applications, including, for the first time, a card dealing application. The dissertation next presents Wys*, an embedding of Wysteria in F*, a full-featured verification oriented programming language. Wys* improves on Wysteria along three lines: (a) It enables programmers to formally verify the correctness and security properties of their programs. As far as we know, Wys* is the first language to provide verification capabilities for MPC programs. (b) It provides a partially verified toolchain to run MPC programs, and finally (c) It enables the MPC programs to use, with no extra effort, standard language constructs from the host language F*, thereby making it more usable and scalable. Finally, the dissertation develops static analyses that help optimize monolithic MPC programs into mixed-mode MPC programs, while providing similar privacy guarantees as the monolithic versions.