wireshark/debian/libwsutil0.symbols
Peter Wu d7187e0b1b wsutil: Add Curve25519 ECDH (X25519) using Gcrypt
The WireGuard dissector will need X25519 to enable decryption, add a
Gcrypt implementation that implements the NaCl/Sodium interface.

While inspired by the MPI example in t-cv25519.c, note subtle but
important correctness/interoperability fixes: add a check for infinity
(gcry_mpi_ec_get_affine) and handle short values from gcry_mpi_print.
The last issue is ugly, perhaps the high level API (gcry_pk_decrypt)
should be used instead (which < 2% slower than this MPI implementation).
(Both issues were found through fuzzing.)

As for alternative options, Sodium is superior but would be a new
dependency. For some older performance and usability notes (comparing
crypto_scalarmult_curve25519_base (note "_base") against others), see
https://lists.gnupg.org/pipermail/gcrypt-devel/2018-July/004532.html

Performance comparison on Ubuntu 18.04 (i7-3770) between Sodium 1.0.16
against Gcrypt 1.8.3 and Gcrypt 86e5e06a (git master, future 1.9.x) by
computing 65536 times X25519(1, 8) via crypto_scalarmult_curve25519:

    Sodium (sandy2x):   1.4x faster than ref10
    Sodium (ref10):     1 (baseline)
    Gcrypt (git):       5x slower than ref10, 7x slower than sandy2x
    Gcrypt (1.8.3):     17x ref10, 24x sandy2x (took 65 seconds)

Change-Id: Ia54e73cc3cc469a6697554729aff4edd19f55630
Ping-Bug: 15011
Reviewed-on: https://code.wireshark.org/review/28987
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-08-08 11:23:55 +00:00

200 lines
6.2 KiB
Text

libwsutil.so.0 libwsutil0 #MINVER#
Dot11DecryptWepDecrypt@Base 2.5.0
Eax_Decrypt@Base 1.12.0~rc1
adler32_bytes@Base 1.12.0~rc1
adler32_str@Base 1.12.0~rc1
alaw2linear@Base 1.12.0~rc1
ascii_strdown_inplace@Base 1.10.0
ascii_strup_inplace@Base 1.10.0
bitswap_buf_inplace@Base 1.12.0~rc1
cmdarg_err@Base 1.99.0
cmdarg_err_cont@Base 1.99.0
cmdarg_err_init@Base 1.99.0
copy_file_binary_mode@Base 1.12.0~rc1
copy_persconffile_profile@Base 1.12.0~rc1
crc11_307_noreflect_noxor@Base 1.10.0
crc16_0x080F_seed@Base 2.3.0
crc16_0x3D65_seed@Base 1.99.0
crc16_0x5935@Base 1.10.0
crc16_0x755B@Base 1.12.0~rc1
crc16_0x9949_seed@Base 1.12.0~rc1
crc16_8005_noreflect_noxor@Base 1.10.0
crc16_ccitt@Base 1.10.0
crc16_ccitt_seed@Base 1.10.0
crc16_iso14443a@Base 2.1.0
crc16_plain_update@Base 1.10.0
crc16_x25_ccitt_seed@Base 1.99.3
crc32_0x5D6DCB_seed@Base 2.3.0
crc32_0x0AA725CF_seed@Base 1.12.0~rc1
crc32_ccitt@Base 1.10.0
crc32_ccitt_seed@Base 1.10.0
crc32_ccitt_table_lookup@Base 1.10.0
crc32_mpeg2_seed@Base 1.10.0
crc32c_calculate@Base 1.10.0
crc32c_calculate_no_swap@Base 1.10.0
crc32c_table_lookup@Base 1.10.0
crc6_compute@Base 1.12.0~rc1
crc7update@Base 1.10.0
crc8_0x2F@Base 1.10.0
crc8_0x37@Base 2.3.0
crc8_0x3B@Base 2.3.0
create_persconffile_dir@Base 1.12.0~rc1
create_persconffile_profile@Base 1.12.0~rc1
create_profiles_dir@Base 2.5.0
create_tempfile@Base 1.12.0~rc1
create_timestamp@Base 2.5.0
crypt_des_ecb@Base 2.3.0
crypto_scalarmult_curve25519@Base 2.9.0
crypto_scalarmult_curve25519_base@Base 2.9.0
data_file_url@Base 2.3.0
decrypt_xtea_ecb@Base 2.5.0
decrypt_xtea_le_ecb@Base 2.5.0
delete_persconffile_profile@Base 1.12.0~rc1
file_exists@Base 1.12.0~rc1
file_open_error_message@Base 1.12.0~rc1
file_write_error_message@Base 1.12.0~rc1
files_identical@Base 1.12.0~rc1
filetime_to_nstime@Base 2.0.0
find_last_pathname_separator@Base 1.12.0~rc1
format_size@Base 1.10.0
free_progdirs@Base 2.3.0
get_basename@Base 1.12.0~rc1
get_copyright_info@Base 1.99.0
get_cur_groupname@Base 1.10.0
get_cur_username@Base 1.10.0
get_cpu_info@Base 2.3.0
get_datafile_dir@Base 1.12.0~rc1
get_datafile_path@Base 1.12.0~rc1
get_dirname@Base 1.12.0~rc1
get_extcap_dir@Base 1.99.0
get_global_profiles_dir@Base 1.12.0~rc1
get_guint32@Base 2.3.0
get_natural_int@Base 1.99.0
get_nonzero_guint32@Base 2.3.0
get_os_version_info@Base 1.99.0
get_persconffile_path@Base 1.12.0~rc1
get_persdatafile_dir@Base 1.12.0~rc1
get_plugins_dir@Base 2.5.0
get_plugins_dir_with_version@Base 2.5.0
get_plugins_pers_dir@Base 1.12.0~rc1
get_plugins_pers_dir_with_version@Base 2.5.0
get_positive_int@Base 1.99.0
get_profile_name@Base 1.12.0~rc1
get_profiles_dir@Base 1.12.0~rc1
get_progfile_dir@Base 1.12.0~rc1
get_resource_usage@Base 2.3.0
get_systemfile_dir@Base 1.12.0~rc1
get_tempfile_path@Base 1.12.0~rc1
has_global_profiles@Base 1.12.0~rc1
hkdf_expand@Base 2.5.1
ieee80211_chan_to_mhz@Base 1.99.7
ieee80211_mhz_to_chan@Base 1.99.7
ieee80211_mhz_to_str@Base 1.99.7
init_process_policies@Base 1.10.0
init_progfile_dir@Base 1.12.0~rc1
init_report_message@Base 2.3.0
is_default_profile@Base 1.12.0~rc1
isdigit_string@Base 1.10.0
isprint_string@Base 1.10.0
isprint_utf8_string@Base 2.6.1
linear2alaw@Base 1.12.0~rc1
linear2ulaw@Base 1.12.0~rc1
local_interfaces_to_list@Base 2.1.2
log_resource_usage@Base 2.1.2
mktime_utc@Base 1.12.0~rc1
mpa_bitrate@Base 1.10.0
mpa_frequency@Base 1.10.0
mpa_layer@Base 1.10.0
mpa_padding@Base 1.10.0
mpa_samples@Base 1.10.0
mpa_version@Base 1.10.0
nsfiletime_to_nstime@Base 2.0.0
nstime_cmp@Base 1.12.0~rc1
nstime_copy@Base 1.12.0~rc1
nstime_delta@Base 1.12.0~rc1
nstime_is_unset@Base 1.12.0~rc1
nstime_is_zero@Base 1.12.0~rc1
nstime_set_unset@Base 1.12.0~rc1
nstime_set_zero@Base 1.12.0~rc1
nstime_sum@Base 1.12.0~rc1
nstime_to_msec@Base 1.12.0~rc1
nstime_to_sec@Base 1.12.0~rc1
plugins_cleanup@Base 2.3.0
plugins_dump_all@Base 1.12.0~rc1
plugins_get_count@Base 2.5.0
plugins_get_descriptions@Base 1.12.0~rc1
printable_char_or_period@Base 1.99.0
profile_exists@Base 1.12.0~rc1
profile_store_persconffiles@Base 1.12.0~rc1
relinquish_special_privs_perm@Base 1.10.0
rename_persconffile_profile@Base 1.12.0~rc1
report_failure@Base 1.12.0~rc1
report_open_failure@Base 1.12.0~rc1
report_read_failure@Base 1.12.0~rc1
report_warning@Base 2.3.0
report_write_failure@Base 1.12.0~rc1
rsa_load_pem_key@Base 2.5.0
rsa_load_pkcs12@Base 2.5.0
rsa_decrypt_inplace@Base 2.5.0
rsa_private_key_free@Base 2.5.0
rsa_privkey_to_sexp@Base 2.5.0
running_in_build_directory@Base 1.12.0~rc1
running_with_special_privs@Base 1.10.0
plugins_init@Base 2.5.0
set_persconffile_dir@Base 1.12.0~rc1
set_persdatafile_dir@Base 1.12.0~rc1
set_profile_name@Base 1.12.0~rc1
sober128_add_entropy@Base 1.99.0
sober128_read@Base 1.99.0
sober128_start@Base 1.99.0
started_with_special_privs@Base 1.10.0
test_for_directory@Base 1.12.0~rc1
test_for_fifo@Base 1.12.0~rc1
type_util_gdouble_to_guint64@Base 1.10.0
type_util_guint64_to_gdouble@Base 1.10.0
ulaw2linear@Base 1.12.0~rc1
update_adler32@Base 1.12.0~rc1
update_crc10_by_bytes@Base 1.10.0
update_crc6_by_bytes@Base 1.10.0
ws_add_crash_info@Base 1.10.0
ws_ascii_strnatcasecmp@Base 1.99.1
ws_ascii_strnatcmp@Base 1.99.1
ws_base32_decode@Base 2.3.0
ws_base64_decode_inplace@Base 1.12.0~rc1
ws_buffer_append@Base 1.99.0
ws_buffer_assure_space@Base 1.99.0
ws_buffer_free@Base 1.99.0
ws_buffer_init@Base 1.99.0
ws_buffer_remove_start@Base 1.99.0
ws_buffer_cleanup@Base 2.3.0
ws_hexstrtou16@Base 2.3.0
ws_hexstrtou32@Base 2.3.0
ws_hexstrtou64@Base 2.3.0
ws_hexstrtou8@Base 2.3.0
ws_hmac_buffer@Base 2.3.0
ws_inet_ntop4@Base 2.1.2
ws_inet_ntop6@Base 2.1.2
ws_inet_pton4@Base 2.1.2
ws_inet_pton6@Base 2.1.2
ws_mempbrk_compile@Base 1.99.4
ws_mempbrk_exec@Base 1.99.4
ws_pipe_data_available@Base 2.5.0
ws_pipe_init@Base 2.5.1
ws_pipe_spawn_async@Base 2.5.1
ws_pipe_spawn_sync@Base 2.5.1
ws_read_string_from_pipe@Base 2.5.0
ws_strtoi16@Base 2.3.0
ws_strtoi32@Base 2.3.0
ws_strtoi64@Base 2.3.0
ws_strtoi8@Base 2.3.0
ws_strtou16@Base 2.3.0
ws_strtou32@Base 2.3.0
ws_strtou64@Base 2.3.0
ws_strtou8@Base 2.3.0
ws_utf8_char_len@Base 1.12.0~rc1
ws_vadd_crash_info@Base 2.5.2
ws_xton@Base 1.12.0~rc1
wsjson_parse@Base 2.9.0
wsjson_unescape_json_string@Base 2.9.0
wsjson_is_valid_json@Base 2.9.0