{'fraction_non_alphanumeric': 0.025095471903982543, 'fraction_numerical': 0.006001091107474086, 'mean_word_length': 5.693430656934306, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Chapter 2-literature Survey

This chapter presents a comprehensive survey of algorithms, techniques and frameworks used for the security of remote data storage applications. It focuses on the survey of cryptographic techniques for the Confidentiality, Integrity, and Availability of the data. A survey of cryptographic techniques is useful for ensuring the data storage security in P2P, Distributed, Grid and Cloud computing systems, providing insights on performance optimization and security of applications dealing with data storage. 2.1. Introduction Many applications need to store long-term data and retrieve it for later use. These applications range from single user applications storing personal information to multiuser collaborative applications that allow users to share stored data. Furthermore, these applications may run on computers that range from desktops to mobile and hand held devices [94]. Some of the challenges for the application that stores the data remotely are:  Confidentiality  Integrity  Availability The security of online backup and storage applications has been increasingly addressed in recent years, which has resulted in various approaches to the design of storage verification primitives. Recently, several researchers have proposed Remote Data Checking (RDC) protocols to address above challenges under distributed storage systems such as remote data storage, peer-to peer computing, cluster computing, grid computing and cloud computing. The RDC is a technique that on how to frequently, efficiently and securely verify that an untrusted storage server can faithfully store its Client's (potentially very large) original data, without retrieving it. We have classified the RDC protocols into two types [127]: 1) Deterministic Verification Protocols. 2) Probabilistic Verification Protocols: