Contents
1 Introduction
1.1 Homomorphic Encryption in Real Applications: Few Case Studies
1.2 Summary of This Book
References
2 Literature Survey
2.1 FHE in Cloud Computing
2.2 Mathematical Background
2.2.1 Somewhat Homomorphic Encryption
2.3 Few Related Works
2.4 FHE in Practical Algorithms
2.5 Conclusion
References
3 Sorting on Encrypted Data
3.1 FHE Comparison Based Sort
3.1.1 Homomorphic Form of Sorting
3.2 Sorting and Security
3.2.1 The CPA Indistinguishability Experiment
3.2.2 Why Comparison Based Sorting is Secured?
3.3 Partition Based Sorting with Index Encryption
3.3.1 Encrypted Array with Encrypted Index
3.3.2 Problems of Recursion on Encrypted Data
3.3.3 Quick Sort Using Encrypted Stack
3.3.4 Encrypted Quick Sort Implementation
3.4 Timing Requirement for Sorting Schemes on Encrypted Data
3.4.1 Performance Analysis of Different Operations
3.4.2 Further Reduction of Recrypt to Introduce Error
3.4.3 Encrypted Insertion Sort
3.5 Conclusion
References
4 Translating Algorithms to Handle Fully Homomorphic Encrypted Data
4.1 Challenges of Executing Encrypted Programs
4.2 Encrypted Variants of Basic Operators
4.3 Encrypted Bitwise and Assignment Operators
4.4 Encrypted Arithmetic Operators
4.4.1 Encrypted Addition and Subtraction
4.4.2 Encrypted Multiplication
4.4.3 Encrypted Division
4.5 Encrypted Relational Operators
4.5.1 Encrypted Comparison Operation
4.5.2 Encrypted Less Than/Greater Than Operator (FHE_Grt and FHE_Less)
4.6 Loop Handling on Encrypted Operations
4.7 Encrypted Program Termination Using Interrupt
4.8 Recursion Handling with Encrypted Operations
4.8.1 Design of Encrypted Stack
4.9 Design of Encrypted Queue
4.10 Design of Encrypted Linked List
4.11 Conclusion
References
5 Secure Database Handling
5.1 Security Issues in Cloud
5.2 Sate of the Art
5.3 Basic Operations for Database Handling and Their Encrypted Variants
5.3.1 INSERT and SELECT Operation
5.3.2 TOP
5.3.3 LIKE
5.3.4 ORDER BY
5.3.5 GROUP BY
5.4 Advanced SQL: Encrypted JOIN
5.5 SQL Injection on Encrypted Database
5.6 Conclusion
References
6 FURISC: FHE Encrypted URISC Design
6.1 Existing Encrypted Processors
6.1.1 Heroic: Partial Homomorphic Encrypted Processor
6.2 Implementing Fully Homomorphic Encrypted Processor Using a Ultimate RISC Instruction
6.2.1 Justification of Encrypted Processor Along with Encrypted Data
6.2.2 Why URISC Architecture in Connection to FHE
6.2.3 Performance Based Challenge
6.3 Design Basics of FURISC
6.3.1 Design of FURISC
6.3.2 Encrypted Memory Module
6.3.3 Encrypted ALU Module
6.3.4 Overall Architecture
6.4 Comparison with MOVE Based URISC
6.4.1 Performance Evaluation: SBN Versus Move FURISC
6.5 FURISC Applied to Realize Encrypted Programs
6.6 Results
6.6.1 Drawback of FURISc
6.7 FHE Processor Implementation Challenges
6.8 Utilizing Compression Technique for FHE Architecture
6.8.1 Run Length Encoding
6.8.2 Proposed Encoding Module
6.8.3 Different Choices of Subsequence Length to Store in RAM
6.9 Conclusion
References
7 Conclusion and Future Work
References
A Lattice Based Cryptography
B LWE Based FHE
B.1 Basics of LWE Based Cryptosystem
B.2 Important LWE Based FHE Schemes
C GSW Based FHE Approach
C.1 Brief Details of Scheme Supporting Bit-Wise Homomorphy
D FHE Based Libraries in Literature
E Attacks on SWHE and FHE
E.1 Passive Attacks Against HE
E.2 Active Attacks Against HE
F Examples of Homomorphic Real World Applications
Bibliography