Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

J-PAKE interface definition for PSA Crypto #4317

Merged
merged 69 commits into from
Jun 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
5e5dcac
PSA PAKE: Add function declarations
yanesca Mar 20, 2021
b86273a
PSA PAKE: Add integral types
yanesca Mar 20, 2021
38a5d35
PSA PAKE: Add type for representing primitives
yanesca Mar 21, 2021
508afec
PSA PAKE: Add cipher suite structure
yanesca Mar 21, 2021
8a09ca9
PSA PAKE: Add dummy operation context
yanesca Mar 21, 2021
9c6b147
PSA PAKE: Add J-PAKE to the interface
yanesca Mar 21, 2021
b378d57
PSA PAKE: add output size macros
yanesca Apr 8, 2021
7f1e81a
PSA PAKE: specify key type and usage
yanesca Apr 8, 2021
ca2c167
PSA PAKE: fix doxygen warnings
yanesca Apr 12, 2021
1101edb
PSA PAKE: typo fixes in documentation
yanesca Apr 19, 2021
020da46
Fix PSA_PAKE_PRIMITIVE macro
yanesca Apr 19, 2021
fb4203d
PSA PAKE: Call the scheme algorithm
yanesca Apr 19, 2021
7ebcbf3
Remove psa_pake_get/set_key_share() functions
yanesca Apr 19, 2021
ef1b8c9
PSA PAKE: Relate JPAKE documentation to RFC8236
yanesca Apr 19, 2021
8005e8a
Shrink psa_pake_side_t to uint8_t
yanesca Apr 19, 2021
8603fb0
PSA PAKE: add to PSA constant name test
yanesca Apr 19, 2021
2ba6079
PSA: fix wording for implementation defined types
yanesca Apr 28, 2021
fc3577d
Remove reference to PSA_PAKE_KEY_SHARE_SIZE
yanesca Apr 28, 2021
82b54b9
PSA PAKE: Align macro names
yanesca Apr 28, 2021
cd56ff9
PSA PAKE: make cipher suite opaque
yanesca Apr 30, 2021
684da03
PSA PAKE: remove obsolete types and macros
yanesca Apr 30, 2021
5b44cfd
PSA PAKE: remove alg parameter from setup
yanesca Apr 30, 2021
f75be64
PSA PAKE: fix identifier value
yanesca Apr 30, 2021
1459aa5
PSA PAKE: improve documentation
yanesca May 11, 2021
f53c7af
PSA PAKE: introduce psa_pake_family_t
yanesca May 11, 2021
57cfc40
Remove obsolete __DOXYGEN_ONLY__ blocks
yanesca May 11, 2021
beb78d4
Rename psa_pake_data_t
yanesca May 11, 2021
a86c313
PSA PAKE: divide setup into several steps
yanesca May 13, 2021
78b9e40
PSA PAKE: reintroduce psa_pake_primitive_t
yanesca May 13, 2021
a71811a
Fix typo
yanesca May 13, 2021
3c09c47
PSA PAKE: remove redundant steps
yanesca May 13, 2021
56cc9cc
PSA PAKE: Align macro names with psa_pake_step_t
yanesca May 13, 2021
fe0c449
Add psa_pake_set_password_mhf()
yanesca May 13, 2021
b0bcb63
Link PSA_KEY_TYPE_PASSWORD in the documentation
yanesca May 13, 2021
60fa7c5
PSA PAKE: document operation parameters
yanesca May 13, 2021
ed82716
Remove always false comparison PSA_PAKE_PRIMITIVE
yanesca May 13, 2021
ef816f3
Fix precedence in psa_pake_cs_set_primitive()
yanesca May 13, 2021
14ce06a
PSA PAKE: fix documentation
yanesca May 14, 2021
1062a24
Fix psa_pake_set_password_mhf() parameter list
yanesca May 14, 2021
e1a080f
Improve psa_pake_set_password_mhf() documentation
yanesca May 14, 2021
7b89103
PSA PAKE: refine documentation of return values
yanesca May 14, 2021
9a04aea
PSA PAKE: improve and fix documentation
yanesca May 20, 2021
19271ea
PSA PAKE: Clarify documentation of valid states
yanesca May 21, 2021
3ae6696
Clarify psa_pake_setup() documentation
yanesca May 24, 2021
d416838
Rename psa_pake_set_password_mhf()
yanesca May 24, 2021
ead0e4f
PSA PAKE: Clarify J-PAKE algorithm documentation
yanesca May 25, 2021
56a4d7a
Simplify PAKE input/output format documentation
yanesca May 25, 2021
7c59b7a
Improve psa_pake_set_peer()/user() documentation
yanesca May 25, 2021
79e1c47
PSA PAKE: explain implicit key confirmation
yanesca May 25, 2021
5e1948d
PSA PAKE: define size macros as 0
yanesca May 26, 2021
a295918
PSA PAKE: add input size macros
yanesca May 26, 2021
304766e
PSA PAKE: make algorithm macro name consistent
yanesca May 26, 2021
702cf09
PSA PAKE: move the API to crypto_extra.h
yanesca May 26, 2021
7d69b3a
PSA PAKE: add warning about stability
yanesca May 26, 2021
559f05e
PSA PAKE: remove psa_pake_set_password_stretch()
yanesca May 26, 2021
89ee05a
Rename psa_pake_set_password()
yanesca May 26, 2021
1f9e9e9
PSA PAKE: fix old constant name in test
yanesca May 26, 2021
52f9efa
Revert "Rename psa_pake_set_password()"
yanesca May 27, 2021
ec83eb6
Fix copy+paste mistake
yanesca May 27, 2021
a46e28f
PSA PAKE: use neutral pronouns
yanesca Jun 3, 2021
38d29db
Fix copy+paste mistake
yanesca Jun 3, 2021
b4db90f
PSA PAKE: improve documentation
yanesca Jun 3, 2021
3293dae
psa_pake_setup(): simplify documentation
yanesca Jun 3, 2021
b384ec1
PSA PAKE: fix J-PAKE documentation code rendering
yanesca Jun 3, 2021
55dd5dc
PSA PAKE: Clarify the documentation of NIZKP steps
yanesca Jun 3, 2021
33434a9
Fix parenthesis spacing in crypto_struct.h
yanesca May 26, 2021
0dcda95
Make check-names.sh happy
yanesca Jun 7, 2021
46c0237
PSA PAKE: improve documentation
yanesca Jun 8, 2021
1f01318
Clarify PSA_PAKE_STEP_ZK_PROOF format
yanesca Jun 8, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 11 additions & 46 deletions include/psa/crypto.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,6 @@ psa_status_t psa_crypto_init(void);
* This macro returns a suitable initializer for a key attribute structure
* of type #psa_key_attributes_t.
*/
#ifdef __DOXYGEN_ONLY__
/* This is an example definition for documentation purposes.
* Implementations should define a suitable value in `crypto_struct.h`.
*/
#define PSA_KEY_ATTRIBUTES_INIT {0}
#endif

/** Return an initial value for a key attributes structure.
*/
Expand Down Expand Up @@ -938,21 +932,15 @@ psa_status_t psa_hash_compare(psa_algorithm_t alg,
* \endcode
*
* This is an implementation-defined \c struct. Applications should not
* make any assumptions about the content of this structure except
* as directed by the documentation of a specific implementation. */
* make any assumptions about the content of this structure.
* Implementation details can change in future versions without notice. */
typedef struct psa_hash_operation_s psa_hash_operation_t;

/** \def PSA_HASH_OPERATION_INIT
*
* This macro returns a suitable initializer for a hash operation object
* of type #psa_hash_operation_t.
*/
#ifdef __DOXYGEN_ONLY__
/* This is an example definition for documentation purposes.
* Implementations should define a suitable value in `crypto_struct.h`.
*/
#define PSA_HASH_OPERATION_INIT {0}
#endif

/** Return an initial value for a hash operation object.
*/
Expand Down Expand Up @@ -1307,22 +1295,17 @@ psa_status_t psa_mac_verify(mbedtls_svc_key_id_t key,
* operation = psa_mac_operation_init();
* \endcode
*
*
* This is an implementation-defined \c struct. Applications should not
* make any assumptions about the content of this structure except
* as directed by the documentation of a specific implementation. */
* make any assumptions about the content of this structure.
* Implementation details can change in future versions without notice. */
typedef struct psa_mac_operation_s psa_mac_operation_t;

/** \def PSA_MAC_OPERATION_INIT
*
* This macro returns a suitable initializer for a MAC operation object of type
* #psa_mac_operation_t.
*/
#ifdef __DOXYGEN_ONLY__
/* This is an example definition for documentation purposes.
* Implementations should define a suitable value in `crypto_struct.h`.
*/
#define PSA_MAC_OPERATION_INIT {0}
#endif

/** Return an initial value for a MAC operation object.
*/
Expand Down Expand Up @@ -1732,21 +1715,15 @@ psa_status_t psa_cipher_decrypt(mbedtls_svc_key_id_t key,
* \endcode
*
* This is an implementation-defined \c struct. Applications should not
* make any assumptions about the content of this structure except
* as directed by the documentation of a specific implementation. */
* make any assumptions about the content of this structure.
* Implementation details can change in future versions without notice. */
typedef struct psa_cipher_operation_s psa_cipher_operation_t;

/** \def PSA_CIPHER_OPERATION_INIT
*
* This macro returns a suitable initializer for a cipher operation object of
* type #psa_cipher_operation_t.
*/
#ifdef __DOXYGEN_ONLY__
/* This is an example definition for documentation purposes.
* Implementations should define a suitable value in `crypto_struct.h`.
*/
#define PSA_CIPHER_OPERATION_INIT {0}
#endif

/** Return an initial value for a cipher operation object.
*/
Expand Down Expand Up @@ -2261,21 +2238,15 @@ psa_status_t psa_aead_decrypt(mbedtls_svc_key_id_t key,
* \endcode
*
* This is an implementation-defined \c struct. Applications should not
* make any assumptions about the content of this structure except
* as directed by the documentation of a specific implementation. */
* make any assumptions about the content of this structure.
* Implementation details can change in future versions without notice. */
typedef struct psa_aead_operation_s psa_aead_operation_t;

/** \def PSA_AEAD_OPERATION_INIT
*
* This macro returns a suitable initializer for an AEAD operation object of
* type #psa_aead_operation_t.
*/
#ifdef __DOXYGEN_ONLY__
/* This is an example definition for documentation purposes.
* Implementations should define a suitable value in `crypto_struct.h`.
*/
#define PSA_AEAD_OPERATION_INIT {0}
#endif

/** Return an initial value for an AEAD operation object.
*/
Expand Down Expand Up @@ -3260,8 +3231,8 @@ psa_status_t psa_asymmetric_decrypt(mbedtls_svc_key_id_t key,
* \endcode
*
* This is an implementation-defined \c struct. Applications should not
* make any assumptions about the content of this structure except
* as directed by the documentation of a specific implementation.
* make any assumptions about the content of this structure.
* Implementation details can change in future versions without notice.
*/
typedef struct psa_key_derivation_s psa_key_derivation_operation_t;

Expand All @@ -3270,12 +3241,6 @@ typedef struct psa_key_derivation_s psa_key_derivation_operation_t;
* This macro returns a suitable initializer for a key derivation operation
* object of type #psa_key_derivation_operation_t.
*/
#ifdef __DOXYGEN_ONLY__
/* This is an example definition for documentation purposes.
* Implementations should define a suitable value in `crypto_struct.h`.
*/
#define PSA_KEY_DERIVATION_OPERATION_INIT {0}
#endif

/** Return an initial value for a key derivation operation object.
*/
Expand Down
Loading