Haskell implementation: Snow3G encryption and integrity algorithm
Snow3G encryption and integrity algorithm
Written in Haskell, by
Babu Srinivasan
Transpiled to Javascript using
GHCJS
Reference implementation in C from 3GPP:
link to pdf
Enter text to encrypt: [39 characters (312 bits)]
Sample Input
Clear
Conformance Tests
Encryption Set 1
Encryption Set 2
Integrity Set 1
Integrity Set 2
Encryption key: 1E450FCFD2181326C25A901585888ECE
Input data (hex)
546865204d6167696320576f726473206172652053717565616d697368204f7373696672616765
Integrity MAC (hex)
af0d04f0
Encrypted data (hex)
7d7087ce92f52123930c9b3017570f3e8cc56f4769cec245a306942e250b7cdfa5bae03e9a816a00
Decrypted data (hex)
546865204d6167696320576f726473206172652053717565616d697368204f737369667261676500
Decrypted data
The Magic Words are Squeamish Ossifrage