RSA も同様のしくみですが、加算の代わりに累乗法を使用し、数が数百桁の長さになる点が違います。 たとえば、私が RSA を使用してダイジェスト "H(M)" を作成し、私の秘密キーである "{H(M)}秘密キー" で暗号化したとします。これが署名になります。あなたはメッセージ "M" を受け取ると、ダイジェスト "H'(M)" を作成し、私の公開キーを使用して署名を解読し、私が作成した "H(M)" を取得します。"H(M)" と "H'(M)" が同じであれば、"M" が同じであることがわかります。さらに、あなたは、秘密キーの所有者 (つまり、私) がメッセージの送信者であることもわかります。 署名の書式 XML-DSIG では単一の名前空間が使用されるので、この例では以下の宣言があることを前提としています。 xmlns:ds="http://www.w3.org/2000/09/xm
![XML デジタル署名入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/d6e4cb632c7025e9f5e05fd314fbf6dcd6144e8d/height=288;version=1;width=512/https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fmedia%2Fopen-graph-image.png)