{"id":15707174,"url":"https://github.com/aarant/nescient","last_synced_at":"2025-05-12T19:27:57.120Z","repository":{"id":57445530,"uuid":"77309671","full_name":"aarant/nescient","owner":"aarant","description":"Store, encrypt and decrypt files to and from encrypted, authenticated containers.","archived":false,"fork":false,"pushed_at":"2021-03-25T04:55:59.000Z","size":1910,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-20T08:18:43.475Z","etag":null,"topics":["cryptography","encryption-tool","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aarant.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-25T04:02:41.000Z","updated_at":"2024-01-19T10:24:21.000Z","dependencies_parsed_at":"2022-09-26T17:31:00.024Z","dependency_job_id":null,"html_url":"https://github.com/aarant/nescient","commit_stats":null,"previous_names":["arantonitis/nescient"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fnescient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fnescient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fnescient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aarant%2Fnescient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aarant","download_url":"https://codeload.github.com/aarant/nescient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253807706,"owners_count":21967407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","encryption-tool","python","python3"],"created_at":"2024-10-03T20:37:43.867Z","updated_at":"2025-05-12T19:27:57.101Z","avatar_url":"https://github.com/aarant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":".. |pypi| image:: https://img.shields.io/pypi/v/nescient.svg\n.. _pypi: https://pypi.python.org/pypi/Nescient\n.. |license| image:: https://img.shields.io/github/license/arantonitis/nescient.svg\n.. _license: https://github.com/arantonitis/nescient/tree/master/LICENSE\n.. |travis| image:: https://travis-ci.org/arantonitis/nescient.svg?branch=master\n.. _travis: https://travis-ci.org/arantonitis/nescient/\n.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/r5p0hg36srwi2k06?svg=true\n.. _appveyor: https://ci.appveyor.com/project/arantonitis/nescient\n.. |nessie| image:: https://raw.githubusercontent.com/arantonitis/nescient/master/nescient/nessie.png\n   :height: 64px\n   :width: 64px\n   :align: middle\n   :alt:\n\n|nessie| Nescient\n*****************\n|pypi|_ |license|_ |travis|_ |appveyor|_\n\n*nescient, n. (nesh-int) - from Latin 'unknowing', 'hidden'*  \n\nStore, encrypt and decrypt files to and from encrypted, authenticated containers.\n\nNescient provides an easy-to-use, secure, and efficient means of file or memory level encryption.\n\nSeveral use cases include:\n\n* Backing up multiple files to a reliable yet insecure location.\n\n* 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.\n\n* Sharing files with others securely, by transferring a Nescient container through an insecure channel and providing a password through a separate secure channel.\n\n* Using Nescient's cryptographic classes to efficiently implement secure protocols.\n\nNescient is:\n\n* **open source**: It is licensed under the permissive MIT license.\n\n* **multiplatform**: As a Python project, Nescient works on all the major operating systems (Windows, macOS, and Linux)\n\n* **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.\n\n* **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.\n\nNescient supports the following packing modes:\n\n* The AES block cipher for encryption, with either 128, 192, or 256 bit keys, in CBC mode, and SHA-256 for generating authentication tags.\n\n* The ChaCha20 stream cipher with 256 bit keys and SHA-256 for generating authentication tags.\n\nInstallation\n============\n\nWindows\n-------\nNescient 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.\n\nFrom PyPI\n---------\nNescient requires Python 3.4 or later.\n\nWindows 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.\n\nInstall Nescient from the Python Package Index (PyPI) by running ``pip install nescient``.\n\n.. note::\n\n   * On most Linux systems, installation may require running pip with root permissions, or running ``pip install nescient --user`` instead.\n   \n   * On most Linux systems, there may be two versions of pip available: The Python 3 version is typically called ``pip3``.\n   \nFrom Releases\n-------------\nAn arbitrary stable (not development) release can be installed from the `github releases`_ by downloading the zip archive and running ``pip install \u003cpath-to-zip``.\n\nFrom latest source\n------------------\nClone or download the `git repo`_, navigate to the directory, then run::\n\n   python3 setup.py sdist\n   cd dist\n   pip install Nescient-\u003cversion\u003e.tar.gz\n   \nInstalling from source may require installing compilation tools.\n\n.. _github releases: https://github.com/arantonitis/nescient/releases\n.. _git repo: https://github.com/arantonitis/nescient\n\nUsage\n=====\nNescient has a GUI mode, which can be run by simply running ``nescient-ui``, or ``nescient`` with no arguments.\n\nNescient can pack or unpack files into/from ``.nesc`` containers. Some typical usage might be:\n\n``nescient pack file1 file2``\n\n``nescient unpack file1.nesc``\n\nUnless otherwise specified via command line flags, Nescient packs and unpacks files in place, overwriting their data.\n\nCommand line help can be viewed with ``nescient -h``.\n\nDevelopment\n===========\nNescient 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.\n\nPlanned features include:\n\n* New cipher modes for existing algorithms, like the GCM authenticated mode, and additional encryption algorithms.\n\n* Integrated compression when packing files.\n\n* GUI mode enhancements.\n\n* Documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarant%2Fnescient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faarant%2Fnescient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faarant%2Fnescient/lists"}