So I guess it is possible to use an offline receiver as a very precise
clock?
Yes, you can use the GPS PPS (pulse per second) signal available on most every receiver to sync up your clock an maintain better time accuracy.
If so, is it possible to flood this offline receiver with fake signals
to make it believe it's 12:00:01 when it's actually 12:00:00? Or more
specifically, is it possible to design a receiver who can't be
attacked this way?
No, if someone spoofs a GPS satellite signal (which is really sophisticated kind of attack) then you are at the mercy of that signal. You could possibly work to build a system that could detect spoofing.
If GPS signals (or Galileo's, ...) are cryptographically signed, it's
easy to reject non-signed signals by saving the public key of the
satellites beforehand. But are the GPS signals cryptographically
signed?
With GPS, there are two codes, and depending on which receiver you have access to (unless you're military, you're probably not going to get access to p-codes). These determine the accuracy, but so does the receiver, so I would worry about what receiver your using and not how the signals are getting to it because that is what determines the accuracy. There is no 'cryptographic signing' of the signal and it can be spoofed.
There are two codes that are used:
C/A code: The C/A code on the GPS signal is the one used for general or Civilian Access. This code is transmitted at 10.23 million
chips per second, Mcps.
P code: The P code is the precision code that can only be accessed by the US military. The P code transmits at a rate of 10.23
Mcps.
Source: https://www.radio-electronics.com/info/satellite/gps/signals.php
The accuracy of the PPS signal is also determined by the receiver, and how it generates this signal from the GPS data.