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.8.0.tar.gz (233.4 kB view details)

Uploaded Source

Built Distributions

Nescient-0.8.0-cp36-cp36m-win_amd64.whl (180.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

Nescient-0.8.0-cp36-cp36m-win32.whl (163.8 kB view details)

Uploaded CPython 3.6m Windows x86

Nescient-0.8.0-cp36-cp36m-manylinux1_x86_64.whl (591.1 kB view details)

Uploaded CPython 3.6m

Nescient-0.8.0-cp36-cp36m-manylinux1_i686.whl (559.1 kB view details)

Uploaded CPython 3.6m

Nescient-0.8.0-cp35-cp35m-win_amd64.whl (179.7 kB view details)

Uploaded CPython 3.5m Windows x86-64

Nescient-0.8.0-cp35-cp35m-win32.whl (163.1 kB view details)

Uploaded CPython 3.5m Windows x86

Nescient-0.8.0-cp35-cp35m-manylinux1_x86_64.whl (582.9 kB view details)

Uploaded CPython 3.5m

Nescient-0.8.0-cp35-cp35m-manylinux1_i686.whl (550.6 kB view details)

Uploaded CPython 3.5m

Nescient-0.8.0-cp34-cp34m-win_amd64.whl (178.2 kB view details)

Uploaded CPython 3.4m Windows x86-64

Nescient-0.8.0-cp34-cp34m-win32.whl (166.3 kB view details)

Uploaded CPython 3.4m Windows x86

Nescient-0.8.0-cp34-cp34m-manylinux1_x86_64.whl (594.2 kB view details)

Uploaded CPython 3.4m

Nescient-0.8.0-cp34-cp34m-manylinux1_i686.whl (558.8 kB view details)

Uploaded CPython 3.4m

File details

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

File metadata

  • Download URL: Nescient-0.8.0.tar.gz
  • Upload date:
  • Size: 233.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Nescient-0.8.0.tar.gz
Algorithm Hash digest
SHA256 098362ea51aeebb26110bee7e84ad2d3b092d82aaeb94b00b7f630520483e617
MD5 62eea00e2c9aca0d89d58788d739d5f9
BLAKE2b-256 bacd057c64ec61dd1a27224851017581bc35a45b14243d0105682b3705de86a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6e0023fedca56ac98fb9b2ddb24ddb174328c44408b31d3f8629c16a9b53edc3
MD5 67e695e1a22142a119a62d0ec46786d5
BLAKE2b-256 97cf28d30897cfd1de9608e920898358082cc591388376f5871d133a9e582b4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 8042579bd4f6bea5afdd1b10eca5d99ab247cd5f9595a5137cb969a65745ae16
MD5 f7adb6aa1b575b8792427b63be72072f
BLAKE2b-256 81fbf20bc6804df54e5ce9028458506b20f36a3a60fcaa967e11af3aa5de9a5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6ad1bdbd957f0ae5b517eaaaf08ca3bfd1d72effc02e1aa02cc9420723acd1ad
MD5 72a3df3d5adfe65577a7179799be8814
BLAKE2b-256 a038b39285a45678f8f3c03f69e5ecb2162edd0c32c98deb3b3c916129eb0f7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d24955402d11d420e9fe35145df3d490b21b0460538cb7ea1ab4a58c420206ff
MD5 acb7607f656ed8b0d1afd75babe87527
BLAKE2b-256 98f3c046a1431eeb45d41b1775eb3e2f46560d7bb45021084cc2b2734d846023

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 77378a5aca35349c39361e7bd40a1ec373eeb058e0c93a1af782d7b1def89275
MD5 163e5353ca2cfa7beff2adfb7c62fb0a
BLAKE2b-256 e07ae136820043ba87d5b13d9fd6887c1f84f56f4a33980a607a13dcd6cfbf87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 2d426972d2027d51716b256db37db4c12599f6d9bb92a7722d5e9d53b7ebf283
MD5 ec84351a3b8ccc90eea7bcb6d3505851
BLAKE2b-256 c62afb6070c9eba29751bc82252093364f4ba337c4411f70fa611ffec8314e66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 39cd239a40b51d3a52d39e6e94426129b6a32440ac392cc84c93a834cd9653c7
MD5 724d204f2b44ee0327f89587b102e944
BLAKE2b-256 88aaed4127c37f759b75e141f793a11e89f98786f95ccc41c0f055998dc81fbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0a82d2ed5556ed84d456cc9c1de8465cb18287fe41559c834e4b35fc23c38f11
MD5 949317687c986308573bbfbd49f85705
BLAKE2b-256 a59cfc704c984ca97d6594f6f6140b959eb0804e9211653c346ce15b920df807

See more details on using hashes here.

File details

Details for the file Nescient-0.8.0-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for Nescient-0.8.0-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 1019708b1197af8f8806a5f0150d02d2ac2408a05a0afb5472214286c8cff4b5
MD5 3f8a9139a16547cf1ab938177c9eb347
BLAKE2b-256 7640cd1888d101c33192215bf7b3523bd45dd64f9c729af953128bfa32ec80b2

See more details on using hashes here.

File details

Details for the file Nescient-0.8.0-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for Nescient-0.8.0-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 f69194b3b136bc7691d4facb73547dfffb83542deed41ed0f702fc7ffe519195
MD5 415ca2239a3403e98c4c08791b4b9dea
BLAKE2b-256 c5dd6541c77992967b70d36e10d5a47be8389f37201e0795ecf53fafa7f8a16b

See more details on using hashes here.

File details

Details for the file Nescient-0.8.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Nescient-0.8.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 66067aef7a8badf39567624436da57e64699d632863591d1b782f947953c3818
MD5 f18f0873566eab91468031a27fd4d1fd
BLAKE2b-256 bd0348bd6bb80dccc8455ef52002e29130b2b4c4c9343a61904dedf7316fbbc0

See more details on using hashes here.

File details

Details for the file Nescient-0.8.0-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Nescient-0.8.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ef5c357bc960a747d36ebe5a0fac3fedb99c3d20f1c0a66f2827f193eb32fb5b
MD5 3f1c665fcde30e95304403274240269d
BLAKE2b-256 9d43b7b95dc4d427b50cefdd28dafce2c3e67cbf7a2c74920e5dc40f6c9863bf

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