実行時のメモリ使用量を最小限に抑えた(つまり、読み取り/書き込みメモリの量を最小限に抑え、できればコード/テーブルのサイズも小さい)、Cでのパーミッシブライセンス(BSD / MITまたはPD)の優れたDES実装を探しています。速度は問題ではありません。実際、ブルートフォースログインの試みに対する自然な防御を提供するため、いくつかの点で遅い方が優れています。
私が見た従来の実装はすべて、巨大なテーブルの遅延/実行時の初期化を行います。これは私が避けようとしていることです。バイナリのデータにテーブルがあることを嬉しく思いますstatic const
。実際、これは私が今持っている実装に部分的にハッキングしたものですが、バイナリがそれほど大きくならないように(テーブルの約50kb)、パフォーマンスを犠牲にしてテーブルのサイズを最小化するより良い仕事。
注:はい、DESは最悪です。crypt
使用目的は、従来のパスワードログインを処理する機能を実装することです。