デジタル署名とは、送信されてきたデータが間違いなく本人のものであるのかを証明するための電子認証技術です。ビットコインでは、送金者が秘密鍵の持ち主であり、取引が偽造・改ざんされていないことを、RSA暗号を用いたデジタル署名で証明します。図1にRSA暗号を用いたデジタル署名の仕組みを示します。
デジタル署名では送信者が公開鍵と秘密鍵を生成します。送信者は、あらかじめ受信者に公開鍵を送付し、受信者は公開鍵を入手します。送信者が受信者に送付する文書データを作成し、文書データのハッシュ値を算出します。そのハッシュ値を、秘密鍵を用いて暗号化します。データと暗号化したハッシュ値を署名として送信します。
受信者は、暗号化されたハッシュ値を、送信者から入手した公開鍵を用いて復号します。受信者は、受信データを、送信者と同じハッシュ関数を使用して、ハッシュ値を算出します。復号されたハッシュ値と、算出されたハッシュ値を比較して一致すれば、正しい文書データだと判断できます。同時に暗号化されたハッシュ値が復号できたことより、送信者の本人確認ができます。