私の目標は、PGPに匹敵する軽量なメッセージ署名です。ただし、公開鍵の関連付けがないプライベートキーは1つだけ必要です。目標は、単に2つの信頼できるエンティティ間の文字列の改ざんを防ぐことです。信頼できるソースから始まり、インターネットを経由して、別の信頼できる宛先に到着します。ニッチ、可能なナイーブなデジタルメッセージの署名
私の素朴なアプローチが安全かどうかを知りたいと思います。そのため、署名アルゴリズムは実際には強要されませんでした。
1)ソースと宛先の両方にuuidgenによって生成された非常に乱数である「秘密鍵」があります。
2)送信元には送信先の文字列があります。
3)Sourceはペイロード文字列を秘密鍵と連結し、sha1を結果として署名を生成します。
4)結果として得られる平文の値+署名は、ペアで宛先に送信されます。 "hello // SIG:12345ABCDEFG"
5)Desinedは、署名付き変数を受け取り、既知の秘密鍵で署名を生成し、受け取ったデータと対になった署名を再度比較します。一致した場合は受け入れられます。
この変形には、1時間に四捨五入されたユニックスのタイムスタンプが組み込まれ、署名が失効します。
私の懸念は、データペイロードの選択セットを与えられた秘密鍵をブルートフォースし、この手法で結果の署名を分析することが可能であるかどうかです。それはあなたが達成したいかのように思える
おかげ
あなたの解決策が疑わしい場合は、それをしないで、代わりにPGPのような何かを確立してください。それを設定することは、カスタムソリューションをデバッグするよりも、時間と労力を要することはありません。 –