crypt4gh

GA4GH cryptographic tools

https://github.com/ega-archive/crypt4gh

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.2%) to scientific vocabulary

Keywords

crg crypt4gh cryptography cryptography-tools ega ega-archive ga4gh
Last synced: 6 months ago · JSON representation

Repository

GA4GH cryptographic tools

Basic Info
Statistics
  • Stars: 19
  • Watchers: 2
  • Forks: 12
  • Open Issues: 2
  • Releases: 3
Topics
crg crypt4gh cryptography cryptography-tools ega ega-archive ga4gh
Created over 7 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

Documentation Status Testsuite

Crypt4GH Encryption Utility

crypt4gh is a Python tool to encrypt, decrypt or re-encrypt files, according to the GA4GH encryption file format.

Installation

Python 3.6+ required to use the crypt4gh encryption utility.

Install it from PyPI:

pip install crypt4gh

or if you prefer the latest sources from Github:

git clone https://github.com/EGA-archive/crypt4gh pip install -r crypt4gh/requirements.txt pip install ./crypt4gh

or

pip install git+https://github.com/EGA-archive/crypt4gh.git

Usage

The usual -h flag shows you the different options that the tool accepts.

```bash $ crypt4gh -h

Utility for the cryptographic GA4GH standard, reading from stdin and outputting to stdout.

Usage: {PROG} [-hv] [--log ] encrypt [--sk ] --recipientpk [--recipientpk ]... [--range ] [--header ] {PROG} [-hv] [--log ] decrypt [--sk ] [--senderpk ] [--range ] {PROG} [-hv] [--log ] rearrange [--sk ] --range {PROG} [-hv] [--log ] reencrypt [--sk ] --recipientpk [--recipient_pk ]... [--trim] [--header-only]

Options: -h, --help Prints this help and exit -v, --version Prints the version and exits --log Path to the logger file (in YML format) --sk Curve25519-based Private key. When encrypting, if neither the private key nor C4GHSECRETKEY are specified, we generate a new key --recipientpk Recipient's Curve25519-based Public key --senderpk Peer's Curve25519-based Public key to verify provenance (akin to signature) --range Byte-range either as or just (Start included, End excluded) -t, --trim Keep only header packets that you can decrypt --header Where to write the header (default: stdout) --header-only Whether the input data consists only of a header (default: false)

Environment variables: C4GHLOG If defined, it will be used as the default logger C4GHSECRETKEY If defined, it will be used as the default secret key (ie --sk ${C4GHSECRET_KEY})

```

Demonstration

Alice and Bob generate both a pair of public/private keys.

bash $ crypt4gh-keygen --sk alice.sec --pk alice.pub $ crypt4gh-keygen --sk bob.sec --pk bob.pub

Bob encrypts a file for Alice:

bash $ crypt4gh encrypt --sk bob.sec --recipient_pk alice.pub < file > file.c4gh

Alice decrypts the encrypted file:

bash $ crypt4gh decrypt --sk alice.sec < file.c4gh

asciicast

File Format

Refer to the specifications or this documentation.

Owner

  • Name: EGA-archive
  • Login: EGA-archive
  • Kind: organization

European Genome-Phenome Archive

GitHub Events

Total
  • Issues event: 4
  • Watch event: 3
  • Issue comment event: 7
  • Push event: 1
  • Pull request review event: 4
  • Pull request review comment event: 3
  • Pull request event: 2
  • Fork event: 3
Last Year
  • Issues event: 4
  • Watch event: 3
  • Issue comment event: 7
  • Push event: 1
  • Pull request review event: 4
  • Pull request review comment event: 3
  • Pull request event: 2
  • Fork event: 3

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 113
  • Total Committers: 5
  • Avg Commits per committer: 22.6
  • Development Distribution Score (DDS): 0.088
Past Year
  • Commits: 3
  • Committers: 2
  • Avg Commits per committer: 1.5
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Frédéric Haziza f****a@c****u 103
Stefan Negru s****n@b****m 7
teemu.kataja t****a@c****i 1
Frédéric Haziza s****z@g****m 1
Stefan Negru b****s 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 18
  • Total pull requests: 29
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 16 days
  • Total issue authors: 16
  • Total pull request authors: 9
  • Average comments per issue: 2.61
  • Average comments per pull request: 0.62
  • Merged pull requests: 22
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 2
  • Average time to close issues: 18 days
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.67
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dtitov (2)
  • viklund (2)
  • hannanw (1)
  • lialon (1)
  • AlesCUMSI (1)
  • danarte (1)
  • wandergeek (1)
  • kkmattil (1)
  • paulamartingonzalez (1)
  • christophechu (1)
  • nebfield (1)
  • nicoleversetwo (1)
  • grbot (1)
  • jvkersch (1)
  • SuhasSrinivasan (1)
Pull Request Authors
  • silverdaz (13)
  • blankdots (6)
  • jvkersch (6)
  • twrightsman (2)
  • AlexanderSenf (1)
  • teemukataja (1)
  • wandergeek (1)
  • grbot (1)
  • manabuishii (1)
Top Labels
Issue Labels
good first issue (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 5,362 last-month
  • Total dependent packages: 3
  • Total dependent repositories: 7
  • Total versions: 7
  • Total maintainers: 1
pypi.org: crypt4gh

GA4GH cryptographic utilities

  • Versions: 7
  • Dependent Packages: 3
  • Dependent Repositories: 7
  • Downloads: 5,362 Last month
Rankings
Dependent packages count: 3.1%
Dependent repos count: 5.6%
Downloads: 6.6%
Average: 8.4%
Forks count: 10.9%
Stargazers count: 15.6%
Maintainers (1)
Last synced: 6 months ago

Dependencies

requirements.txt pypi
  • bcrypt *
  • cryptography *
  • docopt *
  • pyYaml *
  • pynacl *
setup.py pypi
  • bcrypt *
  • cryptography >=2.8
  • docopt *
  • pyYaml >=5.1.2
  • pynacl >=1.3.0
.github/workflows/bats.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v1 composite