Skip to main content

Store, encrypt and decrypt files to and from encrypted, authenticated containers.

Project description

pypi license travis appveyor

nescient, n. (nesh-int) - from Latin ‘unknowing’, ‘hidden’

Store, encrypt and decrypt files to and from encrypted, authenticated containers.

Nescient provides an easy-to-use, secure, and efficient means of file or memory level encryption.

Several use cases include:

  • Backing up multiple files to a reliable yet insecure location.

  • Providing additional, file-level encryption to supplement full disk encryption, securing packed files even while the machine is on with the disk-level encryption key loaded in memory.

  • Sharing files with others securely, by transferring a Nescient container through an insecure channel and providing a password through a separate secure channel.

  • Using Nescient’s cryptographic classes to efficiently implement secure protocols.

Nescient is:

  • open source: It is licensed under the permissive MIT license.

  • multiplatform: As a Python project, Nescient works on all the major operating systems (Windows, macOS, and Linux)

  • transparent: The means with which Nescient encrypts and packs files is documented, and the algorithms used are tested both against official test vectors and arbitrary data to ensure correctness.

  • fast: All core crypto code is written in Cython and compiled to C extensions, making it fast enough to be practically usable for large files. The fastest cipher modes achieve speeds of 10 cycles/byte.

Nescient supports the following packing modes:

  • The AES block cipher for encryption, with either 128, 192, or 256 bit keys, in CBC mode, and SHA-256 for generating authentication tags.

  • The ChaCha20 stream cipher with 256 bit keys and SHA-256 for generating authentication tags.

Installation

Windows

Nescient is available as a pre-packaged, standalone Windows executable, downloadable from the github releases. The executable can be used in GUI-mode, by double-clicking, or can be run with command line arguments.

From PyPI

Nescient requires Python 3.4 or later.

Windows users installing Nescient as a Python package are strongly suggested to have a 64-bit Python installation on their machines. Otherwise, installation may require installing the Microsoft C++ Visual Build Tools to compile Nescient’s C extensions.

Install Nescient from the Python Package Index (PyPI) by running pip install nescient.

From Releases

An arbitrary stable (not development) release can be installed from the github releases by downloading the zip archive and running pip install <path-to-zip.

From latest source

Clone or download the git repo, navigate to the directory, then run:

python3 setup.py sdist
cd dist
pip install Nescient-<version>.tar.gz

Installing from source may require installing compilation tools.

Usage

Nescient has a GUI mode, which can be run by simply running nescient-ui, or nescient with no arguments.

Nescient can pack or unpack files into/from .nesc containers. Some typical usage might be:

nescient pack file1 file2

nescient unpack file1.nesc

Unless otherwise specified via command line flags, Nescient packs and unpacks files in place, overwriting their data.

Command line help can be viewed with nescient -h.

Development

Nescient versioning functions on a MAJOR.MINOR.PATCH.[DEVELOP] model. Only stable, non development releases will be published to PyPI. Because Nescient is still a beta project, the MAJOR increment will be 0. Minor increments represent new features. Patch increments represent problems fixed with existing features.

Planned features include:

  • New cipher modes for existing algorithms, like the GCM authenticated mode, and additional encryption algorithms.

  • Integrated compression when packing files.

  • GUI mode enhancements.

  • Documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Nescient-0.9.0.tar.gz (233.6 kB view details)

Uploaded Source

Built Distributions

Nescient-0.9.0-cp36-cp36m-win_amd64.whl (177.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

Nescient-0.9.0-cp36-cp36m-win32.whl (159.2 kB view details)

Uploaded CPython 3.6m Windows x86

Nescient-0.9.0-cp36-cp36m-manylinux1_x86_64.whl (577.9 kB view details)

Uploaded CPython 3.6m

Nescient-0.9.0-cp36-cp36m-manylinux1_i686.whl (553.4 kB view details)

Uploaded CPython 3.6m

Nescient-0.9.0-cp35-cp35m-win_amd64.whl (176.0 kB view details)

Uploaded CPython 3.5m Windows x86-64

Nescient-0.9.0-cp35-cp35m-win32.whl (158.6 kB view details)

Uploaded CPython 3.5m Windows x86

Nescient-0.9.0-cp35-cp35m-manylinux1_x86_64.whl (570.0 kB view details)

Uploaded CPython 3.5m

Nescient-0.9.0-cp35-cp35m-manylinux1_i686.whl (546.1 kB view details)

Uploaded CPython 3.5m

File details

Details for the file Nescient-0.9.0.tar.gz.

File metadata

  • Download URL: Nescient-0.9.0.tar.gz
  • Upload date:
  • Size: 233.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for Nescient-0.9.0.tar.gz
Algorithm Hash digest
SHA256 1399c567d6216fcf5c188652adeeb34aba13b224bda0f42941c0ab999ba1d970
MD5 4a1f930276ea719a26875cb7ce58bf61
BLAKE2b-256 85ba087a57d1a15f4698d69ab3d06502544a86b2e2d68346ef112930f473f718

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 177.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for Nescient-0.9.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6a65111c619793dc7bf81060ecd46c11a8b8fc1421748ff24d298aa8a0b2322d
MD5 8f9deca211f323ec70299152f2b12220
BLAKE2b-256 1b4d91a819738b8d4df509ff57eed455545031e803ca8fca2e3997e86a8b15a8

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 159.2 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for Nescient-0.9.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e6491c731d04ffb9f69afe70460d6e1e5b0b69a3d856d6153c5f0719a17d8c2f
MD5 76b3ce1b7d360be15449c73a1720f547
BLAKE2b-256 171cd801f161f834bebc69750592776d2121c14e662c69a4efab9bea95359748

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 577.9 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for Nescient-0.9.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9da787c65e76704f898501b5fc825de351968e5fa1286d3874d2a3ba175f691f
MD5 f385b6a4cdf4f7eead267a918a531064
BLAKE2b-256 293bd41870d3cb32416bbce1788daba4d7f29e5991d355681642febd583112b4

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 553.4 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for Nescient-0.9.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b832e1e3d02aeabcb2c4afb4993c78c00a936e5fc1a2ddabeff68966a7078056
MD5 940feefd9f48372a38e073c4ad7f2248
BLAKE2b-256 d8b65bab73be83b8603f1624498030c99f7279aac214cb3f01cf3cb2db38f4d0

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 176.0 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.4

File hashes

Hashes for Nescient-0.9.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 d370c4bbbac04e86135d8d0b197432222f3fda6cabdfbf670722a1ef6199c502
MD5 eab1ab7ea986c6cff446d9ad3aa49117
BLAKE2b-256 93c53bb0fe98fa4f3aa7bfab6d16a3e4d233a9680109782d8c5cc448a4a37dd6

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp35-cp35m-win32.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 158.6 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.4

File hashes

Hashes for Nescient-0.9.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 1707bc304da099cff9a5b0f550d8a9dc48858774530e6bb6eb2f9da36d89ba75
MD5 d9dbc77e8bf2fb01646f572c7d89e197
BLAKE2b-256 e1332c2e63e392ceba8c5014c76765e3ba69af22e00b96e8f959578831a5dc05

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 570.0 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for Nescient-0.9.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 df16a07b4a6a01025a760c9ad3de9205f014ec7dfc73d109cba4f7f8c2e82c73
MD5 b38df3c01426553e537b00073d944ad0
BLAKE2b-256 ac71d6dfecd8d8c518eb8a7e9c5de7680a3ce5aff62edbe958620276a160da7d

See more details on using hashes here.

File details

Details for the file Nescient-0.9.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: Nescient-0.9.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 546.1 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.3

File hashes

Hashes for Nescient-0.9.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 527ee8cf96ddde82ce6c2722cdc066b6a21e6c4bd7528fa1f031885a980a3c9a
MD5 44e91107c901e19637518ec43a819fe0
BLAKE2b-256 910f904ee7348fb90500fc2fcfec51d3ebbae4cc76bb0f6f6780044c25997aea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page