{"action":"created","issue":{"url":"https://api.github.com/repos/DaGenix/rust-crypto/issues/296","labels_url":"https://api.github.com/repos/DaGenix/rust-crypto/issues/296/labels{/name}","comments_url":"https://api.github.com/repos/DaGenix/rust-crypto/issues/296/comments","events_url":"https://api.github.com/repos/DaGenix/rust-crypto/issues/296/events","html_url":"https://github.com/DaGenix/rust-crypto/issues/296","id":68562744,"number":296,"title":"Separate \"experimental\" implementations from robust implementations?","user":{"login":"tarcieri","id":797,"avatar_url":"https://avatars.githubusercontent.com/u/797?v=3","gravatar_id":"","url":"https://api.github.com/users/tarcieri","html_url":"https://github.com/tarcieri","followers_url":"https://api.github.com/users/tarcieri/followers","following_url":"https://api.github.com/users/tarcieri/following{/other_user}","gists_url":"https://api.github.com/users/tarcieri/gists{/gist_id}","starred_url":"https://api.github.com/users/tarcieri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarcieri/subscriptions","organizations_url":"https://api.github.com/users/tarcieri/orgs","repos_url":"https://api.github.com/users/tarcieri/repos","events_url":"https://api.github.com/users/tarcieri/events{/privacy}","received_events_url":"https://api.github.com/users/tarcieri/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-04-15T03:28:22Z","updated_at":"2015-04-15T23:33:14Z","closed_at":null,"body":"The implementations in this library are of varying code quality. Some look robust, for example the AES-NI implementation. Others look... less robust, for example the fallback pure Rust AES implementation, or any of the ECC implementations.\r\n\r\nWould it be worth calling out implementations that are currently \"experimental\" and use-at-your-own-risk from the ones that can be considered more trustworthy?\r\n\r\nGranted this is a rather arbitrary distinction, but perhaps you can come up with a rubric for evaluating whether an implementation is considered \"experimental\" or not."},"comment":{"url":"https://api.github.com/repos/DaGenix/rust-crypto/issues/comments/93597709","html_url":"https://github.com/DaGenix/rust-crypto/issues/296#issuecomment-93597709","issue_url":"https://api.github.com/repos/DaGenix/rust-crypto/issues/296","id":93597709,"user":{"login":"tarcieri","id":797,"avatar_url":"https://avatars.githubusercontent.com/u/797?v=3","gravatar_id":"","url":"https://api.github.com/users/tarcieri","html_url":"https://github.com/tarcieri","followers_url":"https://api.github.com/users/tarcieri/followers","following_url":"https://api.github.com/users/tarcieri/following{/other_user}","gists_url":"https://api.github.com/users/tarcieri/gists{/gist_id}","starred_url":"https://api.github.com/users/tarcieri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarcieri/subscriptions","organizations_url":"https://api.github.com/users/tarcieri/orgs","repos_url":"https://api.github.com/users/tarcieri/repos","events_url":"https://api.github.com/users/tarcieri/events{/privacy}","received_events_url":"https://api.github.com/users/tarcieri/received_events","type":"User","site_admin":false},"created_at":"2015-04-15T23:33:14Z","updated_at":"2015-04-15T23:33:14Z","body":"Inline assembly is fine, but architecture specific, so you would wind up with \"trustworthy\" ASM-backed implementations for specific architectures, and pure Rust \"experimental\" implementations elsewhere.\r\n\r\nI think this is an important distinction, because if you can only provide constant time behavior on certain platforms, it would be nice if that were signaled in some way to users of the library."}}