Iran GPS Spoofing and the RSA Cipher

Ian Mason ukcrypto at
Fri Dec 23 17:08:43 GMT 2011

On 23 Dec 2011, at 15:33, Ian Batten wrote:
> Leaving aside the practicalities of the algorithms, an asymmetric  
> system would be attractive for military-grade GPS, as it would mean  
> that the theft and complete analysis of a receiver would not provide  
> the key material for spoofing.  There are a lot of military handsets  
> and by definition they are going to be used in hostile environments  
> with a risk of capture, so were it possible to engineer a system  
> where the handsets did not contain the transmission keys that would  
> be a desirable property.  As you point out, it might prove very  
> difficult to achieve, but those problems would bring some value as  
> well.
> ian

I see what you're getting at, but I think you haven't really thought  
it through or misunderstand the problem. Remember that the satellites  
are broadcasting to all receivers, not having a conversation with each  
GPS receiver individually. The satellite/receiver system would still  
need to share secret material as having one private key per receiver  
would be impractical. If nothing else it would require the satellite  
to speculatively transmit the current spreading code key wrapped in  
many different public keys.

All the GPS satellites transmit simultaneously on the same frequency  
using a CDMA/DSSS modulation. The only way you can separate the  
signals from multiple satellites is to use a different spreading code  
for each satellite, both for satellite transmission and terrestrial  
reception. The spreading code is the bitstream output of a PRNG, also  
sometimes called a keystream when the intent is encryption. The  
receiver needs the spreading code to demodulate the transmitted  
signal, so it has to generate exactly the same spreading code as the  
sender is using just to detect the signal - a fundamentally symmetric  

For the public channels such as the C/A (Coarse/Acquisition) signal  
the the PRNG formulation (key+algorithmn)  used to generate the  
spreading signal is well known, the key is the satellite number. The M- 
code channel is an anti-spoofing feature and also uses a secret and  
much longer spreading code to achieve the antispoofing characteristic.

T'other Ian

More information about the ukcrypto mailing list