{ "info": { "author": "Leif Johansson", "author_email": "leifj@sunet.se", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved", "License :: OSI Approved :: BSD License", "Programming Language :: Python" ], "description": "Introduction\n------------\n\nThis is an experiment with using source specific multicast to distribute \nhigh-quality entropy to consumers. The package contains a single script which \ncan act as both a sender and receiver.\n\nInstallation\n------------\n\n# pip install ssmrandom\n\nIn order for this to work your network and hosts must be able to support \nSSM which in turn requires IGMP v3. For modern Linux and Windows this is\nenabled by default. For some network equipment (eg juniper) you must enable\nIGMP v3 explicitly (v2 is the default).\n\n\nQuick Start\n-----------\n\nOn the entropy producer (using the default multicast group and port):\n\n # ssmrandom send -r /dev/urandom -t 32 -g 232.0.1.100 -p 49999 -L info \n\nOn the entropy consumer(s):\n\n # ssmrandom recv -o /var/run/rnd-pipe -g 232.0.1.100 -p 49999 \n\n # rngd --rng-device=/var/run/rnd-pipe --rng-driver=stream --fill-watermark=90% --feed-interval=1\n\n\nThe idiots entropy distribution protocol (IEDP):\n------------------------------------------------\n\nMessages are JSON objects with 3 keys:\n\n- v (version): the protocol version - '1.0' for this version\n- s (source): identifies the source of the random data, eg the name of a hw device\n- d (data): base64-encoded random data\n\nExample\n\n {'s': '/dev/qrandom0','v':'1.0','d': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'}\n\nFor security this can be signed, which is the reason for having framing at all.\n\nSecurity issues\n---------------\n\nCollecting and adding external data to your entropy pool is a tricky issue. Adding\nmulticast to the mix makes it quite hard to analyze. This experiment is trying to \ninvestigate the properties of a system for distributing entropy in an efficient and\nway. A couple of issues that are being investigated:\n\n- how much entropy do you have to consume in order to pick a random sample\nfrom the multicast feed?\n- how expensive would it be to validate signatures on each json mesage?\n- how good is rngtools at picking up bad entropy?\n\n\nNews\n====\n\n0.3\n----\n\n*Release date: Fri Aug 17 15:12:12 CEST 201*\n\n* support for redundant transmitters\n* debian packaging \n* + lots of minor fixes and cleanups\n\n0.2\n-----\n\n*Release date: Thu Aug 16 11:02:35 CEST 2012*\n\n* First public release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/leifj/ssmrandom", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "ssmrandom", "package_url": "https://pypi.org/project/ssmrandom/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ssmrandom/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/leifj/ssmrandom" }, "release_url": "https://pypi.org/project/ssmrandom/0.3/", "requires_dist": null, "requires_python": null, "summary": "Entropy distribution using SSM (source-specific multicast)", "version": "0.3" }, "last_serial": 800049, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "83e5f2acf3cee96b247fd471e6369695", "sha256": "c0860f54025fa71e0fc4d665133d36c807d0e98a40e4b4ecc03538753267c67d" }, "downloads": -1, "filename": "ssmrandom-0.2.tar.gz", "has_sig": false, "md5_digest": "83e5f2acf3cee96b247fd471e6369695", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5113, "upload_time": "2012-08-16T09:18:01", "url": "https://files.pythonhosted.org/packages/77/b2/d37e3f899848ab8fd43e9e762fa2eba14270c3e9a8e6a6cb57ca0410e485/ssmrandom-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "6fe3cb8b4354930f14337ab554950974", "sha256": "d1f66ff7a6d42d21bdf4862992d582f7f84d99ba8c498381bf2e7c69e4fe675e" }, "downloads": -1, "filename": "ssmrandom-0.3.tar.gz", "has_sig": false, "md5_digest": "6fe3cb8b4354930f14337ab554950974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5818, "upload_time": "2012-08-17T13:14:13", "url": "https://files.pythonhosted.org/packages/f5/29/15066d9c2e031378d6c742a38c1f200be733d640d3870405d7a965c3c477/ssmrandom-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6fe3cb8b4354930f14337ab554950974", "sha256": "d1f66ff7a6d42d21bdf4862992d582f7f84d99ba8c498381bf2e7c69e4fe675e" }, "downloads": -1, "filename": "ssmrandom-0.3.tar.gz", "has_sig": false, "md5_digest": "6fe3cb8b4354930f14337ab554950974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5818, "upload_time": "2012-08-17T13:14:13", "url": "https://files.pythonhosted.org/packages/f5/29/15066d9c2e031378d6c742a38c1f200be733d640d3870405d7a965c3c477/ssmrandom-0.3.tar.gz" } ] }