You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Cryfa

From EverybodyWiki Bios & Wiki

Cryfa
Developer(s)Morteza Hosseini, Diogo Pratas, Armando J. Pinho
Stable release
2.1 / 2018
Written inC++
Engine
    Operating systemUnix, Linux, Mac OS X, Windows
    TypeBioinformatics
    LicenseGPLv3
    Websitehttp://github.com/pratas/cryfa

    Search Cryfa on Amazon.

    Cryfa.[1] is an ultra-fast offline tool for secure storage of genomic data using authentication encryption with the Advanced Encryption Standard (AES) cypher. Cryfa handles several specific file formats, such as FASTA, FASTQ, BAM/SAM and VCF. For file types FASTA and FASTQ, Cryfa is able to compact FASTA/FASTQ sequences by a factor of 3. The Cryfa package includes a key generator for security enhancements. Cryfa uses multi-thread and supports pipes for easy integration with other tools and platforms.

    Method phases[edit]

    The method consists in three major phases:

    1. Packing: it groups symbols given a specific base that is automatically computed, compacting up to three times its storage.
    2. Shuffling: it randomizes the order of the symbols according to a Hash function of the password, originating a stream of pseudo-high complexity.
    3. Encrypting: it uses the AES cipher (Advanced Encryption Standard) with 128 bits, a pseudo-random initialization vector (IV) dependent of the password.

    Resistance to attacks[edit]

    There are several attacks which Cryfa is resistant, nevertheless, for genomic data, the most critic are addressed:

    1. KPA - Known-plaintext attack: given the shuffling phase, Cryfa change the order of the expected content and structure. For example, the VCF usually begins with a "##fileformat=VCF" pattern, which enables an effective Brute-force attack attack to weak passwords.
    2. Low complexity attacks: given the packing and shuffling phases, Cryfa transforms the data into pseudo-high complexity data [2]
    3. Kolmogorov complexity attacks: species genomes are related with a certain algorithmic and statistical entropy [3]. Cryfa does not compress the data given its redundancy, but rather minimizes its representativity. Therefore, attacks exploring the authentication through redundancy are not effective.

    Installation[edit]

    Use the following commands:

    git clone https://github.com/pratas/cryfa.git
    cd cryfa
    cmake .
    make
    

    Usage[edit]

    ./cryfa [OPTION]... -k [KEY_FILE] [-d] [IN_FILE] > [OUT_FILE]
    

    Example[edit]

    Encryption:

    ./cryfa -k pass.txt in.fq > comp
    

    Decryption:

    ./cryfa -k pass.txt -d comp > orig.fq
    

    License[edit]

    Cryfa is under GPL v3 license.

    References[edit]

    1. Hosseini M, Pratas D, Pinho AJ (July 2018). "Cryfa: a secure encryption tool for genomic data". Bioinformatics. doi:10.1093/bioinformatics/bty645. PMID 30020420.
    2. Bouillaguet, C. (2012). "Low-data complexity attacks on AES". IEEE Transactions on Information Theory. 58 (11): 7002–7017. CiteSeerX 10.1.1.295.9517. doi:10.1109/TIT.2012.2207880.
    3. Pratas D, Pinho AJ (May 2017). On the Approximation of the Kolmogorov Complexity for DNA Sequences. Alexandre L., Salvador Sánchez J., Rodrigues J. (eds) Pattern Recognition and Image Analysis. IbPRIA 2017. Lecture Notes in Computer Science, Vol 10255. Springer, Cham. Lecture Notes in Computer Science. 10255. pp. 259–266. doi:10.1007/978-3-319-58838-4_29. ISBN 978-3-319-58837-7. Search this book on


    This article "Cryfa" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Cryfa. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.