私は、次のプロパティを持つセキュア(暗号)ハッシュ関数が必要になります。(コード)はシンプル、セキュアハッシュ関数
- は(R5RSスキームに)できるだけ数行でコーディングすることができます。うまくいけば50未満。
- パスワードの長さのデータの理由の中でメモリとCPUのパフォーマンス。私は心の中でスピード/メモリ効率で設計されて見つけることができます
最も安全なハッシュ関数(例えば、それは、超効率的であるか、またはデータのバイト数百万人のためのハッシュを作成する必要はありません)、その結果、コードが複雑で。
現在の候補はマッシュ-1(またはマッシュ-2)である: Handbook of applied cryptography. Google Books
おかげ。
編集: これまでの回答はありがとうございます。次のことが失礼になる場合は私を許してください、私はただ明確にしたいです。私は宿題をして "標準"オプションを考えていることを信じてください。私が一番簡単なことは、それらを使うことですが、それは私が探しているものではありません。
私が答えようとしている1つの質問は次のとおりです。 「読み取り可能な」コードの最小量で暗号安全ハッシュアルゴリズムを実装することはできますか?
私はすでに私が見つけることができる最高の候補者を投稿しました。 Mash-1/2に関するより簡単なものや解説についての提案が最も役立ちます。
率直に言って、私はよく知られているアルゴリズム以外に何も信頼しないので、学習の練習としてこれをやっていますか? –
あなたが抱えている問題は、Xが少し研究された暗号プリミティブである場合、誰も彼らの心に手を差して「Xは安全です」と言う人はいないということです。これは、「安全な」とは、「重大な注意を払っても、まだ壊れていない」ことを意味するためです。 – caf
セキュリティ要件を明確にする必要があります。最も一般的なハッシュアルゴリズムを選択しない場合、セキュリティトレードオフを実行しています。これは、弱点が未知である可能性が高いためです。 「セキュア」はバイナリ値ではありません。 SHA-512は実装するには複雑すぎるため、SHA-512を使用する意思はありません。簡単な実装のためにトレードオフしたいセキュリティの程度を知るのに役立ちます。 50行のSchemeで実装できる_most_安全なハッシュを探していますか?たとえそのアルゴリズムが、例えば10年以内に壊れる可能性があるとしても? –