Sembra che i più consolidati come keyczar, cryptlib e NaCl non siano disponibili per Ruby. Quali sono alcune ruberie (o associazioni) per una libreria di alto livello in cui sono state prese decisioni su primitive crittografiche (non è necessario generare IV, CBC vs EBC ecc.). Ho trovato ruby-gpgme. C'è anche libmcrypt che ha il supporto per la crittografia simmetrica dei flussi che è ciò che alla fine sono interessato.libreria ruby di alto livello per la crittografia
risposta
Perché non OpenSSL?
Fa parte della serie libary:
http://ruby-doc.org/stdlib-1.9.3/libdoc/openssl/rdoc/index.html
ruby-mcrypt, ultimo commit da due anni fa. Potrebbe star meglio con OpenSSL e alcuni test per verificare eventuali errori nel codice.
Non intendevo errori di implementazione, ma decisioni sbagliate su cripto. Ad esempio, scegliendo la modalità di cifratura sbagliata, usando Random invece di SecureRandom ecc. Questi tipi di errori sono difficili da individuare anche attraverso la revisione del codice. Nel caso di mcrypt, si, probabilmente dovrei usare solo le crittografie di OpenSSL. Non c'è molto che posso rovinare :) – m33lky
Poiché Keyczar è una libreria Java, dovresti essere in grado di utilizzarlo eseguendo JRuby o accedendo a RJB (http://rjb.rubyforge.org/) da plain old Ruby. Non sembra che ci siano interfacce estremamente semplici o documentazione sul suo utilizzo in JRuby, ma l'API Keyczar è piuttosto semplice e potrebbe non essere difficile da integrare.
NaCl è ora (1.0.0 of the gem was published some days ago) disponibile per Ruby attraverso RbNaCl (che usa libsodium, "portatile, cross-compilabile, installabile, confezionabili, versione API-compatibile di NaCl"). C'è anche krypt.
C'è una libreria plug'n'play che fornisce alcuni servizi di crittografia in modo molto facile da usare per Ruby, si chiama Themis (gem rubythemis, maggiori informazioni @https://www.github.com/cossacklabs/themis).
Diniego: io sono uno dei collaboratori in questa biblioteca e sono molto interessato per attirare maggiore attenzione da parte della comunità di Ruby ad esso per renderlo più adatto a Ruby persone: si comprende come Rubino tenere completamente diversi modelli e metodi di lavorare con le librerie esterne e vorrei ricevere feedback e consigli - per ora funziona, ma il fattore bellezza è lasciato da parte :)
Fornisce primitive, non proprio plug-and-play. Inoltre è facile commettere un errore. Ecco perché ci sono librerie crittografiche di alto livello. – m33lky