Skip to content

Commit f50091f

Browse files
committed
Nuget packaging + readme update
1 parent d49e7d3 commit f50091f

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

CompactCryptoGroupAlgebra.Tests/CompactCryptoGroupAlgebra.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
<Title>CompactCryptoGroupAlgebra Unit Tests</Title>
1010
<Authors>Lukas "lumip" Prediger</Authors>
1111
<VersionPrefix>1.0.0</VersionPrefix>
12-
<VersionSuffix>alpha1</VersionSuffix>
1312
<Description>Tests for the CompactCryptoGroupAlgebra Library</Description>
1413
<Copyright>Copyright © 2020 Lukas Prediger</Copyright>
1514
</PropertyGroup>

CompactCryptoGroupAlgebra/CompactCryptoGroupAlgebra.csproj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
<Nullable>enable</Nullable>
88
<WarningsAsErrors>CS8602;CS8603;CS8600;CS8625;CS8610</WarningsAsErrors>
99
<Title>CompactCryptoGroupAlgebra</Title>
10+
<PackageId>CompactCryptoGroupAlgebra</PackageId>
11+
<LicenseId>GPL-3.0-or-later</LicenseId>
1012
<Authors>Lukas "lumip" Prediger</Authors>
1113
<VersionPrefix>1.0.0</VersionPrefix>
12-
<VersionSuffix>alpha1</VersionSuffix>
13-
<Description>C# Library for Algebraic Group Operations</Description>
1414
<Copyright>Copyright © 2020 Lukas Prediger</Copyright>
15+
<PackageTags>Asymmetric Cryptography; Group Algebra</PackageTags>
16+
<Description>A compact library for abelian group algebra commonly used in asymmetric cryptography, fully written in C#.</Description>
17+
<ProjectUrl>https://github.com/lumip/CompactCryptoGroupAlgebra</ProjectUrl>
1518
</PropertyGroup>
1619

1720
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

Example/Example.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
<Title>Example for CompactCryptoGroupAlgebra</Title>
1111
<Authors>Lukas "lumip" Prediger</Authors>
1212
<VersionPrefix>1.0.0</VersionPrefix>
13-
<VersionSuffix>alpha1</VersionSuffix>
1413
<Description>Example Application for the CompactCryptoGroupAlgebra Library</Description>
1514
<Copyright>Copyright © 2020 Lukas Prediger</Copyright>
1615
</PropertyGroup>

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ __!Security Advisory!__ Note that due to its focus on simplicity `CompactCryptoG
1919
- Elliptic curves in Montgomery form, specifically Curve25519
2020
- The x-coordinate-only variant of Montgomery curves
2121

22+
## Installing
23+
24+
`CompactCryptoGroupAlgebra` can be installed from [nuget](https://www.nuget.org/packages/CompactCryptoGroupAlgebra/1.0.0).
25+
Follow the link for instructions on how to install using your preferred method (package manager, .net cli, etc).
26+
2227
## Usage
2328

2429
The public API presents the two generic base classes `CryptoGroup` and `CryptoGroupElement` which are agnostic of the underlying instantiation and implementation of the group.
@@ -92,8 +97,9 @@ of the multiplicative prime field group.
9297
Functionality of `CompactCryptoGroupAlgebra` is split over a range of classes, each with a single specific purpose, the most important of which are highlighted below.
9398

9499
- `CryptoGroupElement<T>` represents an element of a cryptographic group and implements operators for ease of use, abstracting from a specific underlying implementation type via its template type argument.
95-
- `CryptoGroup<T>` is a wrapper around `CryptoGroupAlgebra<T>` that ensures that all returned values are returned as `CryptoGroupElement<T>` instances.
96-
- `CryptoGroupAlgebra<T>` is an abstract base class for implementations of a specific mathematical group structure, providing common implementations derived from fundamental group operations (such as generating and inverting group elements).
100+
- `CryptoGroup<T>` is a wrapper around `ICryptoGroupAlgebra<T>` that ensures that all returned values are returned as `CryptoGroupElement<T>` instances.
101+
- `ICryptoGroupAlgebra<T>` is the common interface for implementations of a specific mathematical group structure using the underlying type `T`
102+
- `CryptoGroupAlgebra<T>` is an abstract base class for implementations of `ICryptoGroupAlgebra<T>`, providing common implementations derived from fundamental group operations (such as generating and inverting group elements).
97103
- `Multiplicative.MultiplicativeGroupAlgebra` is an implementation of `CryptoGroupAlgebra` for multiplicative groups in fields of prime characteristic.
98104
- `EllipticCurves.CurveGroupAlgebra` is an implementation of `CryptoGroupAlgebra` for elliptic curves that in turn relies on a specific `CurveEquation` instance for fundamental operations.
99105
- Subclasses of `EllipticCurves.CurveEquation` provide the implementations of specific forms of elliptic curves (currently, `EllipticCurves.WeierstrassCurveEquation` and `EllipticCurves.MontgomeryCurveEquation` are provided).
@@ -127,4 +133,8 @@ but you also have the option of instantiating an instance for your own curve.
127133

128134
## License
129135

130-
`CompactCryptoCurveAlgebra` is licensed under the [GPLv3 license](/LICENSE.txt) for general use.
136+
`CompactCryptoGroupAlgebra` is licensed under the [GPLv3 license](/LICENSE.txt) for general use.
137+
138+
## Versioning
139+
140+
`CompactCryptoGroupAlgebra` version numbers adhere to [Semantic Versioning](https://semver.org).

0 commit comments

Comments
 (0)