水素ライブラリは、小さく、使いやすく、模倣が困難な暗号化ライブラリです。
特徴:
- Libsodiumに触発された一貫した高レベルAPI。低レベルのプリミティブの代わりに、単純な機能を公開して、暗号化が解決できる一般的な問題を解決します。
- 2つの暗号化ビルディングブロックのみを使用して100%構築されています。曲線25519楕円曲線とGIMLI順列。
- 小さくて監査が簡単です。すべての操作セットに1つの小さなファイルとして実装され、プロジェクトに単一の
.cファイルをプロジェクトに追加するだけで、プロジェクトでリビドロゲンを使用するのに必要です。 - コード全体は、単一の非常にリベラルなライセンス(ISC)の下でリリースされます。
- ゼロ動的メモリの割り当てと低いスタック要件(中央値:32バイト、最大:128バイト)。これにより、マイクロコントローラーなどの制約された環境で使用可能になります。
- ポータブル:標準C99で記述されています。 Linux、 *BSD、MacOS、Windows、およびArduino IDEを箱から出してサポートします。
- Arduinoボードでさえ、暗号化された乱数を生成できます。
- 信頼できないPRGおよび/またはクロックなしのシステムでさえ、偶発的な誤用の意味を軽減しようとする試み。
ノンゴール:
- 他のライブラリとの互換性を提供するために、同じ目的に役立つ複数のプリミティブを持っています。
- ネットワーキング - しかし、ノイズプロトコルに基づく単純なキーエクスチェンジAPIが利用可能であり、ストロボベースのトランスポートAPIが実装されます。
- 他のライブラリとの相互運用性。
- Libsodiumの交換。リビドロゲンは、APIの数とコードサイズを最小限に抑えようとします。
リビドロゲンのドキュメント
ドキュメントは、リビドロゲンwikiで維持されています。
レガシーリビドロゲンコード(XChacha20、Siphashx、Blake2Sx、curve25519を活用)は、V0ブランチで引き続き利用可能です。
貢献者
コード貢献者
このプロジェクトは、貢献するすべての人々のおかげで存在します。 [貢献する]。