I had the same error (no public key) and fixed it today with a simple
re-emerge. After that, sync runs without a problem.
Your keyfile location depends on the way you sync (git,rsync,webrsync).
There is a nice wiki page for this.[1]
I use portage with rsync, so I don't need app-crypt/gentoo-keys which
should install the keyring for webrsync.
First, i moved /usr/share/openpgp-keys/gentoo-release.asc, looked for
the right key id, fetched the key from the keyserver, there was no
difference because the Key ID published on
gentoo.org is too old :-D
After updating
=app-crypt/openpgp-keys-gentoo-release-20180702
=app-crypt/openpgp-keys-gentoo-release-20180703
I've no clue why portage uses a key for only 1 day, but - everything
works :-)
[1]
https://wiki.gentoo.org/wiki/Portage_Security