Giter VIP home page Giter VIP logo

microsoft / uprove-csharp-sdk Goto Github PK

View Code? Open in Web Editor NEW
26.0 8.0 21.0 5.36 MB

The U-Prove Crypto SDK V1.1 (C# Edition) implements the U-Prove Cryptographic Specification V1.1 Revision 3. This SDK was developed by Microsoft to support experimentation with the foundational features of the U-Prove technology.

Home Page: https://www.microsoft.com/u-prove

License: Apache License 2.0

C# 100.00%

uprove-csharp-sdk's Introduction

U-Prove Crypto SDK V1.1.3 (C# Edition)

The U-Prove Crypto SDK V1.1 (C# Edition) implements the U-Prove Cryptographic Specification V1.1 Revision 5 [UPCS]. This SDK was developed by Microsoft to support experimentation with the foundational features of the U-Prove technology. It is made available under the Apache 2.0 open-source license, with patent rights granted under the Open Specification Promise.

For an overview of the U-Prove technology, see the technology overview. For more information about U-Prove, visit http://www.microsoft.com/u-prove.


CONTENTS:

  • LICENSE: The license and patent grant under which this package is distributed
  • docs: documentation and test vectors
  • ThirdParty: Bouncy Castle library files
  • UProveCrypto.sln: Visual Studio solution file
  • UProveCrypto: SDK project
  • UProveParams: Recommended parameters generation project (not included in solution by default)
  • UProveSample: Sample project
  • UProveTestVectors: Test vectors generation project (not included in solution by default)
  • UProveUnitTest: Unit test project

REQUIREMENTS


BUILDING THE SDK:

Visual Studio 2022

Open the solution file (UProveCrypto.sln) in Visual Studio 2022 and select Build Solution from the Build menu.

Visual Studio Code

Open the project folder with VS Code. Select the Terminal menu; select Run Build Task... (Ctrl+Shift+b)_ to perform a build. For a Debug build, select the Terminal menu; select Run Task...; select build Debug from the command menu.

Command Line

One a command line with dotnet (6.0.x+) available, run dotnet build. You can specifiy the build config with the additional -c Debug or -c Release parameters.


GENERATING RECOMMENDED PARAMETERS AND TEST VECTORS

Recommended parameters [UPRP] and test vectors [UPTV] used by the U-Prove SDK can be re-generated for validation purposes by loading and running the UProveParams and UProveTestVectors projects, respectively. The projects depend on the full BouncyCastle library, and are therefore not included in the UProveCrypto.sln file by default. BouncyCastle must be obtained from http://www.bouncycastle.org/csharp/, the compiled DLL must be placed under "ThirdParty\BouncyCastle\bc\BouncyCastle.dll", and the two projects must be added to the solution before compiling it.


USING THE UNIT TESTS:

Visual Studio 2022

In the Test menu of Visual Studio, select the Run All Tests (Ctrl+R,A). Note that a complete test run takes some time to complete.

Visual Studio Code

Select the Terminal menu; select Run Task...; select test from the command menu.

Command Line

One a command line with dotnet (6.0.x) available, run dotnet test -v n.


USING THE SDK:

Add the UProveCrypto assembly to the set of References for a project.


NOTES:

This code was formerly hosted on CodePlex (https://uprovecsharp.codeplex.com). The following changes have been made to the original code:


REFERENCES:

[UPCS] Christian Paquin, Greg Zaverucha. U-Prove Cryptographic Specification V1.1 Revision 5. Microsoft Corporation, March 2023. (link)

[UPTV] U-Prove Cryptographic Test Vectors V1.1 Revision 3 docs/testvectors

[UPRP] U-Prove Recommended Parameters Profile V1.1 Revision 3 (link)

uprove-csharp-sdk's People

Contributors

christianpaquin avatar ljoy913 avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar msftgits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uprove-csharp-sdk's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.