Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2024 Dec 26;41(1):btae763.
doi: 10.1093/bioinformatics/btae763.

Crypt4GH-JS: securely storing sensitive data online with client-side encryption

Affiliations

Crypt4GH-JS: securely storing sensitive data online with client-side encryption

Fabienne Thelen et al. Bioinformatics. .

Abstract

Motivation and results: Crypt4GH-JS is a browser-ready implementation of the Crypt4GH file encryption standard written in JavaScript. While having minimal to no impact on data upload and download throughput this library enables on-the-fly encryption of arbitrary data in web applications, regardless of whether on the client or server side. As development moves more and more toward cloud-native applications, this library represents a significant step forward for flexible data security in the context of opaque cloud storage systems.

Availability and implementation: Crypt4GH-JS can be installed via Node Package Manager (https://www.npmjs.com/package/crypt4gh_js) or through its public GitHub Repository (https://github.com/fathelen/crypt4ghJS), where the source code is available. Crypt4GH-JS can be tested in the browser using our demonstration website, which can be found at: https://fathelen.github.io/crypt4ghJS/.

PubMed Disclaimer

Figures

Figure 1.
Figure 1.
Overview of the benchmarking results. The x-axis shows the tested file sizes. The y-axis shows the throughput in Megabit per second. The six tested data-rate units: 1000, 500, 250, 100, 50, and 20 Mbit/s are tested for each of the four testcases: download with decryption (circles), download without decryption (squares), encryption with encryption (rhombus), and upload without encryption (triangles). In total, we received 168 cases for the benchmarking: The benchmarking was done with hyperfine (Peter 2023, Version 1.17.0, https://github.com/sharkdp/hyperfine) and pipeViewer (Wood (a-J Wood) 2024, Version 1.7.24, https://codeberg.org/a-j-wood/pv) to track the process and limit the data-rate unit, for two warm-up runs and ten benchmarking runs. The results are calculated from the files size in Megabit divided by the median of the ten benchmarking runs to receive the throughput in Megabit per second per case (y-axis).

Similar articles

References

    1. Editorial. Nucleic Acids Res 2003;31:3289. 10.1093/nar/gkg631 - DOI
    1. EGA-Archive. Git repository of the python implementation for the crypt4gh standard. 2024a.
    1. EGA-Archive. Git repository of the rust implementation for the crypt4gh standard. 2024b.
    1. Peter D. hyperfine—a command-line benchmarking tool. 2023.
    1. Rehm HL, Page AJH, Smith L. et al. Ga4gh: international policies and standards for data sharing across genomic research and healthcare. Cell Genom 2021;1:100029. - PMC - PubMed