SodiumRuby 加密庫(kù)
sodium 是高性能易用的加密庫(kù) libsodium 的 Ruby 封裝版本。(libsodium 基于 Daniel J. Bernstein 的 NaCl開(kāi)發(fā)). NaCl提供了構(gòu)建高級(jí)加密工具的核心功能。
NaCl 通過(guò)嚴(yán)密的編碼支架、改進(jìn)的可用性和顯著提升的性能,改善了現(xiàn)有庫(kù)的安全性。
sodium 使用一個(gè)非常 thin 的 FFI 封裝器,以面向?qū)ο蟮腞uby方式導(dǎo)出libsodium提供的函數(shù)。因此,它提供了直接使用libsodium C庫(kù)的所有好處:簡(jiǎn)單、性能和安全。
這個(gè)庫(kù)緊緊地集中在只提供現(xiàn)代的基元和操作上,給用戶盡可能少的方法來(lái)射擊自己的腳。雖然沒(méi)有任何一個(gè)加密庫(kù)可以防止所有類別的用戶錯(cuò)誤,但這個(gè)庫(kù)至少試圖將已知的、容易預(yù)防的用戶錯(cuò)誤類型的可能性降到最低,例如使用破損的基元、依賴非認(rèn)證的加密模式,以及組成低級(jí)基元來(lái)執(zhí)行已經(jīng)有很好研究的高級(jí)操作的任務(wù)。
像OpenSSL這樣的庫(kù)包含了對(duì)太陽(yáng)底下每一個(gè)加密基元、協(xié)議和操作的支持。這些被支持的功能中,有許多在密碼學(xué)上是被打破的,只是為了讓開(kāi)發(fā)者能夠保持與舊軟件的兼容性而保留下來(lái)。這顯然不是鈉的目標(biāo)。雖然我們將提供從任何被發(fā)現(xiàn)的弱點(diǎn)或破損的基元的遷移路徑,但我們絕不會(huì)為了互操作性而引入已知的壞基元(如MD5或SHA-1)或容易搞砸的操作(如CBC模式)。
通過(guò)www.DeepL.com/Translator(免費(fèi)版)翻譯
