ret = yaca_digest_calc(YACA_DIGEST_SHA256,
lorem1024,
1024, &digest, &digest_len);
- if (ret < 0)
+ if (ret != 0)
return;
dump_hex(digest, digest_len, "Message digest: ");
yaca_ctx_h ctx;
ret = yaca_digest_init(&ctx, YACA_DIGEST_SHA256);
- if (ret < 0)
+ if (ret != 0)
return;
ret = yaca_digest_update(ctx, lorem1024, 1024);
- if (ret < 0)
+ if (ret != 0)
goto exit_ctx;
size_t digest_len;
char digest[digest_len];
ret = yaca_digest_final(ctx, digest, &digest_len);
- if (ret < 0)
+ if (ret != 0)
goto exit_ctx;
dump_hex(digest, digest_len, "Message digest: ");
yaca_debug_set_error_cb(debug_func);
int ret = yaca_init();
- if (ret < 0)
+ if (ret != 0)
return ret;
digest_simple();
yaca_debug_set_error_cb(debug_func);
int ret = yaca_init();
- if (ret < 0)
+ if (ret != 0)
return ret;
yaca_enc_algo_e algo = YACA_ENC_AES;
/// Key generation
ret = yaca_key_gen(&key, YACA_KEY_TYPE_SYMMETRIC, YACA_KEY_256BIT); // key_type, key_len, *key ? looks imo much better
- if (ret < 0)
+ if (ret != 0)
goto clean;
// use YACA_KEY_IV_128BIT & YACA_KEY_TYPE_IV or maybe YACA_KEY_128BIT & YACA_KEY_TYPE_SYMMETRIC ?
ret = yaca_key_gen(&iv, YACA_KEY_TYPE_IV, YACA_KEY_IV_128BIT);
- if (ret < 0)
+ if (ret != 0)
goto clean;
// use YACA_KEY_128BIT & YACA_KEY_TYPE_SYMMETRIC or maybe add YACA_KEY_AAD_128BIT & YACA_KEY_TYPE_AAD ?
ret = yaca_key_gen(&aad_key, YACA_KEY_TYPE_SYMMETRIC, YACA_KEY_UNSAFE_128BIT);
- if (ret < 0)
+ if (ret != 0)
goto clean;
// generate and export aad?
ret = yaca_key_export(aad_key, YACA_KEY_FORMAT_DEFAULT, YACA_KEY_FILE_FORMAT_RAW, NULL, &aad, &aad_len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
/// Encryption
size_t len;
ret = yaca_encrypt_init(&ctx, YACA_ENC_AES, YACA_BCM_GCM, key, iv);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_ctx_set_param(ctx, YACA_PARAM_GCM_AAD, aad, aad_len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_get_output_length(ctx, LOREM4096_SIZE, &ciphertext_len);
goto clean;
ret = yaca_encrypt_update(ctx, lorem4096, LOREM4096_SIZE, ciphertext, &len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ciphertext_len = len;
ret = yaca_encrypt_final(ctx, ciphertext + len, &len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ciphertext_len += len;
ret = yaca_ctx_get_param(ctx, YACA_PARAM_GCM_TAG, (void*)&tag, &tag_len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
dump_hex(ciphertext, 16, "Encrypted data (16 of %zu bytes): ", ciphertext_len);
size_t len;
ret = yaca_decrypt_init(&ctx, YACA_ENC_AES, YACA_BCM_GCM, key, iv);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_ctx_set_param(ctx, YACA_PARAM_GCM_AAD, aad, aad_len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_get_output_length(ctx, ciphertext_len, &plaintext_len);
goto clean;
ret = yaca_decrypt_update(ctx, ciphertext, ciphertext_len, plaintext, &len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
plaintext_len = len;
ret = yaca_ctx_set_param(ctx, YACA_PARAM_GCM_TAG, tag, tag_len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_encrypt_final(ctx, plaintext + len, &len);
- if (ret < 0)
+ if (ret != 0)
goto clean;
plaintext_len += len;
yaca_debug_set_error_cb(debug_func);
int ret = yaca_init();
- if (ret < 0)
+ if (ret != 0)
return ret;
encrypt_decrypt_aes_gcm();
// generate private, public key
ret = yaca_key_gen(&private_key, YACA_KEY_TYPE_DH_PRIV, YACA_KEY_2048BIT);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_key_extract_public(private_key, &public_key);
- if (ret < 0)
+ if (ret != 0)
goto clean;
// get peer public key from file
ret = yaca_key_import(&peer_key, YACA_KEY_TYPE_DH_PUB, NULL,
buffer, size);
- if (ret < 0)
+ if (ret != 0)
goto clean;
// derive secret
ret = yaca_key_derive_dh(private_key, peer_key, &secret);
- if (ret < 0)
+ if (ret != 0)
goto clean;
clean:
// generate private, public key
ret = yaca_key_gen(&private_key, YACA_KEY_TYPE_EC_PRIV, YACA_KEY_CURVE_P256);
- if (ret < 0)
+ if (ret != 0)
goto clean;
ret = yaca_key_extract_public(private_key, &public_key);
- if (ret < 0)
+ if (ret != 0)
goto clean;
// get peer public key from file
goto clean;
ret = yaca_key_import(&peer_key, YACA_KEY_TYPE_EC_PUB, NULL, buffer, size);
- if (ret < 0)
+ if (ret != 0)
goto clean;
// derive secret
ret = yaca_key_derive_dh(private_key, peer_key, &secret);
- if (ret < 0)
+ if (ret != 0)
goto clean;
clean:
yaca_debug_set_error_cb(debug_func);
int ret = yaca_init();
- if (ret < 0)
+ if (ret != 0)
return ret;
key_exchange_dh();
yaca_debug_set_error_cb(debug_func);
int ret = yaca_init();
- if (ret < 0)
+ if (ret != 0)
return ret;
encrypt_seal();
yaca_debug_set_error_cb(debug_func);
int ret = yaca_init();
- if (ret < 0)
+ if (ret != 0)
return ret;
// TODO simple?
nc->ctx.get_output_length = get_digest_output_length;
ret = digest_get_algorithm(algo, &md);
- if (ret < 0)
+ if (ret != 0)
goto free;
nc->mdctx = EVP_MD_CTX_create();
int ret;
ret = encrypt_get_algorithm(algo, bcm, key_bits, &cipher);
- if (ret < 0)
+ if (ret != 0)
return ret;
ret = EVP_CIPHER_iv_length(cipher);
return YACA_ERROR_TOO_BIG_ARGUMENT;
ret = digest_get_algorithm(algo, &md);
- if (ret < 0)
+ if (ret != 0)
return ret;
nk = yaca_zalloc(sizeof(struct yaca_key_simple_s) + key_byte_len);
}
ret = digest_get_algorithm(algo, &md);
- if (ret < 0)
+ if (ret != 0)
goto free_ctx;
nc->mdctx = EVP_MD_CTX_create();
return YACA_ERROR_INVALID_ARGUMENT;
ret = yaca_digest_init(&ctx, algo);
- if (ret < 0)
+ if (ret != 0)
return ret;
ret = yaca_digest_update(ctx, data, data_len);
- if (ret < 0)
+ if (ret != 0)
goto err;
ret = yaca_get_digest_length(ctx, &ldigest_len);
goto err;
ret = yaca_digest_final(ctx, ldigest, &ldigest_len);
- if (ret < 0)
+ if (ret != 0)
goto err_free;
yaca_ctx_free(ctx);