int CG21_hash_SSID()

in src/cg21/cg21_utilities.c [1196:1226]


int CG21_hash_SSID(CG21_SSID *ssid, hash256 *sha){

    HASH_UTILS_hash_oct(sha, ssid->rho);
    HASH_UTILS_hash_oct(sha, ssid->rid);
    HASH_UTILS_hash_oct(sha, ssid->uid);
    HASH_UTILS_hash_oct(sha, ssid->q);
    HASH_UTILS_hash_oct(sha, ssid->g);

    int rc = CG21_hash_set_X(sha, ssid->X_set_packed, ssid->j_set_packed, *ssid->n1, EFS_SECP256K1 + 1);
    if (rc!=CG21_OK){
        return rc;
    }

    rc = CG21_hash_set_X(sha, ssid->N_set_packed, ssid->j_set_packed2, *ssid->n2, FS_2048);
    if (rc!=CG21_OK){
        return rc;
    }

    rc = CG21_hash_set_X(sha, ssid->s_set_packed, ssid->j_set_packed2, *ssid->n2, FS_2048);
    if (rc!=CG21_OK){
        return rc;
    }

    rc = CG21_hash_set_X(sha, ssid->t_set_packed, ssid->j_set_packed2, *ssid->n2, FS_2048);

    if (rc!=CG21_OK){
        return rc;
    }

    return CG21_OK;
}