monero/src/crypto
stoffu 27a196b126
device: untangle cyclic depenency
When #3303 was merged, a cyclic dependency chain was generated:

    libdevice <- libcncrypto <- libringct <- libdevice

This was because libdevice needs access to a set of basic crypto operations
implemented in libringct such as scalarmultBase(), while libringct also needs
access to abstracted crypto operations implemented in libdevice such as
ecdhEncode(). To untangle this cyclic dependency chain, this patch splits libringct
into libringct_basic and libringct, where the basic crypto ops previously in
libringct are moved into libringct_basic. The cyclic dependency is now resolved
thanks to this separation:

    libcncrypto <- libringct_basic <- libdevice <- libcryptonote_basic <- libringct

This eliminates the need for crypto_device.cpp and rctOps_device.cpp.

Also, many abstracted interfaces of hw::device such as encrypt_payment_id() and
get_subaddress_secret_key() were previously implemented in libcryptonote_basic
(cryptonote_format_utils.cpp) and were then called from hw::core::device_default,
which is odd because libdevice is supposed to be independent of libcryptonote_basic.
Therefore, those functions were moved to device_default.cpp.
2018-03-14 21:00:15 +09:00
..
crypto_ops_builder Update 2018 copyright 2018-01-26 10:03:20 -05:00
aesb.c Replace tabs with two spaces for consistency with rest of codebase 2015-12-15 06:22:06 -08:00
blake256.c Update 2018 copyright 2018-01-26 10:03:20 -05:00
blake256.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
chacha.c Support building cncrypto lib with msvc 2018-01-25 13:00:45 -07:00
chacha.h Monero Cryptonight variants, and add one for v7 2018-03-05 18:18:39 +00:00
CMakeLists.txt device: untangle cyclic depenency 2018-03-14 21:00:15 +09:00
crypto-ops-data.c Merge pull request #3119 2018-01-27 17:24:42 -08:00
crypto-ops.c Merge pull request #3119 2018-01-27 17:24:42 -08:00
crypto-ops.h Merge pull request #3119 2018-01-27 17:24:42 -08:00
crypto.cpp Correct spelling mistakes. 2018-03-05 17:00:40 +00:00
crypto.h device: untangle cyclic depenency 2018-03-14 21:00:15 +09:00
generic-ops.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
groestl_tables.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
groestl.c use correct unsigned type 2015-08-23 21:10:24 +02:00
groestl.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
hash-extra-blake.c Update 2018 copyright 2018-01-26 10:03:20 -05:00
hash-extra-groestl.c Update 2018 copyright 2018-01-26 10:03:20 -05:00
hash-extra-jh.c Update 2018 copyright 2018-01-26 10:03:20 -05:00
hash-extra-skein.c Update 2018 copyright 2018-01-26 10:03:20 -05:00
hash-ops.h Monero Cryptonight variants, and add one for v7 2018-03-05 18:18:39 +00:00
hash.c Update 2018 copyright 2018-01-26 10:03:20 -05:00
hash.h Monero Cryptonight variants, and add one for v7 2018-03-05 18:18:39 +00:00
initializer.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
jh.c moved all stuff to github 2014-03-03 22:07:58 +00:00
jh.h moved all stuff to github 2014-03-03 22:07:58 +00:00
keccak.c Merge pull request #3226 2018-02-16 14:26:58 +01:00
keccak.h kaccak: remove unused return value 2017-11-11 11:20:48 +00:00
oaes_config.h Update oaes_config.h 2014-05-17 15:39:46 -07:00
oaes_lib.c Support building cncrypto lib with msvc 2018-01-25 13:00:45 -07:00
oaes_lib.h 0.8.8update 2014-05-25 13:06:40 -04:00
random.c crypto: add missing include (WIN32) 2018-02-16 19:35:31 +01:00
random.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
skein_port.h Update 2018 copyright 2018-01-26 10:03:20 -05:00
skein.c Changed to ..._HASHBITS everywhere for consistency 2016-10-29 14:59:06 +01:00
skein.h moved all stuff to github 2014-03-03 22:07:58 +00:00
slow-hash.c slow-hash: fix uint64 type typo 2018-03-07 09:48:58 +00:00
tree-hash.c Merge pull request #3180 2018-02-16 14:19:42 +01:00