Cipher.swift 749 B

123456789101112131415161718192021222324252627282930
  1. //
  2. // Cipher.swift
  3. // CryptoSwift
  4. //
  5. // Created by Marcin Krzyzanowski on 30/08/14.
  6. // Copyright (c) 2014 Marcin Krzyzanowski. All rights reserved.
  7. //
  8. import Foundation
  9. public enum Cipher {
  10. case ChaCha20(key: NSData, iv: NSData)
  11. public func encrypt(message: NSData) -> NSData? {
  12. switch (self) {
  13. case .ChaCha20(let key, let iv):
  14. var chacha = CryptoSwift.ChaCha20(key: key, iv: iv);
  15. return chacha.encrypt(message)
  16. }
  17. }
  18. public func decrypt(message: NSData) -> NSData? {
  19. switch (self) {
  20. case .ChaCha20(let key, let iv):
  21. var chacha = CryptoSwift.ChaCha20(key: key, iv: iv);
  22. return chacha.decrypt(message)
  23. }
  24. }
  25. }