README.md in rbnacl-1.1.0 vs README.md in rbnacl-2.0.0.pre
- old
+ new
@@ -1,10 +1,9 @@
![RbNaCl](https://raw.github.com/cryptosphere/rbnacl/master/images/logo.png)
======
[![Gem Version](https://badge.fury.io/rb/rbnacl.png)](http://badge.fury.io/rb/rbnacl)
[![Build Status](https://travis-ci.org/cryptosphere/rbnacl.png?branch=master)](https://travis-ci.org/cryptosphere/rbnacl)
-[![Dependency Status](https://gemnasium.com/cryptosphere/rbnacl.png)](https://gemnasium.com/cryptosphere/rbnacl)
[![Code Climate](https://codeclimate.com/github/cryptosphere/rbnacl.png)](https://codeclimate.com/github/cryptosphere/rbnacl)
[![Coverage Status](https://coveralls.io/repos/cryptosphere/rbnacl/badge.png?branch=master)](https://coveralls.io/r/cryptosphere/rbnacl)
A Ruby binding to the state-of-the-art [Networking and Cryptography][nacl]
library by [Daniel J. Bernstein][djb]. This is **NOT** Google Native Client.
@@ -45,18 +44,21 @@
is extremely fast with comparatively small cryptographic keys.
For more information on NaCl's goals, see Dan Bernstein's presentation
[Blaming the Cryptographic User](http://cr.yp.to/talks/2012.08.08/slides.pdf)
+### Is it any good?
+
+[Yes.](http://news.ycombinator.com/item?id=3067434)
+
## Supported platforms
You can use RbNaCl anywhere you can get libsodium installed (see below).
RbNaCl is continuously integration tested on the following Ruby VMs:
* MRI 2.0
* MRI 1.9 (YARV)
-* MRI 1.8 / REE
* JRuby 1.7 (in both 1.8/1.9 mode)
* Rubinius HEAD (in both 1.8/1.9 mode)
In theory Windows should be supported, although there are not yet any
reports of successful Windows users.
@@ -198,15 +200,62 @@
Have a general interest in cryptography? Check out the free course
Coursera offers from Stanford University Professor Dan Boneh:
[http://crypto-class.org](http://crypto-class.org)
+## Important Questions
+
+### Is it "Military Gradeā¢"?
+
+Only if your military understands twisted Edwards curves
+
+### Does it have a lock with a checkmark?
+
+Sure, here you go:
+
+![Checkmarked Lock](http://i.imgur.com/dwA0Ffi.png)
+
+### Is it full of NSA backdoors?
+
+![No NIST](http://i.imgur.com/HSxeAmp.png)
+
+The design of RbNaCl's primitives is completely free from NIST (and by
+association, NSA) influence, with the following minor exceptions:
+
+* The Poly1305 MAC, used for authenticating integrity of ciphertexts, uses AES
+ as a replaceable component
+* The Ed25519 digital signature algorithm uses SHA-512 for both key derivation
+ and computing message digests
+* APIs are provided to certain NIST hash functions, including SHA-256, SHA-512,
+ and their associated HMAC counterparts
+
+Otherwise, all of the algorithms in NaCl were designed by Dan Bernstein and his
+collaborators.
+
+The design choices in NaCl, particularly in regard to the Curve25519
+Diffie-Hellman function, emphasize security (whereas [NIST curves emphasize
+"performance" at the cost of security][nist-security-dangers]), and "magic
+constants" in NaCl are picked by theorems designed to maximize security.
+The same cannot be said of NIST curves, where the specific origins of certain
+constants are not described by the standards and may be subject to malicious
+influence by the NSA.
+
+It is the opinion of this library's authors that Dan Bernstein is unlikely to be
+subject to NSA influence (although we have no way of actually knowing this).
+
+Dan Bernstein's designs have been well-scrutinized both as part of the [ESTREAM
+Project](https://en.wikipedia.org/wiki/ESTREAM) and the cryptographic community
+as a whole. And despite the emphasis on higher security, NaCl's primitives are
+faster across-the-board than most implementations of the NIST standards.
+
+[nist-security-dangers]: http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf
+
## Contributing
* Fork this repository on Github
* Make your changes and send a pull request
* If your changes look good, we'll merge 'em
## License
-Copyright (c) 2013 Tony Arcieri, Jonathan Stott.
+Copyright (c) 2013 Jonathan Stott, Tony Arcieri.
Distributed under the MIT License. See LICENSE.txt for further details.