Store, encrypt and decrypt files to and from encrypted, authenticated containers.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1399c567d6216fcf5c188652adeeb34aba13b224bda0f42941c0ab999ba1d970 |
|
MD5 | 4a1f930276ea719a26875cb7ce58bf61 |
|
BLAKE2b-256 | 85ba087a57d1a15f4698d69ab3d06502544a86b2e2d68346ef112930f473f718 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a65111c619793dc7bf81060ecd46c11a8b8fc1421748ff24d298aa8a0b2322d |
|
MD5 | 8f9deca211f323ec70299152f2b12220 |
|
BLAKE2b-256 | 1b4d91a819738b8d4df509ff57eed455545031e803ca8fca2e3997e86a8b15a8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6491c731d04ffb9f69afe70460d6e1e5b0b69a3d856d6153c5f0719a17d8c2f |
|
MD5 | 76b3ce1b7d360be15449c73a1720f547 |
|
BLAKE2b-256 | 171cd801f161f834bebc69750592776d2121c14e662c69a4efab9bea95359748 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da787c65e76704f898501b5fc825de351968e5fa1286d3874d2a3ba175f691f |
|
MD5 | f385b6a4cdf4f7eead267a918a531064 |
|
BLAKE2b-256 | 293bd41870d3cb32416bbce1788daba4d7f29e5991d355681642febd583112b4 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b832e1e3d02aeabcb2c4afb4993c78c00a936e5fc1a2ddabeff68966a7078056 |
|
MD5 | 940feefd9f48372a38e073c4ad7f2248 |
|
BLAKE2b-256 | d8b65bab73be83b8603f1624498030c99f7279aac214cb3f01cf3cb2db38f4d0 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d370c4bbbac04e86135d8d0b197432222f3fda6cabdfbf670722a1ef6199c502 |
|
MD5 | eab1ab7ea986c6cff446d9ad3aa49117 |
|
BLAKE2b-256 | 93c53bb0fe98fa4f3aa7bfab6d16a3e4d233a9680109782d8c5cc448a4a37dd6 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1707bc304da099cff9a5b0f550d8a9dc48858774530e6bb6eb2f9da36d89ba75 |
|
MD5 | d9dbc77e8bf2fb01646f572c7d89e197 |
|
BLAKE2b-256 | e1332c2e63e392ceba8c5014c76765e3ba69af22e00b96e8f959578831a5dc05 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | df16a07b4a6a01025a760c9ad3de9205f014ec7dfc73d109cba4f7f8c2e82c73 |
|
MD5 | b38df3c01426553e537b00073d944ad0 |
|
BLAKE2b-256 | ac71d6dfecd8d8c518eb8a7e9c5de7680a3ce5aff62edbe958620276a160da7d |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 527ee8cf96ddde82ce6c2722cdc066b6a21e6c4bd7528fa1f031885a980a3c9a |
|
MD5 | 44e91107c901e19637518ec43a819fe0 |
|
BLAKE2b-256 | 910f904ee7348fb90500fc2fcfec51d3ebbae4cc76bb0f6f6780044c25997aea |