05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6

Browse

Search Results

Now showing 1 - 2 of 2
  • Thumbnail Image
    ItemOpen Access
    Classification of cryptographic libraries
    (2017) Poppele, Andreas; Eichler, Rebecca; Jäger, Roland
    Software developers today are faced with choosing cryptographic libraries in order to implement security concepts. There is a large variety of cryptographic libraries for diverse programming languages, without there being a standardized conception of different properties of these cryptographic libraries. This report provides a classification of over 700 cryptographic libraries. The libraries were chosen pertaining to currentness and popularity. In order to provide a standardized overview the most important traits and characteristics of these libraries were gathered and defined. Data collection on these characteristics was performed in a manual as well as automated fashion. The classification contains information that will help experienced and inexperienced developers in the cryptographic field to choose a library that fits their abilities. Furthermore, it may be used as a basis for studies concerning any form of improvement of these libraries and many more.
  • Thumbnail Image
    ItemOpen Access
    Typesafe parallel serialization with SKilL/Rust
    (2018) Jäger, Roland
    The goal of this thesis is to provide a generator for SKilL that targets Rust. Since Rusts type system enforces strict rules to offer guaranteed thread safety the generated binding has to accommodate these rules, which makes it difficult to create a graph with cycles. A lot of the effort goes into the research and creation of solutions for the missing inheritance between structs and the resulting missing casting functionality in the language. In conjunction an option has to be found that allows Rusts rules to be enforced at runtime that works with the enhanced inheritance support. Peculiarly, the resulting implementation is not able to benefit from Rusts rules in regard to safe parallelism, as the runtime enforcement of these rules inhibits parallelism. To validate that the implementation works as expected pre-existing functional tests are used. Additionally performance tests are executed to see how Rust bindings fare against a reference implementation in C++.