1,353 research outputs found
Linear cryptanalysis of pseudorandom functions
RelatĂłrio de projeto de pesquisa.In this paper, we study linear relations propagating across block ciphers from the key input to the ciphertext (for a fixed plaintext block). This is a usual setting of a one-way function, used for instance in modes of operation such as KFB (key feedback). We instantiate the block cipher with the full 16-round DES and -DES, 10-round LOKI91 and 24-round Khufu, for which linear relations with high bias are well known. Other interesting targets include the full 8.5-round IDEA and PES ciphers for which high bias linear relations exist under the assumption of weak keys. Consequences of these findings impact the security of modes of operation such as KFB and of pseudorandom number/bit generators. These analyses were possible due to the linear structure and the poor diffusion of the key schedule algorithms. These findings shall motivate carefull (re)design of current and future key schedule algorithms
Communication-Efficient Probabilistic Algorithms: Selection, Sampling, and Checking
Diese Dissertation behandelt drei grundlegende Klassen von Problemen in Big-Data-Systemen, fĂŒr die wir kommunikationseffiziente probabilistische Algorithmen entwickeln. Im ersten Teil betrachten wir verschiedene Selektionsprobleme, im zweiten Teil das Ziehen gewichteter Stichproben (Weighted Sampling) und im dritten Teil die probabilistische KorrektheitsprĂŒfung von Basisoperationen in Big-Data-Frameworks (Checking). Diese Arbeit ist durch einen wachsenden Bedarf an Kommunikationseffizienz motiviert, der daher rĂŒhrt, dass der auf das Netzwerk und seine Nutzung zurĂŒckzufĂŒhrende Anteil sowohl der Anschaffungskosten als auch des Energieverbrauchs von Supercomputern und der Laufzeit verteilter Anwendungen immer weiter wĂ€chst. Ăberraschend wenige kommunikationseffiziente Algorithmen sind fĂŒr grundlegende Big-Data-Probleme bekannt. In dieser Arbeit schlieĂen wir einige dieser LĂŒcken.
ZunĂ€chst betrachten wir verschiedene Selektionsprobleme, beginnend mit der verteilten Version des klassischen Selektionsproblems, d. h. dem Auffinden des Elements von Rang in einer groĂen verteilten Eingabe. Wir zeigen, wie dieses Problem kommunikationseffizient gelöst werden kann, ohne anzunehmen, dass die Elemente der Eingabe zufĂ€llig verteilt seien. Hierzu ersetzen wir die Methode zur Pivotwahl in einem schon lange bekannten Algorithmus und zeigen, dass dies hinreichend ist. AnschlieĂend zeigen wir, dass die Selektion aus lokal sortierten Folgen â multisequence selection â wesentlich schneller lösbar ist, wenn der genaue Rang des Ausgabeelements in einem gewissen Bereich variieren darf. Dies benutzen wir anschlieĂend, um eine verteilte PrioritĂ€tswarteschlange mit Bulk-Operationen zu konstruieren. SpĂ€ter werden wir diese verwenden, um gewichtete Stichproben aus Datenströmen zu ziehen (Reservoir Sampling). SchlieĂlich betrachten wir das Problem, die global hĂ€ufigsten Objekte sowie die, deren zugehörige Werte die gröĂten Summen ergeben, mit einem stichprobenbasierten Ansatz zu identifizieren.
Im Kapitel ĂŒber gewichtete Stichproben werden zunĂ€chst neue Konstruktionsalgorithmen fĂŒr eine klassische Datenstruktur fĂŒr dieses Problem, sogenannte Alias-Tabellen, vorgestellt. Zu Beginn stellen wir den ersten Linearzeit-Konstruktionsalgorithmus fĂŒr diese Datenstruktur vor, der mit konstant viel Zusatzspeicher auskommt. AnschlieĂend parallelisieren wir diesen Algorithmus fĂŒr Shared Memory und erhalten so den ersten parallelen Konstruktionsalgorithmus fĂŒr Aliastabellen. Hiernach zeigen wir, wie das Problem fĂŒr verteilte Systeme mit einem zweistufigen Algorithmus angegangen werden kann. AnschlieĂend stellen wir einen ausgabesensitiven Algorithmus fĂŒr gewichtete Stichproben mit ZurĂŒcklegen vor. Ausgabesensitiv bedeutet, dass die Laufzeit des Algorithmus sich auf die Anzahl der eindeutigen Elemente in der Ausgabe bezieht und nicht auf die GröĂe der Stichprobe. Dieser Algorithmus kann sowohl sequentiell als auch auf Shared-Memory-Maschinen und verteilten Systemen eingesetzt werden und ist der erste derartige Algorithmus in allen drei Kategorien. Wir passen ihn anschlieĂend an das Ziehen gewichteter Stichproben ohne ZurĂŒcklegen an, indem wir ihn mit einem SchĂ€tzer fĂŒr die Anzahl der eindeutigen Elemente in einer Stichprobe mit ZurĂŒcklegen kombinieren. Poisson-Sampling, eine Verallgemeinerung des Bernoulli-Sampling auf gewichtete Elemente, kann auf ganzzahlige Sortierung zurĂŒckgefĂŒhrt werden, und wir zeigen, wie ein bestehender Ansatz parallelisiert werden kann. FĂŒr das Sampling aus Datenströmen passen wir einen sequentiellen Algorithmus an und zeigen, wie er in einem Mini-Batch-Modell unter Verwendung unserer im Selektionskapitel eingefĂŒhrten Bulk-PrioritĂ€tswarteschlange parallelisiert werden kann. Das Kapitel endet mit einer ausfĂŒhrlichen Evaluierung unserer Aliastabellen-Konstruktionsalgorithmen, unseres ausgabesensitiven Algorithmus fĂŒr gewichtete Stichproben mit ZurĂŒcklegen und unseres Algorithmus fĂŒr gewichtetes Reservoir-Sampling.
Um die Korrektheit verteilter Algorithmen probabilistisch zu verifizieren, schlagen wir Checker fĂŒr grundlegende Operationen von Big-Data-Frameworks vor. Wir zeigen, dass die ĂberprĂŒfung zahlreicher Operationen auf zwei âKernâ-Checker reduziert werden kann, nĂ€mlich die PrĂŒfung von Aggregationen und ob eine Folge eine Permutation einer anderen Folge ist. WĂ€hrend mehrere AnsĂ€tze fĂŒr letzteres Problem seit geraumer Zeit bekannt sind und sich auch einfach parallelisieren lassen, ist unser Summenaggregations-Checker eine neuartige Anwendung der gleichen Datenstruktur, die auch zĂ€hlenden Bloom-Filtern und dem Count-Min-Sketch zugrunde liegt. Wir haben beide Checker in Thrill, einem Big-Data-Framework, implementiert. Experimente mit absichtlich herbeigefĂŒhrten Fehlern bestĂ€tigen die von unserer theoretischen Analyse vorhergesagte Erkennungsgenauigkeit. Dies gilt selbst dann, wenn wir hĂ€ufig verwendete schnelle Hash-Funktionen mit in der Theorie suboptimalen Eigenschaften verwenden. Skalierungsexperimente auf einem Supercomputer zeigen, dass unsere Checker nur sehr geringen Laufzeit-Overhead haben, welcher im Bereich von liegt und dabei die Korrektheit des Ergebnisses nahezu garantiert wird
\u3ci\u3eDyslexia\u3c/i\u3e, a new remarkable genus of pleasing fungus beetles (Coleoptera: Erotylidae: Erotylinae) from the Andes
Dyslexia Skelley and Gasca-Ălvarez, new genus (Coleoptera: Erotylidae: Erotylinae: Erotylini), is described and illustrated. The genus is comprised of four new species, all described by Skelley and Gasca-Ălvarez: D. belamyi, D. dathomirria, D. pulcricolor, and D. tomasi. The unique broad head structures of this genus are characterized and compared with other genera. Problems associated with the taxonomy of Erotylini are discussed.
Resumen. Se describe y se ilustra a Dyslexia Skelley y Gasca-Ălvarez, nuevo gĂ©nero (Coleoptera: ErotyliÂdae: Erotylinae: Erotylini). El gĂ©nero estĂĄ formado por cuatro especies nuevas, todas descritas por Skelley y Gasca-Ălvarez: D. belamyi, D. dathomirria, D. pulcricolor, y D. tomasi. Las estructuras Ășnicas de la cabeza ancha de este gĂ©nero son caracterizadas y comparadas con otros gĂ©neros. Se discuten problemas relacionados con la taxonomĂa de Erotylini
Robust Scalable Sorting
Sortieren ist eines der wichtigsten algorithmischen Grundlagenprobleme. Es ist daher nicht verwunderlich, dass Sortieralgorithmen in einer Vielzahl von Anwendungen benötigt werden. Diese Anwendungen werden auf den unterschiedlichsten GerĂ€ten ausgefĂŒhrt -- angefangen bei Smartphones mit leistungseffizienten Multi-Core-Prozessoren bis hin zu Supercomputern mit Tausenden von Maschinen, die ĂŒber ein Hochleistungsnetzwerk miteinander verbunden sind. SpĂ€testens seitdem die Single-Core-Leistung nicht mehr signifikant steigt, sind parallele Anwendungen in unserem Alltag nicht mehr wegzudenken. Daher sind effiziente und skalierbare Algorithmen essentiell, um diese immense VerfĂŒgbarkeit von (paralleler) Rechenleistung auszunutzen. Diese Arbeit befasst sich damit, wie sequentielle und parallele Sortieralgorithmen auf möglichst robuste Art maximale Leistung erzielen können. Dabei betrachten wir einen groĂen Parameterbereich von EingabegröĂen, Eingabeverteilungen, Maschinen sowie Datentypen.
Im ersten Teil dieser Arbeit untersuchen wir sowohl sequentielles Sortieren als auch paralleles Sortieren auf Shared-Memory-Maschinen. Wir prĂ€sentieren In-place Parallel Super Scalar Samplesort (IPSâŽo), einen neuen vergleichsbasierten Algorithmus, der mit beschrĂ€nkt viel Zusatzspeicher auskommt (die sogenannte âin-placeâ Eigenschaft). Eine wesentliche Erkenntnis ist, dass unsere in-place-Technik die Sortiergeschwindigkeit von IPSâŽo im Vergleich zu Ă€hnlichen Algorithmen ohne in-place-Eigenschaft verbessert. Bisher wurde die Eigenschaft, mit beschrĂ€nkt viel Zusatzspeicher auszukommen, eher mit LeistungseinbuĂen verbunden. IPSâŽo ist auĂerdem cache-effizient und fĂŒhrt Arbeitsschritte pro Thread aus, um ein Array der GröĂe mit Threads zu sortieren. ZusĂ€tzlich berĂŒcksichtigt IPSâŽo SpeicherlokalitĂ€t, nutzt einen Entscheidungsbaum ohne Sprungvorhersagen und verwendet spezielle Partitionen fĂŒr Elemente mit gleichem SchlĂŒssel. FĂŒr den Spezialfall, dass ausschlieĂlich ganzzahlige SchlĂŒssel sortiert werden sollen, haben wir das algorithmische Konzept von IPSâŽo wiederverwendet, um In-place Parallel Super Scalar Radix Sort (IPSÂČRa) zu implementieren.
Wir bestĂ€tigen die Performance unserer Algorithmen in einer umfangreichen experimentellen Studie mit 21 State-of-the-Art-Sortieralgorithmen, sechs Datentypen, zehn Eingabeverteilungen, vier Maschinen, vier Speicherzuordnungsstrategien und EingabegröĂen, die ĂŒber sieben GröĂenordnungen variieren. Einerseits zeigt die Studie die robuste LeistungsfĂ€higkeit unserer Algorithmen. Andererseits deckt sie auf, dass viele konkurrierende Algorithmen Performance-Probleme haben: Mit IPSâŽo erhalten wir einen robusten vergleichsbasierten Sortieralgorithmus, der andere parallele in-place vergleichsbasierte Sortieralgorithmen fast um den Faktor drei ĂŒbertrifft. In der ĂŒberwiegenden Mehrheit der FĂ€lle ist IPSâŽo der schnellste vergleichsbasierte Algorithmus. Dabei ist es nicht von Bedeutung, ob wir IPSâŽo mit Algorithmen vergleichen, die mit beschrĂ€nkt viel Zusatzspeicher auskommen, Zusatzspeicher in der GröĂenordnung der Eingabe benötigen, und parallel oder sequentiell ausgefĂŒhrt werden. IPSâŽo ĂŒbertrifft in vielen FĂ€llen sogar konkurrierende Implementierungen von Integer-Sortieralgorithmen. Die verbleibenden FĂ€lle umfassen hauptsĂ€chlich gleichmĂ€Ăig verteilte Eingaben und Eingaben mit SchlĂŒsseln, die nur wenige Bits enthalten. Diese Eingaben sind in der Regel âeinfachâ fĂŒr Integer-Sortieralgorithmen. Unser Integer-Sorter IPSÂČRa ĂŒbertrifft andere Integer-Sortieralgorithmen fĂŒr diese Eingaben in der ĂŒberwiegenden Mehrheit der FĂ€lle. Ausnahmen sind einige sehr kleine Eingaben, fĂŒr die die meisten Algorithmen sehr ineffizient sind. Allerdings sind Algorithmen, die auf diese EingabegröĂen abzielen, in der Regel fĂŒr alle anderen Eingaben deutlich langsamer.
Im zweiten Teil dieser Arbeit untersuchen wir skalierbare Sortieralgorithmen fĂŒr verteilte Systeme, welche robust in Hinblick auf die EingabegröĂe, hĂ€ufig vorkommende SortierschlĂŒssel, die Verteilung der SortierschlĂŒssel auf die Prozessoren und die Anzahl an Prozessoren sind. Das Resultat unserer Arbeit sind im Wesentlichen vier robuste skalierbare Sortieralgorithmen, mit denen wir den gesamten Bereich an EingabegröĂen abdecken können. Drei dieser vier Algorithmen sind neue, schnelle Algorithmen, welche so implementiert sind, dass sie nur einen geringen Zusatzaufwand benötigen und gleichzeitig unabhĂ€ngig von âschwierigenâ Eingaben robust skalieren. Es handelt sich z.B. um âschwierigeâ Eingaben, wenn viele gleiche Elemente vorkommen oder die Eingabeelemente in Hinblick auf ihre SortierschlĂŒssel ungĂŒnstig auf die Prozessoren verteilt sind.
Bisherige Algorithmen fĂŒr mittlere und gröĂere EingabegröĂen weisen ein unzumutbar groĂes Kommunikationsvolumen auf oder tauschen unverhĂ€ltnismĂ€Ăig oft Nachrichten aus. FĂŒr diese EingabegröĂen beschreiben wir eine robuste, mehrstufige Verallgemeinerung von Samplesort, die einen brauchbaren Kompromiss zwischen dem Kommunikationsvolumen und der Anzahl ausgetauschter Nachrichten darstellt. Wir ĂŒberwinden diese bisher unvereinbaren Ziele mittels einer skalierbaren approximativen Splitterauswahl sowie eines neuen Datenumverteilungsalgorithmus. Als eine Alternative stellen wir eine Verallgemeinerung von Mergesort vor, welche den Vorteil von perfekt ausbalancierter Ausgabe hat. FĂŒr kleine Eingaben entwerfen wir eine Variante von Quicksort. Mit wenig Zusatzaufwand vermeidet sie das Problem ungĂŒnstiger Elementverteilungen und hĂ€ufig vorkommender SortierschlĂŒssel, indem sie schnell qualitativ hochwertige Splitter auswĂ€hlt, die Elemente zufĂ€llig den Prozessoren zuweist und einer Duplikat-Behandlung unterzieht. Bisherige praktische AnsĂ€tze mit polylogarithmischer Latenz haben entweder einen logarithmischen Faktor mehr Kommunikationsvolumen oder berĂŒcksichtigen nur gleichverteilte Eingaben ohne mehrfach vorkommende SortierschlĂŒssel. FĂŒr sehr kleine Eingaben schlagen wir einen einfachen sowie schnellen, jedoch arbeitsineffizienten Algorithmus mit logarithmischer Latenzzeit vor. FĂŒr diese Eingaben sind bisherige effiziente AnsĂ€tze nur theoretische Algorithmen, die meist unverhĂ€ltnismĂ€Ăig groĂe konstante Faktoren haben. FĂŒr die kleinsten Eingaben empfehlen wir die Daten zu sortieren, wĂ€hrend sie an einen einzelnen Prozessor geschickt werden.
Ein wichtiger Beitrag dieser Arbeit zu der praktischen Seite von Algorithm Engineering ist die Kommunikationsbibliothek RangeBasedComm (RBC). Mit RBC ermöglichen wir eine effiziente Umsetzung von rekursiven Algorithmen mit sublinearer Laufzeit, indem sie skalierbare und effiziente Kommunikationsfunktionen fĂŒr Teilmengen von Prozessoren bereitstellt.
Zuletzt prĂ€sentieren wir eine umfangreiche experimentelle Studie auf zwei Supercomputern mit bis zu 262144 Prozessorkernen, elf Algorithmen, zehn Eingabeverteilungen und EingabegröĂen variierend ĂŒber neun GröĂenordnungen. Mit Ausnahme von den gröĂten EingabegröĂen ist diese Arbeit die einzige, die ĂŒberhaupt Sortierexperimente auf Maschinen dieser GröĂe durchfĂŒhrt. Die RBC-Bibliothek beschleunigt die Algorithmen teilweise drastisch â einen konkurrierenden Algorithmus sogar um mehr als zwei GröĂenordnungen. Die Studie legt dar, dass unsere Algorithmen robust sind und gleichzeitig konkurrierende Implementierungen leistungsmĂ€Ăig deutlich ĂŒbertreffen. Die Konkurrenten, die man normalerweise betrachtet hĂ€tte, stĂŒrzen bei âschwierigenâ Eingaben sogar ab
Parallel text index construction
In dieser Dissertation betrachten wir die parallele Konstruktion von Text-Indizes. Text-Indizes stellen Zusatzinformationen ĂŒber Texte bereit, die Anfragen hinsichtlich dieser Texte beschleunigen können. Ein Beispiel hierfĂŒr sind Volltext-Indizes, welche fĂŒr eine effiziente Phrasensuche genutzt werden, also etwa fĂŒr die Frage, ob eine Phrase in einem Text vorkommt oder nicht. Diese Dissertation befasst sich hauptsĂ€chlich, aber nicht ausschlieĂlich mit der parallelen Konstruktion von Text-Indizes im geteilten und verteilten Speicher.
Im ersten Teil der Dissertation betrachten wir Wavelet-Trees. Dabei handelt es sich um kompakte Indizes, welche Rank- und Select-Anfragen von binĂ€ren Alphabeten auf Alphabete beliebiger GröĂe verallgemeinern. Im zweiten Teil der Dissertation betrachten wir das Suffix-Array, den am besten erforschten Text-Index ĂŒberhaupt. Das Suffix-Array enthĂ€lt die Startpositionen aller lexikografisch sortierten Suffixe eines Textes, d.h., wir möchten alle Suffixe eines Textes sortieren. Oft wird das Suffix-Array um das Longest-Common-Prefix-Array (LCP-Array) erweitert. Das LCP-Array enthĂ€lt die LĂ€nge der lĂ€ngsten gemeinsamen PrĂ€fixe zweier lexikografisch konsekutiven Suffixe. AbschlieĂend nutzen wir verteilte Suffix- und LCP-Arrays, um den Distributed-Patricia-Trie zu konstruieren. Dieser erlaubt es uns, verschiedene Phrase-Anfragen effizienter zu beantworten, als wenn wir nur das Suffix-Array nutzen.The focus of this dissertation is the parallel construction of text indices. Text indices provide additional information about a text that allow to answer queries faster. Full-text indices for example are used to efficiently answer phrase queries, i.e., if and where a phrase occurs in a text. The research in this dissertation is focused on but not limited to parallel construction algorithms for text indices in both shared and distributed memory.
In the first part, we look at wavelet trees: a compact index that generalizes rank and select queries from binary alphabets to alphabets of arbitrary size. In the second part of this dissertation, we consider the suffix array---one of the most researched text indices.The suffix array of a text contains the starting positions of the text's lexicographically sorted suffixes, i.e., we want to sort all its suffixes. Finally, we use the distributed suffix arrays (and LCP arrays) to compute distributed Patricia tries. This allows us to answer different phrase queries more efficiently than using only the suffix array
Recommended from our members
Method and apparatus for hybrid encryption
Described herein is a combination of mixed-signal hardware and software that is capable or realizing hybrid chaotic oscillators that can be tuned digitally. This includes the type/class of chaotic oscillator, initial conditions, nonlinear elements, thresholds, nonlinear event surfaces, delays, etc. At the same time, tunable methods of how to use the chaotic oscillator information to encrypt and decrypt both analog and digital information is presented. This will make the secure information not vulnerable by digital information compromises or hardware breach.Board of Regents, University of Texas Syste
SoK: Security Evaluation of SBox-Based Block Ciphers
Cryptanalysis of block ciphers is an active and important research area with an extensive volume of literature. For this work, we focus on SBox-based ciphers, as they are widely used and cover a large class of block ciphers. While there have been prior works that have consolidated attacks on block ciphers, they usually focus on describing and listing the attacks. Moreover, the methods for evaluating a cipher\u27s security are often ad hoc, differing from cipher to cipher, as attacks and evaluation techniques are developed along the way. As such, we aim to organise the attack literature, as well as the work on security evaluation.
In this work, we present a systematization of cryptanalysis of SBox-based block ciphers focusing on three main areas: (1) Evaluation of block ciphers against standard cryptanalytic attacks; (2) Organisation and relationships between various attacks; (3) Comparison of the evaluation and attacks on existing ciphers
Block Ciphers: Analysis, Design and Applications
In this thesis we study cryptanalysis, applications and design of secret key block ciphers. In particular, the important class of Feistel ciphers is studied, which has a number of rounds, where in each round one applies a cryptographically weak function
- âŠ