{ "info": { "author": "eshard", "author_email": "estraces@eshard.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Framework :: IPython", "Framework :: Jupyter", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering", "Topic :: Security", "Topic :: Software Development" ], "description": "# estraces - Traces and trace sets Python library for side-channel attacks\n\n[![pipeline status](https://gitlab.com/eshard/estraces/badges/master/pipeline.svg)](https://gitlab.com/eshard/estraces/commits/master)\n[![PyPI version](https://badge.fury.io/py/estraces.svg)](https://pypi.org/project/estraces/)\n[![Conda installer](https://anaconda.org/eshard/estraces/badges/installer/conda.svg)](https://anaconda.org/eshard/estraces)\n[![Latest Conda release](https://anaconda.org/eshard/estraces/badges/latest_release_date.svg)](https://anaconda.org/eshard/estraces)\n\nestraces is a Python library to manipulate side-channel trace sets. It aims at giving a clear and uniform API to handle\ntraces samples and metadata for various persistency and file formats.\nIt uses [Numpy](https://www.numpy.org) to handle data.\n\nestraces was originally developped and maintain by [eshard](https://www.eshard.com), and is heavily used in the open-source\nside-channel analysis framework.\n\n## Getting started\n\n### Prerequisites\n\nYou will need **Python 3.6+** to use and install estraces. You can use pip (or any pip based tool like pipenv) or conda to install it.\n\n### Installation\n\nTo install estraces, you can use pip (or pipenv, or any other pip based-tool) or conda:\n\n```bash\n$ pip install estraces\n# or with Conda\n$ conda install -c eshard estraces\n```\n\n### Opens a trace set\n\nIf you have a trace set as binary files, you can get a trace header set by using the binary reader:\n\n```python\n# First import the lib\nimport estraces\n\n# We suppose the binary files are under traces/ and are named something.bin\nmy_traces = estraces.read_ths_from_bin_filenames_pattern(\n 'traces/*.bin', # First indicate the filename pattern for the bin file\n dtype='uint8', # Indicate the numpy dtype of the data\n metadatas_parsers={} # This dict allows to associate metadata\n)\n```\n\nYou can then read your samples:\n\n```python\n# This will return the data for the first 100 traces\nmy_traces.samples[:100]\n\n# This will return the frame 0 - 1000 of all the traces as a numpy array\nmy_traces.samples[:, :1000]\n\n# You can iterate on traces\nfor trace in my_traces:\n # do something\n```\n\n## Documentation\n\nTo go further and learn all about estraces, please go to [the full documentation](https://eshard.gitlab.io/estraces).\n\n## Contributing\n\nAll contributions, starting with feedbacks, are welcomed.\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) if you wish to contribute to the project.\n\n## License\n\nThis library is licensed under LGPL V3 license. See the [LICENSE](LICENSE) file for details.\n\nIt is mainly intended for non-commercial use, by academics, students or professional willing to learn the basics of side-channel analysis.\n\nIf you wish to use this library in a commercial or industrial context, eshard provides commercial licenses under fees. Contact us!\n\n## Authors\n\nSee [AUTHORS](AUTHORS.md) for the list of contributors to the project.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/eshard/estraces", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "estraces", "package_url": "https://pypi.org/project/estraces/", "platform": "", "project_url": "https://pypi.org/project/estraces/", "project_urls": { "Documentation": "https://eshard.gitlab.io/estraces", "Homepage": "https://gitlab.com/eshard/estraces", "Issues": "https://gitlab.com/eshard/estraces/issues", "eShard": "https://www.eshard.com" }, "release_url": "https://pypi.org/project/estraces/1.4.1/", "requires_dist": [ "numpy", "h5py", "trsfile" ], "requires_python": ">=3.6.0", "summary": "Traces and trace header set Python library for side-channel analysis.", "version": "1.4.1" }, "last_serial": 5996241, "releases": { "1.3.0": [ { "comment_text": "", "digests": { "md5": "607c03a3ca8aaab0cb1d8fb7ff3d99f3", "sha256": "1ce03535aae9dd0727e7c0a31183d4f543007e025fe90fbb4db3b1163a6db919" }, "downloads": -1, "filename": "estraces-1.3.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "607c03a3ca8aaab0cb1d8fb7ff3d99f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 49157, "upload_time": "2019-05-24T15:21:17", "url": "https://files.pythonhosted.org/packages/44/19/b11f031cfbc5b692c46b5a1604dcee19c258eb4624224978d551ae2797ad/estraces-1.3.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "fcbda5ddda8956d81ae3057eff312157", "sha256": "22b51af460f89050b6911442e36b1a9de72661fcfbcc799bf348cd87f18760c6" }, "downloads": -1, "filename": "estraces-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fcbda5ddda8956d81ae3057eff312157", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 42620, "upload_time": "2019-05-24T15:21:15", "url": "https://files.pythonhosted.org/packages/4a/98/4f41b8dda7f582bce2f90865a1bcce8d0b3a18bbea6aa7ba4a6748701923/estraces-1.3.0-py3-none-any.whl" } ], "1.3.0.post1": [ { "comment_text": "", "digests": { "md5": "02bf630ff2d1376391ade5d6af4664fe", "sha256": "c2bbd2459a2c7f35f2949ba7a8a608c0294255646e419030429ec4fab3e1bd50" }, "downloads": -1, "filename": "estraces-1.3.0.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "02bf630ff2d1376391ade5d6af4664fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 42863, "upload_time": "2019-05-24T15:49:42", "url": "https://files.pythonhosted.org/packages/ba/6a/4a43d5c8002f0602ede57deda54c3c0fa2af985dc1369bd79b04a7de5f85/estraces-1.3.0.post1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55d9f8666f589086b4924a009993bcb5", "sha256": "3cdd9007b834bd6401a1bcbd1fbafa4689510d0d6b4d61e1efe30ef58875c5c4" }, "downloads": -1, "filename": "estraces-1.3.0.post1.tar.gz", "has_sig": false, "md5_digest": "55d9f8666f589086b4924a009993bcb5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 21727, "upload_time": "2019-05-24T15:49:44", "url": "https://files.pythonhosted.org/packages/7e/b5/fe552ea3fa9382420292c0043590dfb0910bb3326610172d325872282991/estraces-1.3.0.post1.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "749127ad9196356f677fd55a7dc30fc0", "sha256": "af6875e38ba8e54ecdd97cd083a4448648469c93ce9b67c8e75b93896c71a2a5" }, "downloads": -1, "filename": "estraces-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "749127ad9196356f677fd55a7dc30fc0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 43353, "upload_time": "2019-05-28T13:00:56", "url": "https://files.pythonhosted.org/packages/08/8f/ed7f1e832538626931bf8239a81645136553b0ff6305632834efa713784d/estraces-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7c31e7cf1ecc180ca87596a247d7a3e", "sha256": "a77ea715282a0af9c023f4db18fe7cd881e76c84944c5af0baa5c68e42f9faa1" }, "downloads": -1, "filename": "estraces-1.3.1.tar.gz", "has_sig": false, "md5_digest": "e7c31e7cf1ecc180ca87596a247d7a3e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 21801, "upload_time": "2019-05-28T13:00:58", "url": "https://files.pythonhosted.org/packages/52/30/b1e2950c53251f56649250864b25101fbd98585f5b3c25caf161548cfb7d/estraces-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "ff7de45ff3d6f3974f05b0505044a867", "sha256": "48fdd603e5e737643666f2b9623e5192aee839bde4cbf1b5ff2daff2c431695a" }, "downloads": -1, "filename": "estraces-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ff7de45ff3d6f3974f05b0505044a867", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 43363, "upload_time": "2019-08-22T14:12:50", "url": "https://files.pythonhosted.org/packages/24/a2/e067bbc7c44ea88dd01c72c403df90ef3d31b6a74ffc139363c59325782b/estraces-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f7ebc1fc86db0aba59feba03391f397d", "sha256": "a5c6cc8b31f68a2ddf253820d4f893bad31c6da44ef8a2b177bd1c496a29067e" }, "downloads": -1, "filename": "estraces-1.3.2.tar.gz", "has_sig": false, "md5_digest": "f7ebc1fc86db0aba59feba03391f397d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 21817, "upload_time": "2019-08-22T14:12:51", "url": "https://files.pythonhosted.org/packages/6e/92/f3760dd9dd8be566b89b317606ae1a3d881e7cd1c183209f4ea7f8d21668/estraces-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "3eb4dd58cdac255fd058db90a5f18bf9", "sha256": "3a337723fb155a63760863e9c216a66fc75c851cc64241b6b20648d122b68c6a" }, "downloads": -1, "filename": "estraces-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3eb4dd58cdac255fd058db90a5f18bf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 44809, "upload_time": "2019-10-18T09:41:26", "url": "https://files.pythonhosted.org/packages/11/31/e5dc0fa30a8549964297679f5409c2ca88cfd92278cd74c3e057c36c584e/estraces-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43dd6ccc7079e16b6cd408e2d5da6c9b", "sha256": "f71c9e20703bfc38b05d56194bac5dc7d9608d51c6ab3a9b09a17b5d977b187a" }, "downloads": -1, "filename": "estraces-1.4.0.tar.gz", "has_sig": false, "md5_digest": "43dd6ccc7079e16b6cd408e2d5da6c9b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 23248, "upload_time": "2019-10-18T09:41:28", "url": "https://files.pythonhosted.org/packages/8a/f8/e0b1bd77a695e78cfe280f4f14a371813628a3b8d8c7c0dc4167849f5963/estraces-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "56b4bca2453fcc6923cde56cbccbc496", "sha256": "d8b6200cc5554b2640f96183e44740fb855580d40ee695cf62db9a0ec89d431f" }, "downloads": -1, "filename": "estraces-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "56b4bca2453fcc6923cde56cbccbc496", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 44915, "upload_time": "2019-10-18T15:42:52", "url": "https://files.pythonhosted.org/packages/44/dc/588d8c7be39289fafd47d100cecdb4b1c29b9f7cf716c868680cb69538b3/estraces-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48e95a447e9ccd7c99c6030c61a74ced", "sha256": "da917e6c00ebc83597a63dc05b77b833d06bf6775bff4828f3197e937a3bda14" }, "downloads": -1, "filename": "estraces-1.4.1.tar.gz", "has_sig": false, "md5_digest": "48e95a447e9ccd7c99c6030c61a74ced", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 23295, "upload_time": "2019-10-18T15:42:56", "url": "https://files.pythonhosted.org/packages/41/64/25316495a7d99eeb2b8af01cec7e4808aab333dbbe9a1f0a9145aa281f43/estraces-1.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "56b4bca2453fcc6923cde56cbccbc496", "sha256": "d8b6200cc5554b2640f96183e44740fb855580d40ee695cf62db9a0ec89d431f" }, "downloads": -1, "filename": "estraces-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "56b4bca2453fcc6923cde56cbccbc496", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 44915, "upload_time": "2019-10-18T15:42:52", "url": "https://files.pythonhosted.org/packages/44/dc/588d8c7be39289fafd47d100cecdb4b1c29b9f7cf716c868680cb69538b3/estraces-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48e95a447e9ccd7c99c6030c61a74ced", "sha256": "da917e6c00ebc83597a63dc05b77b833d06bf6775bff4828f3197e937a3bda14" }, "downloads": -1, "filename": "estraces-1.4.1.tar.gz", "has_sig": false, "md5_digest": "48e95a447e9ccd7c99c6030c61a74ced", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 23295, "upload_time": "2019-10-18T15:42:56", "url": "https://files.pythonhosted.org/packages/41/64/25316495a7d99eeb2b8af01cec7e4808aab333dbbe9a1f0a9145aa281f43/estraces-1.4.1.tar.gz" } ] }