책 이미지

책 정보
· 분류 : 외국도서 > 컴퓨터 > 보안 > 암호
· ISBN : 9781484263662
· 쪽수 : 556쪽
· 출판일 : 2020-11-25
목차
Chapter 1, Cryptography Fundamentals
Chapter goal: The chapter will give an overview about the structure of the book, which are the main models for cryptographic threats and how they can be used further for implementations using C# and .NET. The chapter will represent the main starting point for the reader in order to be able to understand how the book is structured, which are the most important difficulties experienced during the implementations of the cryptographic algorithms and how they can be encountered when it’s necessary.
· Introduction· Threat Models
· Cryptographic Main Goals
· Difficulties Experienced during Cryptographic Implementations· Developer Tools
· Organization
· Summary
Chapter 2, System.Security.Cryptography Namespace
Chapter goal: The System.Security.Cryptography namespace represents the foundation of the cryptographic functions and services, including secure encoding and decoding of data, as well as many other operations, such as hashing, random number generation, advanced cryptographic mechanisms (such as elliptic curve cryptography), and message authentication.
· .NET Framework Cryptography Model
· Classes
· Structs
· Interfaces
· Enums
Chapter 3, Cryptographic Services
Chapter goal: This chapter will provide a synopsis of the encryption methods and practices supported by the .NET Framework, including the ClickOnce manifests, Suite B, and Cryptography Nect Generation (CNG) support introduced with .NET Framework 3.5.
· Cryptographic Primitives
· Secret-Key Encryption
· Public-Key Encryption
· Digital Signatures
· Hash Values
· Random Number Generation
· ClickOnce Manifests· Suite B Support
Chapter 4, Secure Coding Guidelines
Chapter goal: Evidence-based security and code access security provide very powerful, explicit mechanisms to implement security. Most application code can simply use the infrastructure implemented by .NET. In some cases, additional application-specific security is required, built either by extending the security system or by using new ad hoc methods. The overview will describe the different ways in which the code can be designed to work with the security system.
· Securing State Data
· Security and User Input
· Security and Race Conditions
· Security and On-the-Fly Code Generation
· Timing vulnerabilities with CBC-mode symmetric decryption using paddingPART 1 - CRYPTOGRAPHY
Chapter 5, Large Integer Arithmetic
Chapter goal: The chapter will go through the main techniques that are used to work with big integers in C# and .NET, techniques that are very important when working with advanced topics in cryptography. We will define the concept of big numbers, algorithms for multiplication, squaring and Montgomery reduction. We will go through some libraries which are very important for the topics presented in this book.
· Introduction
· Algorithmso Multiplication
o Squaring
o Montgomery Reduction· Size versus Speed
· Big Numbers Libraries Comparisons
Chapter 6, Cryptography Libraries in C# and .NET
Chapter goal: The chapter will evaluate the most important cryptographic libraries. We will examine some of these libraries, we will explain the main idea behind their implementations in C#/.NET Framework and how they are designed in order to serve the best performance on some of the most important cryptographic algorithms. We will compare these libraries using different metrics, such as time execution, how simple and computable are, adaptability, validation for accuracy and reliability and how relevant are for software development process.
· BouncyCastle
· HashLib
· Libsodium-net
· PKCS#11Interop
· SecurityDriven.Inferno
· CryptoAPI
· CNG
Chapter 7, Elliptic-curve Cryptography and Public Key Algorithms
Chapter goal: The chapter is dedicated to public key algorithms and elliptic-curve cryptography. We will discuss how the implementations of the algorithms should be designed and implemented. We will focus on RSA, ElGamal, Diffie-Hellman key exchange, and PKCS#11. For elliptic curve, we will go through the basic algebra elements, such as point addition, point doubling, point multiplication and we will show how they can be implemented in C# and .NET Framework. Further, we will continue with key generation, ANSI X9.64 Key Storage, elliptic curve encryption, elliptic curve signatures (ANSI X9.62).
Chapter 8, Lattice-based Cryptography
Chapter goal: The chapter is dedicated for designing and implementation of lattice-based cryptography. We will examine .NET framework with NTRU and we will compare the results obtained from NTRU with other implementations of lattices and lattices cryptographic signatures.
· Introduction
· NTRU framework
· Challenges and Difficulties
· Implementations
· Performances
Chapter 9, Searchable Encryption
Chapter goal: The chapter goal is to give a comprehensive guidance on how the implementation should be conducted. We will discuss about Open Symmetric Searchable Encryption (OSSE) framework and we will show how the implementations are done in C#.
· Introduction
· Searchable Encryption Schemes and Algorithms
· Open Symmetric Searchable Encryption
· Implementations· Comparisons
Chapter 10, Homomorphic Encryption
Chapter goal: We will discuss about HELib and we present some of the main algorithms implementations and compare them as performance, time execution, difficulties and challenges raised during the implementation and designing process in C#.
· Introduction
· Designing the homomorphic encryption function· HELib Framework
· Implementations in C#
· Comparisons
Chapter 11, Learning with Errors and Ring Learning with Errors Cryptography
Chapter goal: The goal of the chapter is to give the necessary elements to start an implementation of cryptographic operations (encryption/decryption) using learning with errors and its extension ring learning with errors cryptography.
· Introduction
· Performances and Challenges
· Implementation of cryptographic process
Chapter 12, Chaos-based Cryptography
Chapter goal: The goal of this sensitive chapter is to give a heads up on the main functions that can be used as encryption/decryption mechanisms from field of chaos theory. The cryptographic functions that will be implemented (encryption/decryption) are Logistic and Lorentz functions/maps.· Introduction
· Logistic Function
· Lorentz Function· Performances and Challenges
· Implementations
· Comparisons
Chapter 13, Big Data Cryptography
Chapter goal: The chapter will focus on provably secure cryptographic techniques for protecting the big data applications. The goal is to inform practitioners about the new techniques that can be considered as they develop new big data solutions rather than to summarize the current best practice for securing data.
· Introduction
· Basics of Data Security
· Access Control and Attribute-based Access Control
o Example of implementations
· Secure Search
o Example of implementations
· Secure Data Processing
o Example of implementations
· Multi-party Computation
o Example of implementations
· Functional Encryption
o Example of implementations
Chapter 14, Cloud Computing Cryptography
Chapter goal: The chapter will propose a new cryptographic approach implemented in C#/.NET Framework for cloud computing environment. The idea consists in encrypting the files uploaded on such web based cloud storage services and it will decrypt the file once it has been downloaded using the keys that were generated during the encryption. We will discuss how this can prevent unwanted intrusion into personal data and lack of standardization.
PART 2 ? CRYPTANALYSIS
Chapter 15, Linear and Differential cryptanalysis
Chapter goal: The chapter will discuss about differential cryptanalysis and how the attacks based on differential cryptanalysis could be implemented in C#. We will present the main advantages and disadvantages, which are the main challenges and performances issues during the implementation process.
Chapter 16, Integral cryptanalysis
Chapter goal: In this chapter we will give an approach called integral cryptanalysis. We can look at it as a dual to differential cryptanalysis and applies to cryptographic ciphers and algorithms which are not vulnerable to differential attacks. The method analyzed in this chapter is applicable to block ciphers which are based on bijective components only.
Chapter 17, Attacks
Chapter goal: We will present the most important and challenging attacks, such as meet-in-the-middle, brute force, boomerang. We will give the implementations in C# and we will analyze the main challenges and difficulties experienced during the implementation process.
· Meet-in-the-middle attack
· Brute-force attack
· Boomerang attack
Chapter 18, Text Characterization
Chapter goal: The chapter will discuss about the algorithms and their implementations in C#/.NET Framework for text analysis and characterization. The goal is to discuss the methods that are used for text analysis during a cryptanalysis plain text attacks. All the tests are implemented in C# and they have their own demonstration hands-on-lab tutorial.
· Chi-squared Statistic
· Identifying Unknown Ciphers
· Index of Coincidence
· Monogram, Bigram and Trigram frequency counts· Quadgram Statistics as a Fitness Measure
· Unicity Distance
· Word Statistics as a Fitness Measure
Chapter 19, Basic Implementations of Cryptanalysis Methods
Chapter goal: The goal of the chapter is to give a classic overview and to help the readers to think in terms of cryptanalysis terms. The chapter will implement the cryptanalysis methods and algorithms by illustrating practical and theoretical the key elements that the reader needs to have in mind when he conducts an attack.· Affine Cipher
· Autokey Cipher
· Bifid Cipher
· Caesar Cipher
· Columnar Transposition Cipher
· Foursquare Cipher
· Hill Cipher
· Playfair Cipher
· Simple Substitution Cipher
· Straddle Checkerboard
· Vigenere Cipher