dotnet add package StandardDigitalSignature --version                
NuGet\Install-Package StandardDigitalSignature -Version                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StandardDigitalSignature" Version="" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StandardDigitalSignature --version                
#r "nuget: StandardDigitalSignature,"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install StandardDigitalSignature as a Cake Addin
#addin nuget:?package=StandardDigitalSignature&version=

// Install StandardDigitalSignature as a Cake Tool
#tool nuget:?package=StandardDigitalSignature&version=                

Standard Digital Signature

Easy-to-use library for creating digital identities based on encryption and digital signature of document and validation of signatures. The standard digital signature project has a universal target, and can be run on both Linux and Windows systems on x86, x64 and ARM platforms.

This standard method can be used to generate a digital signature. Digital signatures are used to detect unauthorized modifications to data and to authenticate the identity of the signatory. In addition, the recipient of signed data can use a digital signature as evidence in demonstrating to a third party that the signature was, in fact, generated by the claimed signatory. This is known as non-repudiation since the signatory cannot easily repudiate the signature at a later time.

The Digital Signature Algorithm (DSA) is a public-key cryptosystem and Federal Information Processing Standard for digital signatures, based on the mathematical concept of modular exponentiation and the discrete logarithm problem. DSA is a variant of the Schnorr and ElGamal signature schemes.

The National Institute of Standards and Technology (NIST) proposed DSA for use in their Digital Signature Standard (DSS) in 1991, and adopted it as FIPS 186 in 1994.


The DSA works in the framework of public-key cryptosystems and is based on the algebraic properties of modular exponentiation, together with the discrete logarithm problem, which is considered to be computationally intractable. The algorithm uses a key pair consisting of a public key and a private key. The private key is used to generate a digital signature for a message, and such a signature can be verified by using the signer's corresponding public key. The digital signature provides message authentication (the receiver can verify the origin of the message), integrity (the receiver can verify that the message has not been modified since it was signed) and non-repudiation (the sender cannot falsely claim that they have not signed the message).

Digital Signature Standard (DSS) - technical documentation

(FIPS) compliance

Digital Security Foundation

The Digital Security Foundation is an independent organization that deals with the development of the digital signature standard by adopting rigorous mathematical criteria and entirely open source code starting from the programming language and all the libraries used, this makes the source fully inspectable by experts in cryptography and programming. Any suggestions on how to improve this software, how to evolve it and on new features to add, will be seriously considered and a group of experts belonging to the foundation will carry out rigorous research on the new development of the digital signature management library. If you have special academic skills, you can contribute to the work of the foundation by becoming an active member.

DSS candidate

The foundation for digital security, a free and independent NGO, proposes this software solution as a new candidate for the standard DSS adopted by the European Union, as it offers objective advantages: Simplicity of use, mass adoption worldwide, no cost to the community and for the European Union as the development is not supported by national funds but is based on voluntary work, and the use of an underlying completely open source and free environment (the dispute between Google and Oracle on Java has shown how much Java is bound to proprietary solutions ). The main purpose of this library is to replace the vague and confusing solutions, with more modern and scalable technologies, compatible with the eIDAS regulation.

Privacy policy

The identity is created anonymously, in compliance with privacy and the GDPR. Eventually a name can be assigned to the digital identity with an external passage to this project which consists of a verification through a KYC procedure. In any case, the theory says that digital identity, to be confirmed, simply needs proof of having the private encryption key, sensitive data are not involved in this operation.

Usage example

Usage: For usage examples, documentation and assistance please refer to the open source project page

API documentation

Technical documentation for developers: Description of functions and methods implemented in the library


1) Sign a document

The example for digitally signing a document in a very simple and minimalist way is contained entirely on page Signature.razor. The digital signature is placed on a separate file keeping the original document unaltered which will continue to be viewable with a standard viewer. The validation of the signature then takes place by subjecting both files to verification: The original document and the separate file with the digital signature generated by this tool.

2) Digital signature validation

A simple example of digital signature validation is contained in page SignatureValidation.razor. To verify the digital signature, you need the original document, plus the attached file with the digital signature. In the case of multiple digital signatures, there will therefore be multiple digital signature files, each generated by each individual person who signed the document.


For help and support you can ask here

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 228 6/11/2023 137 6/9/2023 136 6/9/2023