できれば c で、単純な特許のない一方向暗号化アルゴリズムを探しています。パスワードの検証に使用したいと思います。
7 に答える
SHA-1とその家族の残りの部分は、 「ロイヤリティフリーライセンスの下で特許をリリースした」米国政府によって特許を取得しました。多くのパブリックドメインの実装は、Googleを通じて見つけることができます。:-)
「一方向暗号化アルゴリズム」の正しい名前は「ハッシング アルゴリズム」です (パスワードを復元できないように「スクランブル」する方法を意味していましたよね?)
最新のアプリケーションでは md5 を使用しないでください。2004 年以降、md5 に対する攻撃が成功しています (参照については、http://www.doxpara.com/md5_someday.pdfを参照してください)。SHA ファミリを使用します。
実際、ハッシュを使用するだけでは十分ではありません。それらを制限するにはソルトを使用する必要があり、 bcryptなどのより高度な手法はパスワードを推測する可能性を制限します
SHA-1は良い提案のようです。または、SHA-1がクラックされそうだと思われる場合は、SHA-2ファミリーの1つです。
MD5は十分に「安全」ではないと感じるかもしれません。
crypt(3) 関数を使用するだけです
ここに背景があります
MD5 は今のところ私にぴったりです。
MD5 と SHA512 (または別の SHA-2 バリアント) には、理論上の脆弱性が特定されています。SHA が壊れているとはまだ証明されていないと思いますが、可能性はあります。Whirlpool はロイヤリティ フリーのハッシュ アルゴリズムであり、(まだ) 弱点を示していません。 このページには、C リファレンス実装へのリンクがあります。