TL;DR: A new approach to solving cryptographic problems by adapting both the problem description and the solver synchronously instead of tweaking just one of them is presented, which was able to solve a well-researched stream cipher 26 times faster than was previously possible.
Abstract: Cryptography ensures the confidentiality and authenticity of information but often relies on unproven assumptions. SAT solvers are a powerful tool to test the hardness of certain problems and have successfully been used to test hardness assumptions. This paper extends a SAT solver to efficiently work on cryptographic problems. The paper further illustrates how SAT solvers process cryptographic functions using automatically generated visualizations, introduces techniques for simplifying the solving process by modifying cipher representations, and demonstrates the feasibility of the approach by solving three stream ciphers.
To optimize a SAT solver for cryptographic problems, we extended the solver's input language to support the XOR operation that is common in cryptography. To better understand the inner workings of the adapted solver and to identify bottlenecks, we visualize its execution. Finally, to improve the solving time significantly, we remove these bottlenecks by altering the function representation and by pre-parsing the resulting system of equations.
The main contribution of this paper is a new approach to solving cryptographic problems by adapting both the problem description and the solver synchronously instead of tweaking just one of them. Using these techniques, we were able to solve a well-researched stream cipher 26 times faster than was previously possible.
TL;DR: A new vision for computer science education is presented, centered around the use of test-driven development in all programming assignments, from the beginning of CS1, to induce a cultural shift in how students behave.
Abstract: Despite our best efforts and intentions as educators, student programmers continue to struggle in acquiring comprehension and analysis skills. Students believe that once a program runs on sample data, it is correct; most programming errors are reported by the compiler; when a program misbehaves, shuffling statements and tweaking expressions to see what happens is the best debugging approach. This paper presents a new vision for computer science education centered around the use of test-driven development in all programming assignments, from the beginning of CS1. A key element to the strategy is comprehensive, automated evaluation of student work, in terms of correctness, the thoroughness and validity of the student's tests, and an automatic coding style assessment performed using industrial-strength tools. By systematically applying the strategy across the curriculum as part of a student's regular programming activities, and by providing rapid, concrete, useful feedback that students find valuable, it is possible to induce a cultural shift in how students behave.
Phillip Isola, Jun‐Yan Zhu, Tao Zhou, Alexei A. Efros
1 Jan 2016
TL;DR: Image-to-image translation with conditional adversarial networks is a general-purpose solution that learns the mapping from input image to output image and a loss function to train this mapping.
Abstract: We investigate conditional adversarial networks as a general-purpose solution to image-to-image translation problems. These networks not only learn the mapping from input image to output image, but also learn a loss function to train this mapping. This makes it possible to apply the same generic approach to problems that traditionally would require very different loss formulations. We demonstrate that this approach is effective at synthesizing photos from label maps, reconstructing objects from edge maps, and colorizing images, among other tasks. Indeed, since the release of the pix2pix software associated with this paper, a large number of internet users (many of them artists) have posted their own experiments with our system, further demonstrating its wide applicability and ease of adoption without the need for parameter tweaking. As a community, we no longer hand-engineer our mapping functions, and this work suggests we can achieve reasonable results without hand-engineering our loss functions either.
TL;DR: It is argued for the use of hybrid examplebased learning techniques to incorporate expert knowledge of character motion in the form of animations into an interactive procedural engine, and it is shown that a quaternion representation of the orientation of a joint affords computational efficiency along with mathematical robustness.
Abstract: A real-time motion engine for interactive synthetic characters, either virtual or physical, needs to allow expressivity and interactivity of motion in order to maintain the illusion of life. Canned animation examples from an animator or motion capture device are expressive, but not very interactive, often leading to repetition. Conversely, numerical procedural techniques such as Inverse Kinematics (IK) tend to be very interactive, but often appear “robotic” and require parameter tweaking by hand. We argue for the use of hybrid examplebased learning techniques to incorporate expert knowledge of character motion in the form of animations into an interactive procedural engine. Example-based techniques require appropriate distance metrics, statistical analysis and synthesis primitives, along with the ability to blend examples; furthermore, many machine learning techniques are sensitive to the choice of representation. We show that a quaternion representation of the orientation of a joint affords us computational efficiency along with mathematical robustness, such as avoiding gimbal lock in the Euler angle representation. We show how to use quaternions and their exponential mappings to create distance metrics on character poses, perform simple statistical analysis of joint motion limits and blend multiple poses together. We demonstrate these joint primitives on three techniques which we consider useful for combining animation knowledge with procedural algorithms: 1) pose blending, 2) joint motion statistics and 3) expressive IK. We discuss several projects designed using these primitives and offer insights for programmers building real-time motion engines for expressive interactive characters. Thesis Supervisor: Bruce M. Blumberg Title: Asahi Broadcasting Corporation Career Development Associate Professor of Media Arts and Sciences
TL;DR: The design of an accurate MapReduce simulator, MRPerf, is presented, which can serve as a design tool for Map Reduce infrastructure, and as a planning tool for making Map reduce deployment far easier via reduction in the number of parameters that currently have to be hand-tuned using rules of thumb.
Abstract: Recently, there has been a huge growth in the amount of data processed by enterprises and the scientific computing community. Two promising trends ensure that applications will be able to deal with ever increasing data volumes: First, the emergence of cloud computing, which provides transparent access to a large number of compute, storage and networking resources; and second, the development of the MapReduce programming model, which provides a high-level abstraction for data-intensive computing. However, the design space of these systems has not been explored in detail. Specifically, the impact of various design choices and run-time parameters of a MapReduce system on application performance remains an open question.To this end, we embarked on systematically understanding the performance of MapReduce systems, but soon realized that understanding effects of parameter tweaking in a large-scale setup with many variables was impractical. Consequently, in this paper, we present the design of an accurate MapReduce simulator, MRPerf, for facilitating exploration of MapReduce design space. MRPerf captures various aspects of a MapReduce setup, and uses this information to predict expected application performance. In essence, MRPerf can serve as a design tool for MapReduce infrastructure, and as a planning tool for making MapReduce deployment far easier via reduction in the number of parameters that currently have to be hand-tuned using rules of thumb.Our validation of MRPerf using data from medium-scale production clusters shows that it is able to predict application performance accurately, and thus can be a useful tool in enabling cloud computing. Moreover, an initial application of MRPerf to our test clusters running Hadoop, revealed a performance bottleneck, fixing which resulted in up to 28.05% performance improvement.