1. Trang chủ
  2. » Thể loại khác

Advanced boolean techniques, 1st ed , rolf drechsler, mathias soeken, 2020 3202

268 48 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Preface

  • Contents

  • 1 Self-explaining Digital Systems: Technical View, Implementation Aspects, and Completeness

    • 1.1 Introduction

    • 1.2 Related Work

    • 1.3 Self-explanation

      • 1.3.1 Formalizing Explanations

      • 1.3.2 Implementation

      • 1.3.3 Verification and Validation

      • 1.3.4 Explanations of Different Granularity

    • 1.4 Case Study

      • 1.4.1 Adding Explanations

      • 1.4.2 Results

      • 1.4.3 Reasoning About Explanations

      • 1.4.4 Module ``Main'' Is Self-explaining

    • 1.5 Future Extensions

      • 1.5.1 Extending Explanations

      • 1.5.2 Automated Inference

    • 1.6 Conclusions

    • References

  • 2 Secure Implementation of Lattice-Based Encryption Schemes

    • 2.1 Introduction

    • 2.2 Background

      • 2.2.1 Notation

      • 2.2.2 Cryptographic Background

      • 2.2.3 Side-Channel Attacks and Countermeasures

    • 2.3 CCA2 Conversion and Masking

      • 2.3.1 CCA2 Conversion for RLWE.CPA

      • 2.3.2 Masked CCA2-Secured Ring-LWE Decryption

      • 2.3.3 Masked Comparison

    • 2.4 Implementation

    • 2.5 Side-Channel Evaluation

    • 2.6 Results and Comparison

      • 2.6.1 Comparison

    • 2.7 Conclusion

    • References

  • 3 Derivative Operations for Classes CN of Boolean Functions

    • 3.1 Introduction

    • 3.2 Classes CN of Boolean Functions

    • 3.3 Derivative Operations for Classes CN

      • 3.3.1 Basic Rules and Algorithms

      • 3.3.2 Vectorial Derivative Operations of Classes CN of Boolean Functions

      • 3.3.3 Single Derivative Operations of Classes CN of Boolean Functions

      • 3.3.4 k-Fold Derivative Operations of Classes CN of Boolean Functions

    • 3.4 Conclusion

    • References

  • 4 Towards the Structure of a Class of Permutation Matrices Associated with Bent Functions

    • 4.1 Introduction

    • 4.2 Background Theory

      • 4.2.1 Bent Functions

      • 4.2.2 Walsh Transform

      • 4.2.3 Walsh Transform and Bent Functions

    • 4.3 Gibbs Dyadic Derivative

      • 4.3.1 Partial Gibbs Dyadic Derivatives

    • 4.4 Gibbs Dyadic Derivative of Bent Functions

      • 4.4.1 Properties of the Gibbs Dyadic Derivative of Bent Functions

    • 4.5 Gibbs Permutation Matrices

    • 4.6 Structure of Gibbs Permutation Matrices

    • 4.7 Computer Exploration of Bent Functions in Four Variables

    • 4.8 Closing Remarks

    • References

  • 5 Improving SAT Solving Using Monte Carlo Tree Search-Based Clause Learning

    • 5.1 Introduction and Related Work

    • 5.2 Monte Carlo Tree Search-Based SAT Solving

      • 5.2.1 Problem Formulation and Unit Propagation

      • 5.2.2 Monte Carlo Tree Search-Based SAT Solving

    • 5.3 Conflict-Driven Clause Learning

      • 5.3.1 MCTS-Based CDCL Solver

      • 5.3.2 Analysis of the MCTS-Based CDCL Solver

    • 5.4 MCTS Specific Heuristics

      • 5.4.1 Scoring Heuristics

      • 5.4.2 Probability Heuristics

      • 5.4.3 Analysis of Different Scoring Heuristics

    • 5.5 Using Multiple Solver Instances for Preprocessing

    • 5.6 Experiments

      • 5.6.1 Benchmark Problems

      • 5.6.2 Scoring Heuristics

      • 5.6.3 Using the MCTS-Based Solver as Preprocessor

    • 5.7 Conclusion and Outlook

    • References

  • 6 Synthesis of Majority Expressions Through Primitive Function Manipulation

    • 6.1 Introduction

    • 6.2 Majority Boolean Algebra

      • 6.2.1 Axiomatization of Majority Functions (Ω)

      • 6.2.2 Primitive Majority Functions

    • 6.3 The MPC Algorithm

      • 6.3.1 Tables Formulation

      • 6.3.2 MPC Synthesis for 4-Input Functions

      • 6.3.3 MPC Synthesis for 5-Input Functions

    • 6.4 Results

    • 6.5 Conclusions

    • References

  • 7 Literal Selection in Switching Lattice Design

    • 7.1 Introduction

    • 7.2 Switching Lattices

    • 7.3 The Problem of Literal Selection

    • 7.4 The MDA Problem

    • 7.5 The MPA Problem

    • 7.6 Experimental Results

    • 7.7 Concluding Remarks

    • References

  • 8 Exact Synthesis of ESOP Forms

    • 8.1 Introduction

    • 8.2 Background

    • 8.3 SAT-Based Exact ESOP Synthesis

      • 8.3.1 Exact Synthesis of ESOP Forms

      • 8.3.2 SAT-Based Exact Synthesis Procedure

      • 8.3.3 Extensions and Variations

    • 8.4 ESOP Synthesis for Quantum Computation

    • 8.5 Experimental Evaluation

    • 8.6 Conclusion

    • References

  • 9 An Algorithm for Linear, Affine and Spectral Classification of Boolean Functions

    • 9.1 Introduction

    • 9.2 Background

      • 9.2.1 Spectra of Boolean Functions

      • 9.2.2 Spectral Translations

    • 9.3 Classification of Boolean Functions

    • 9.4 Transformation Algorithm

    • 9.5 Experimental Results

    • 9.6 An Alternate Approach to Class Generation

    • 9.7 Conclusion

    • References

  • 10 New Results on Reversible Boolean Functions Having Component Functions with Specified Properties

    • 10.1 Introduction

    • 10.2 Preliminaries

    • 10.3 Previous Work

    • 10.4 Extrapolation Based on Cycle Structures

    • 10.5 Component Functions Having Linear Variables

    • 10.6 Component Functions Belonging to Different P-Classes

    • 10.7 Conclusions and Future Work

    • References

  • 11 Efficient Hardware Operations for the Residue Number System by Boolean Minimization

    • 11.1 Introduction

    • 11.2 Basic Knowledge About RNS

    • 11.3 Computation of the Modulo Function

      • 11.3.1 Approach Based on Reducing the Input Bit-by-Bit

      • 11.3.2 Approach Based on the Periodic Property of Powers of Two

      • 11.3.3 Approach Based on Modular Exponentiation

      • 11.3.4 Approach Based on Varying Powers of 2

      • 11.3.5 Approach Based on Special Moduli of the Type 2n k

    • 11.4 Hardware Design of Functions by Modulo

      • 11.4.1 Modulo Function Computation

      • 11.4.2 Computation of the Modular Product

    • 11.5 Boolean Minimization in Modular Operations

    • 11.6 Experimental Results

    • 11.7 Conclusions and Further Research

    • References

  • Index

Nội dung

Rolf Drechsler · Mathias Soeken Editors Advanced Boolean Techniques Selected Papers from the 13th International Workshop on Boolean Problems Advanced Boolean Techniques Rolf Drechsler • Mathias Soeken Editors Advanced Boolean Techniques Selected Papers from the 13th International Workshop on Boolean Problems 123 Editors Rolf Drechsler Arbeitsgruppe Rechnerarchitektur Universităat Bremen Bremen, Germany Mathias Soeken École Polytechnique Fédérale de Lausanne Lausanne, Switzerland ISBN 978-3-030-20322-1 ISBN 978-3-030-20323-8 (eBook) https://doi.org/10.1007/978-3-030-20323-8 © Springer Nature Switzerland AG 2020 This work is subject to copyright All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed The use of general descriptive names, registered names, trademarks, service marks, etc in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland Preface Boolean functions are at the core of today’s computer science and find application in circuit and system specification, synthesis, design understanding, and cryptography The International Workshop on Boolean Problems1 is a bi-annually held and wellestablished forum to discuss the recent advances on problems related to Boolean logic and Boolean algebra In 2018, the 13th edition of the workshop was held in Bremen, Germany, from September 19th to September 21st The workshop provided a forum for researchers and engineers from different disciplines to exchange ideas as well as to discuss problems and solutions The workshop is devoted to both theoretical discoveries and practical applications This edited book contains a selection of best papers presented at the workshop The papers in this volume demonstrate new accomplishments in the theory of Boolean functions Furthermore, several papers illustrate how these results find their way into important practical applications such as cryptography and design understanding The first two chapters in the book are contributions that resulted from the invited keynotes at the conference In Chap 1, Görschwin Fey and Rolf Drechsler describe Self-Explaining Digital Systems: Technical View, Implementation Aspects, and Completeness In Chap 2, Tobias Oder, Tobias Schneider, and Tim Güneysu write about a Secure Implementation of Lattice-Based Encryption Schemes The following nine chapters are extended manuscripts based on the workshop handouts In Chap 3, Bernd Steinbach and Christian Posthoff write about Derivative Operations for Classes CN of Boolean Functions In Chap 4, Radomir S Stankovi´c, Milena Stankovi´c, Jaakko T Astola, and Claudio Moraga investigate bent functions in Towards the Structure of a Class of Permutation Matrices With Bent Functions Oliver Keszocze, Kenneth Schmitz, Jens Schloeter, and Rolf Drechsler show how to improve the performance of SAT solvers in Improving SAT Solving Using Monte Carlo Tree Search-based Clause Learning in Chap The following three chapters are about logic synthesis applications In Chap 6, Evandro C Ferraz, See www.informatik.uni-bremen.de/iwsbp v vi Preface Jeferson de Lima Muniz, Alexandre C R da Silva, and Gerhard W Dueck explore majority-based logic synthesis in Synthesis of Majority Expressions through Primitive Function Manipulation Anna Bernasconi, Fabrizio Luccio, Linda Pagli, and Davide Rucci target synthesis for switching lattices in Chap Literal Selection in Switching Lattice Design In Chap 8, Heinz Riener, Rüdiger Ehlers, Bruno Schmitt, and Giovanni De Micheli propose an exact synthesis approach in Exact Synthesis of ESOP Forms D Michael Miller and Mathias Soeken introduce An Algorithm for Linear, Affine and Spectral Classification of Boolean Functions in Chap Chapter 10 targets reversible functions with New Results on Reversible Boolean Functions Having Component Functions with Specified Properties by Paweł Kerntopf, Krzysztof Podlaski, Claudio Moraga, and Radomir S Stankovi´c The book is concluded in Chap 11 by Danila Gorodecky and Tiziano Villa on Efficient Hardware Operations for the Residue Number System by Boolean Minimization We would like to express our thanks to the program committee of the 13th International Workshop on Boolean Problems as well as to the organizational team, in particular Lisa Jungmann and Kristiane Schmitt Furthermore, we thank all the authors of contributed chapters who did a great job in submitting their manuscripts of very high quality A special thank goes to the keynote speakers of the workshop, Prof Görschwin Fey (Hamburg University of Technology) and Prof Tim Güneysu (Ruhr-Universität Bochum) Finally, we would like to thank Brinda Megasyamalan, Brian Halm, and Charles Glaser from Springer All this would not have been possible without their steady support Bremen, Germany Lausanne, Switzerland March 2019 Rolf Drechsler Mathias Soeken Contents Self-explaining Digital Systems: Technical View, Implementation Aspects, and Completeness Görschwin Fey and Rolf Drechsler Secure Implementation of Lattice-Based Encryption Schemes Tobias Oder, Tobias Schneider, and Tim Güneysu 21 Derivative Operations for Classes CN of Boolean Functions Bernd Steinbach and Christian Posthoff 51 Towards the Structure of a Class of Permutation Matrices Associated with Bent Functions Radomir S Stankovi´c, Milena Stankovi´c, Jaakko T Astola, and Claudio Moraga 83 Improving SAT Solving Using Monte Carlo Tree Search-Based Clause Learning 107 Oliver Keszocze, Kenneth Schmitz, Jens Schloeter, and Rolf Drechsler Synthesis of Majority Expressions Through Primitive Function Manipulation 135 Evandro C Ferraz, Jeferson de Lima Muniz, Alexandre C R da Silva, and Gerhard W Dueck Literal Selection in Switching Lattice Design 159 Anna Bernasconi, Fabrizio Luccio, Linda Pagli, and Davide Rucci Exact Synthesis of ESOP Forms 177 Heinz Riener, Rüdiger Ehlers, Bruno de O Schmitt, and Giovanni De Micheli An Algorithm for Linear, Affine and Spectral Classification of Boolean Functions 195 D Michael Miller and Mathias Soeken vii viii Contents 10 New Results on Reversible Boolean Functions Having Component Functions with Specified Properties 217 Paweł Kerntopf, Krzysztof Podlaski, Claudio Moraga, and Radomir Stankovi´c 11 Efficient Hardware Operations for the Residue Number System by Boolean Minimization 237 Danila Gorodecky and Tiziano Villa Index 259 Chapter Self-explaining Digital Systems: Technical View, Implementation Aspects, and Completeness Görschwin Fey and Rolf Drechsler 1.1 Introduction Digital systems continuously increase in their complexity due to integration of various new features Systems handle failures and have complex decision mechanisms for adaptability and autonomy Understanding why a system performs certain actions becomes more and more difficult for users Also designers have to cope with the complexity while developing the system or parts of it The main difficulties are the inaccessibility of the inner logic of the digital system or a lack in understanding all the details An explanation for actions executed by a digital system unveils the reasons for these actions and, by this, can serve various purposes From the outside a user may be puzzled why a technical device performs a certain action, e.g., “why does the traffic light turn red?” In simple cases the user will know the reason, e.g., “a pedestrian pushed the button, so pedestrians get green light, cars get red light.” In more complex cases, explanations for actions may not as easily be accessible When the digital system that controls the larger technical device provides an explanation, the user can understand why something happens This raises the user’s confidence in the correct behavior The explanation for actions required in this case must refer to external input to the system, e.g., through sensors, and to an abstraction of the internal state that is understandable for a user G Fey ( ) Hamburg University of Technology, Hamburg, Germany e-mail: goerschwin.fey@tuhh.de R Drechsler University of Bremen, Bremen, Germany DFKI Bremen, Bremen, Germany © Springer Nature Switzerland AG 2020 R Drechsler, M Soeken (eds.), Advanced Boolean Techniques, https://doi.org/10.1007/978-3-030-20323-8_1 G Fey and R Drechsler Also designers of digital systems can benefit from explanations A typical design task is debugging where a designer has to find the reason for certain actions executed by a digital system Depending on the current design task a designer may use the same explanations that help users Additionally, more detailed explanations, e.g., justifying data exchange between functional units may be useful Thus, debugging and development are supported by explanations giving simple access points for a designer justifying the system’s execution paths At design time a designer can use explanations to understand the relation between the specification and the implementation Correctness of the system is validated through explanations if these explanations provide an alternative view that justifies the actual output For in-field operation explanations may even be exploited for monitoring as a side-check that validates the actual execution of the system to detect failures and unexpected usage In particular, problems are detected earlier when explanations cannot be generated, are not wellformed, or are not consistent with respect to the actual behavior The notion of explanation used here are cause–effect chains as often used in the philosophical domain Moreover, granularity, addressee, and purpose are defined at design time of a system that then explains all its observable actions at run time We consider such as system to be self-explaining Given a digital system the question is how to provide an explanation for observable actions online While on first sight this mainly concerns functional aspects also non-functional aspects like actual power consumption or response time of the system deserve explanations During online operation either the system itself or some dedicated additional entity must provide the explanations This incurs a cost, e.g., for storing historical data that explains and, by this, also justifies current and future actions This overhead must be kept as low as possible A non-trivial challenge is to provide concise explanations in a cost-efficient way While some actions of a system may have very simple explanations, e.g., “the power-on button has been pressed,” other actions may require a deep understanding of the system, e.g., “when the distance to an energy source is large and the battery level is low, we save energy by reducing speed as well as light and move towards the energy source.” Such an explanation may in turn require knowledge about what an energy source is, what thresholds are used, and how the system detects where the next energy source may be found Our contributions are the following: – We formalize explanations and define what a self-explaining system is We explain how to verify whether a system is self-explaining – We propose a conceptual framework that yields layered explanations providing details where necessary, but keeping explanations understandable at the same time – We provide a technical solution for explanations on the functional level and discuss how to automatically infer them 11 Hardware Realization of Arithmetic Operations 251 a s s i g n temp_R_2 = temp_R_1 [ : ] + r + r ; a l w a y s @( temp_R_2 ) begin i f ( temp_R_2 >= ) temp_R

Ngày đăng: 08/05/2020, 06:41

TỪ KHÓA LIÊN QUAN