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

Uploaded Source

Built Distributions

Nescient-0.8.1-cp36-cp36m-win_amd64.whl (181.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

Nescient-0.8.1-cp36-cp36m-win32.whl (164.4 kB view details)

Uploaded CPython 3.6m Windows x86

Nescient-0.8.1-cp36-cp36m-manylinux1_x86_64.whl (592.7 kB view details)

Uploaded CPython 3.6m

Nescient-0.8.1-cp36-cp36m-manylinux1_i686.whl (560.4 kB view details)

Uploaded CPython 3.6m

Nescient-0.8.1-cp35-cp35m-win_amd64.whl (180.2 kB view details)

Uploaded CPython 3.5m Windows x86-64

Nescient-0.8.1-cp35-cp35m-win32.whl (163.6 kB view details)

Uploaded CPython 3.5m Windows x86

Nescient-0.8.1-cp35-cp35m-manylinux1_x86_64.whl (585.6 kB view details)

Uploaded CPython 3.5m

Nescient-0.8.1-cp35-cp35m-manylinux1_i686.whl (552.0 kB view details)

Uploaded CPython 3.5m

Nescient-0.8.1-cp34-cp34m-win_amd64.whl (179.0 kB view details)

Uploaded CPython 3.4m Windows x86-64

Nescient-0.8.1-cp34-cp34m-win32.whl (166.8 kB view details)

Uploaded CPython 3.4m Windows x86

Nescient-0.8.1-cp34-cp34m-manylinux1_x86_64.whl (596.0 kB view details)

Uploaded CPython 3.4m

Nescient-0.8.1-cp34-cp34m-manylinux1_i686.whl (560.4 kB view details)

Uploaded CPython 3.4m

File details

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

File metadata

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

File hashes

Hashes for Nescient-0.8.1.tar.gz
Algorithm Hash digest
SHA256 6289e90465c9e9c50a7bbecd97864cdb93c1b7a2d497f8951c3e8ab9e9656ee2
MD5 a01220c1ecf332aef97753c929e346ee
BLAKE2b-256 c1470c9d9bbc1721f49ce61b8ee846d042d6a83b6ab9b520617b32f5795f30f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 194b121fd1f436537ece571d33e5f8383c16b5579df7154896f1baa88c61f200
MD5 fc7c55697730fc1da3b35e359d0878fd
BLAKE2b-256 c6af5e8f492569b46b153f2d01c1dd2411a482f5d06131321c4c2cc320e26aad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 57cb1bd9d16abefb758f5ee5589a3e37df6a9d54a4ff06cdaa4c4497dc75afd2
MD5 54c54889af77bc3a0760d13f42f4334c
BLAKE2b-256 9f73b47d92c0f4a1d9b8c8a97ff2d02a6628a70d53d210e398b99cc56b5f0a9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1b42bc05c2cd4a9f149319b3a5000436f245b1906c0c5b72919c7bb744959dca
MD5 0d638cee6c626ed3a54b6ccd469f7412
BLAKE2b-256 eb16d8107b4ed4acc4f5c4eb264d2d6da49d9a6923d3a35d6b28aab0129b07d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 179be11c84fb86e1febbdf0fb9ecbda95747901b3523252366c28e00c5fe5580
MD5 e6f49838fd15e6a482b0696063304a3d
BLAKE2b-256 c1331f34766240a801911e4cab958716dc876283be574feb701527eb7833c4c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 ed3bcadf1f4b4f5123278ab93515d43b043083682b8a980342369aaade493abf
MD5 77e8ad5e8425974850ed1778abc83120
BLAKE2b-256 088e2463e94fdaeaf8a98ae0735ee2884435bf3ad5d52b0bc23e5f66d89d9239

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 41e9cde1b879a3a3a6e29e242efb31d7d99df0e3bf9036339ca0584df1465058
MD5 c6dbc9156205c09823789ec1b42f8159
BLAKE2b-256 f47908c20dc161a420137e969db0b40c8ea5e9ca76fc941c25d9eb5c2f671d80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 17fa273fe0031ecf8cad5930d7f91205243cdbb99fef1272b5cc39201a03281e
MD5 8a606c71e9c1bc88b8d58bedfca7b075
BLAKE2b-256 640f3ee348452cb089e64119abb7243740b3d1f8ac869bd63e2acd01b7a53d97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 230462ef000b742143e860c72af3aa50877bec491afa74e67469e12aa89321dd
MD5 4af70dba5643ce100b81b502f1425f8d
BLAKE2b-256 6c4ab5afdf7ce0ace11e7451cfcecbe23792fc113e35c59443b46f9ecb54f587

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 675e86ce52204277fff8edf9a92efee464e9e89ad1c2f118b2ef0ae57b6cbdb8
MD5 92b03d01cad978747680f5e7a7a05600
BLAKE2b-256 519edc66ec21bd412ef0b7f85342dc01212a033c7078d5a178a11547a2d5e256

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 0a6e0d285475ce733f49b81ffc397d23661caae6866a275c81dd556a85c3dbf0
MD5 f016d034a29381028c1392f24fb28f8e
BLAKE2b-256 4920f7676d646ac9e52deffa99777b72470134089e14977443ea409a8331056b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 185a448885b787922e3f173ca65df7054dd5d22f4ee2d22a8a57c6831068fe7a
MD5 65c02fd3ee424841ec063e1bb48e9026
BLAKE2b-256 4d086eca0b59c440e0de6a305188336541ed1e0dea062063a1331fe5c8f0968f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for Nescient-0.8.1-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9f5ce6b64eefb58e557e5228dac2b32094317977419efe0b7ce221d770c49d93
MD5 7aa4b1290973c90fb48da46428e81ec8
BLAKE2b-256 4cbe360a551a6cb23a9f186872adb09d3385e60896824ae04fa8d6effaca740a

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