= salsa20
Ruby-wrapper for the {Salsa20 stream cipher algorithm}[http://cr.yp.to/snuffle.html] designed by Daniel Bernstein. Salsa20 is a family of 256-bit stream ciphers designed in 2005 and submitted to eSTREAM, the ECRYPT Stream Cipher Project.
== How to install
gem install salsa20
You'll need a working compiler -- the crypto code is the {original C implementation}[http://cr.yp.to/snuffle.html] from Daniel Bernstein.
== Usage
require 'salsa20'
key = "VERY_SECRET_256_BIT_KEY_12345678" iv = "-RANDOM-" plain_text = "Salsa20 is a family of 256-bit stream ciphers"
encryptor = Salsa20.new(key, iv) encrypted_text = encryptor.encrypt(plain_text) p encrypted_text
decryptor = Salsa20.new(key, iv) decrypted_text = decryptor.decrypt(encrypted_text) p decrypted_text
The Salsa20 cipher algorhitm supports efficiently seeking to any 64-bytes boundry position in the stream using the +seek+ method. Use +position+ to tell the current stream position in bytes.
For more information, see the detailed rdoc of the Salsa20 class.
== References
== License
MIT open source license (full license text in the +LICENSE+ file).
== Contact
Author :: Dov Murik (dov.murik@gmail.com) Project homepage :: https://github.com/dubek/salsa20-ruby