LCOV - code coverage report
Current view: top level - externals/compact25519/src - compact_ed25519.c (source / functions) Coverage Total Hit
Test: lcov.info Lines: 0.0 % 14 0
Test Date: 2026-03-12 12:01:18 Functions: 0.0 % 4 0
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: - 0 0

             Branch data     Line data    Source code
       1                 :             : #include "compact_ed25519.h"
       2                 :             : 
       3                 :             : #ifndef COMPACT_DISABLE_ED25519
       4                 :             : #include "c25519/edsign.h"
       5                 :             : #include "compact_wipe.h"
       6                 :             : #include <string.h>
       7                 :             : 
       8                 :             : #define __PUBLIC_KEY_OFFSET (32)
       9                 :             : 
      10                 :           0 : void compact_ed25519_keygen(
      11                 :             :     uint8_t private_key[ED25519_PRIVATE_KEY_SIZE], 
      12                 :             :     uint8_t public_key[ED25519_PUBLIC_KEY_SIZE], 
      13                 :             :     uint8_t random_seed[ED25519_SEED_SIZE]
      14                 :             : ) {
      15                 :             :     // private key is seed + public key, like golang and others
      16                 :           0 :     edsign_sec_to_pub(public_key, random_seed);
      17                 :           0 :     memcpy(private_key, random_seed, ED25519_SEED_SIZE);
      18                 :           0 :     memcpy(private_key + __PUBLIC_KEY_OFFSET, public_key, ED25519_PUBLIC_KEY_SIZE);
      19                 :           0 :     compact_wipe(random_seed, ED25519_SEED_SIZE);
      20                 :           0 : }
      21                 :             : 
      22                 :           0 : void compact_ed25519_calc_public_key(
      23                 :             :     uint8_t public_key[ED25519_PUBLIC_KEY_SIZE], 
      24                 :             :     const uint8_t private_key[ED25519_PRIVATE_KEY_SIZE]
      25                 :             : ) {
      26                 :           0 :     memcpy(public_key, private_key + __PUBLIC_KEY_OFFSET, ED25519_PUBLIC_KEY_SIZE);
      27                 :           0 : }
      28                 :             : 
      29                 :           0 : void compact_ed25519_sign(
      30                 :             :     uint8_t signature[ED25519_SIGNATURE_SIZE], 
      31                 :             :     const uint8_t private_key[ED25519_PRIVATE_KEY_SIZE], 
      32                 :             :     const void *message, 
      33                 :             :     size_t msg_length
      34                 :             : ) {
      35                 :           0 :     edsign_sign(signature, private_key + __PUBLIC_KEY_OFFSET, private_key, message, msg_length);
      36                 :           0 : }
      37                 :             : 
      38                 :           0 : bool compact_ed25519_verify(
      39                 :             :     const uint8_t signature[ED25519_SIGNATURE_SIZE], 
      40                 :             :     const uint8_t public_key[ED25519_PUBLIC_KEY_SIZE], 
      41                 :             :     const void *message, 
      42                 :             :     size_t msg_length
      43                 :             : ) {
      44                 :           0 :     return edsign_verify(signature, public_key, message, msg_length) != 0;
      45                 :             : }
      46                 :             : #endif
        

Generated by: LCOV version 2.0-1