Skip to content

Commit b81059d

Browse files
extras: Add API for Anonymous Rate-Limited Credentials, ARC(P-384) (#328)
## Motivation We would like to provide support for ARCV1(P-384), as defined in [IETF Internet Draft: Anonymous Rate-Limited Credentials](https://datatracker.ietf.org/doc/draft-yun-cfrg-arc/). ## Modifications - Add internal implementation, generic over the NIST curves. - Add public API for ARC(P-384), under `P384._ARCV1`. ## Result New API for current draft of ARC. ## Tests - End to end tests of internal implementation and API surface. - Test vector tests of internal implementation and API surface, from the spec draft.
1 parent 06fc9b0 commit b81059d

21 files changed

+2735
-2
lines changed

.swiftformatignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,18 @@ Sources/_CryptoExtras/AES/AES_CFB.swift
6868
Sources/_CryptoExtras/AES/AES_CTR.swift
6969
Sources/_CryptoExtras/AES/AES_GCM_SIV.swift
7070
Sources/_CryptoExtras/AES/Block Function.swift
71+
Sources/_CryptoExtras/ARC/ARC+API.swift
72+
Sources/_CryptoExtras/ARC/ARC.swift
73+
Sources/_CryptoExtras/ARC/ARCCredential.swift
74+
Sources/_CryptoExtras/ARC/ARCEncoding.swift
75+
Sources/_CryptoExtras/ARC/ARCPrecredential.swift
76+
Sources/_CryptoExtras/ARC/ARCPresentation.swift
77+
Sources/_CryptoExtras/ARC/ARCRequest.swift
78+
Sources/_CryptoExtras/ARC/ARCResponse.swift
79+
Sources/_CryptoExtras/ARC/ARCServer.swift
80+
Sources/_CryptoExtras/ZKPs/Prover.swift
81+
Sources/_CryptoExtras/ZKPs/Verifier.swift
82+
Sources/_CryptoExtras/ZKPs/ZKPToolbox.swift
7183
Sources/_CryptoExtras/ChaCha20CTR/ChaCha20CTR.swift
7284
Sources/_CryptoExtras/ECToolbox/ECToolbox.swift
7385
Sources/_CryptoExtras/H2G/HashToField.swift
@@ -123,6 +135,11 @@ Tests/_CryptoExtrasTests/AES-GCM-SIV-Runner.swift
123135
Tests/_CryptoExtrasTests/AES_CBCTests.swift
124136
Tests/_CryptoExtrasTests/AES_CFBTests.swift
125137
Tests/_CryptoExtrasTests/AES_CTRTests.swift
138+
Tests/_CryptoExtrasTests/ARC/ARCAPITests.swift
139+
Tests/_CryptoExtrasTests/ARC/ARCEncodingTests.swift
140+
Tests/_CryptoExtrasTests/ARC/ARCPublicAPITests.swift
141+
Tests/_CryptoExtrasTests/ARC/ARCTestVectors.swift
142+
Tests/_CryptoExtrasTests/ARC/ARCTests.swift
126143
Tests/_CryptoExtrasTests/ChaCha20CTRTests.swift
127144
Tests/_CryptoExtrasTests/ECToolbox/HashToCurveTests.swift
128145
Tests/_CryptoExtrasTests/OPRFs/ECVOPRFTests.swift
@@ -139,3 +156,4 @@ Tests/_CryptoExtrasTests/Utils/RFCVector.swift
139156
Tests/_CryptoExtrasTests/Utils/SplitData.swift
140157
Tests/_CryptoExtrasTests/Utils/Wycheproof.swift
141158
Tests/_CryptoExtrasTests/Utils/XCTestUtils.swift
159+
Tests/_CryptoExtrasTests/ZKPs/ZKPToolbox.swift

0 commit comments

Comments
 (0)