The primary issue with adding linux is the reliance on `CommonCrypto`, which requires the use of an `Objective-C` class with a bridging header. Possible alternatives to `CommonCrypto` are `Cipher` and `Hash` (possibly the two combined).