From 2ec7b6c5995fefd74e3ca40dd0b63f2b66bcbf2e Mon Sep 17 00:00:00 2001 From: Ihar Katkavets Date: Sat, 26 Aug 2023 12:57:33 +0200 Subject: [PATCH] final The version with cleaned resources --- .gitignore | 3 +- AesStream.md | 73 + ChaCha20Stream.md | 33 + Core/Headers/Core-Bridging-Header.h | 4 + Core/Package.swift | 15 + Core/Sources/include/chacha20.c | 179 ++ Core/Sources/include/chacha20.h | 92 + Core/Sources/include/encrypt-portable.h | 57 + Core/Sources/include/salsa20.c | 208 ++ Core/Sources/include/salsa20.h | 92 + Core/Sources/include/twofish.cpp | 1708 +++++++++++++++++ Core/Sources/include/twofish.h | 218 +++ Core/Sources/module.modulemap | 5 + GzipOutputStream.md | 47 + Package.swift | 19 +- README.md | 53 +- Salsa20Stream.md | 32 + Sources/AesStream/AesInputStream.swift | 154 ++ Sources/AesStream/AesOutputStream.swift | 131 ++ Sources/AesStream/AesStreamCore.swift | 95 + Sources/BufferStream/BufferInputStream.swift | 60 + Sources/BufferStream/BufferOutputStream.swift | 44 + Sources/ChaCha20Stream/ChaCha20Core.swift | 46 + .../ChaCha20Stream/ChaCha20InputStream.swift | 195 ++ .../ChaCha20Stream/ChaCha20OutputStream.swift | 161 ++ Sources/FileStream/FileInputStream.swift | 64 + Sources/FileStream/FileOutputStream.swift | 57 + Sources/GzipStream/GzipInputStream.swift | 170 ++ Sources/GzipStream/GzipOutputStream.swift | 137 ++ Sources/GzipStream/GzipStreamCore.swift | 77 + Sources/InputStream.swift | 46 + Sources/OutputStream.swift | 48 + Sources/Salsa20Stream/Salsa20Core.swift | 50 + .../Salsa20Stream/Salsa20InputStream.swift | 195 ++ .../Salsa20Stream/Salsa20OutputStream.swift | 162 ++ Sources/TwoFishStream/TwoFishCore.swift | 85 + .../TwoFishStream/TwoFishInputStream.swift | 227 +++ .../TwoFishStream/TwoFishOutputStream.swift | 172 ++ Sources/Utils/Data+Extensions.swift | 41 + Sources/Utils/MD5.swift | 60 + Tests/AesStream/AesStreamTests.swift | 174 ++ .../BufferStream/BufferInputStreamTests.swift | 53 + .../BufferOutputStreamTests.swift | 42 + .../ChaCha20Stream/ChaCha20StreamTests.swift | 232 +++ Tests/FileStream/FileStreamTests.swift | 83 + Tests/GzipStream/GzipStreamTests.swift | 154 ++ Tests/Resources/16B | 1 + Tests/Resources/1MB | Bin 0 -> 1048576 bytes Tests/Resources/PlainText | 199 ++ Tests/Resources/PlainText.gz | Bin 0 -> 10594 bytes Tests/Salsa20Stream/Salsa20StreamTests.swift | 177 ++ Tests/StreamKitExtensionsTests.swift | 87 + Tests/StreamKitTests.swift | 526 +++++ Tests/TestHelpers/XCTestCase+Extensions.swift | 86 + Tests/TwoFishStream/TwoFishStreamTests.swift | 265 +++ Tests/Utils/UtilsTests.swift | 34 + TwoFishStream.md | 46 + 57 files changed, 7470 insertions(+), 4 deletions(-) create mode 100644 AesStream.md create mode 100644 ChaCha20Stream.md create mode 100644 Core/Headers/Core-Bridging-Header.h create mode 100644 Core/Package.swift create mode 100644 Core/Sources/include/chacha20.c create mode 100644 Core/Sources/include/chacha20.h create mode 100644 Core/Sources/include/encrypt-portable.h create mode 100644 Core/Sources/include/salsa20.c create mode 100644 Core/Sources/include/salsa20.h create mode 100644 Core/Sources/include/twofish.cpp create mode 100644 Core/Sources/include/twofish.h create mode 100644 Core/Sources/module.modulemap create mode 100644 GzipOutputStream.md create mode 100644 Salsa20Stream.md create mode 100644 Sources/AesStream/AesInputStream.swift create mode 100644 Sources/AesStream/AesOutputStream.swift create mode 100644 Sources/AesStream/AesStreamCore.swift create mode 100644 Sources/BufferStream/BufferInputStream.swift create mode 100644 Sources/BufferStream/BufferOutputStream.swift create mode 100644 Sources/ChaCha20Stream/ChaCha20Core.swift create mode 100644 Sources/ChaCha20Stream/ChaCha20InputStream.swift create mode 100644 Sources/ChaCha20Stream/ChaCha20OutputStream.swift create mode 100644 Sources/FileStream/FileInputStream.swift create mode 100644 Sources/FileStream/FileOutputStream.swift create mode 100644 Sources/GzipStream/GzipInputStream.swift create mode 100644 Sources/GzipStream/GzipOutputStream.swift create mode 100644 Sources/GzipStream/GzipStreamCore.swift create mode 100644 Sources/InputStream.swift create mode 100644 Sources/OutputStream.swift create mode 100644 Sources/Salsa20Stream/Salsa20Core.swift create mode 100644 Sources/Salsa20Stream/Salsa20InputStream.swift create mode 100644 Sources/Salsa20Stream/Salsa20OutputStream.swift create mode 100644 Sources/TwoFishStream/TwoFishCore.swift create mode 100644 Sources/TwoFishStream/TwoFishInputStream.swift create mode 100644 Sources/TwoFishStream/TwoFishOutputStream.swift create mode 100644 Sources/Utils/Data+Extensions.swift create mode 100644 Sources/Utils/MD5.swift create mode 100644 Tests/AesStream/AesStreamTests.swift create mode 100644 Tests/BufferStream/BufferInputStreamTests.swift create mode 100644 Tests/BufferStream/BufferOutputStreamTests.swift create mode 100644 Tests/ChaCha20Stream/ChaCha20StreamTests.swift create mode 100644 Tests/FileStream/FileStreamTests.swift create mode 100644 Tests/GzipStream/GzipStreamTests.swift create mode 100644 Tests/Resources/16B create mode 100644 Tests/Resources/1MB create mode 100644 Tests/Resources/PlainText create mode 100644 Tests/Resources/PlainText.gz create mode 100644 Tests/Salsa20Stream/Salsa20StreamTests.swift create mode 100644 Tests/StreamKitExtensionsTests.swift create mode 100644 Tests/StreamKitTests.swift create mode 100644 Tests/TestHelpers/XCTestCase+Extensions.swift create mode 100644 Tests/TwoFishStream/TwoFishStreamTests.swift create mode 100644 Tests/Utils/UtilsTests.swift create mode 100644 TwoFishStream.md diff --git a/.gitignore b/.gitignore index 3b29812..900d8e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .DS_Store -/.build +.build/ +.swiftpm/ /Packages /*.xcodeproj xcuserdata/ diff --git a/AesStream.md b/AesStream.md new file mode 100644 index 0000000..348969b --- /dev/null +++ b/AesStream.md @@ -0,0 +1,73 @@ +# AES Streams + +AES is a 128-bit block cipher. It supports key of lenght `128` bits, `192` bits or `256` bits.
+Initialization vector(`iv`), if present, must be `16` bytes (`128` bits) length. + + + + + +## Create output(encrypting) stream +```swift +let encryptingStream = AesOutputStream(writingTo: anotherOuputStream, + key: key, + iv: iv) +try encryptingStream.open() +try encryptingStream.write(buffer, length: len) +try encryptingStream.close() +``` + +## Create input(decrypting) stream +```swift +let decryptingStream = AesInputStream(readingFrom: anotherInputStream, + key: key, + iv: iv) +try decryptingStream.open() + +var decryptedBytes = Array() +while decryptingStream.hasBytesAvailable { + let tmpBufferLen = 1<<16 + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + decryptedBytes.append(contentsOf: readBuffer.prefix(readLen)) +} + +let decryptedData = Data(decryptedBytes) +``` + +## Constructor accepts additional parameters +```swift +let aesOptions = AesOptions.PKCS7Padding // default +// let aesOptions = AesOptions.ECBMode +// let aesOptions = AesOptions.CBCMode + +let encryptingStream = AesOutputStream(writingTo: anotherOuputStream, + key: key, + iv: iv, + options: aesOptions, + chunk: AesOutputStream.defaultChunkSize) + +let decryptingStream = AesInputStream(readingFrom: anotherInputStream, + key: key, + iv: iv, + options: aesOptions, + chunk: AesInputStream.defaultChunkSize) +``` + +where:
+`AesOptions.ECBMode` - doesn't use `iv`. Due to obvious weaknesses, it is generally not recommended. The source data is +divided into blocks as the length of the block of AES, 128. So the ECB mode +needs to pad data until it is same as the length of the block. Then every block +will be encrypted with the same key and same algorithm. So if we encrypt the +same plaintext, we will get the same ciphertext. So there is a high risk in this +mode. And the plaintext and ciphertext blocks are a one-to-one correspondence. +Because the encryption/ decryption is independent, so we can encrypt/decrypt the +data in parallel. And if a block of plaintext or ciphertext is broken, it won’t +affect other blocks.
+`AesOptions.CBCMode` - uses `iv` and it must be the same length as the algorithm's block size. The total number of bytes does have to be aligned to the block size (`128` bit), +otherwise `open()` will return `alignmentError`. If `iv` is not present, a NULL (all zeroes) `iv` will be used
+`AesOptions.PKCS7Padding` - the total number of bytes provided by all the calls to this function when + encrypting can be arbitrary (i.e., the total number of bytes does not have to + be block aligned). + + diff --git a/ChaCha20Stream.md b/ChaCha20Stream.md new file mode 100644 index 0000000..b6b6698 --- /dev/null +++ b/ChaCha20Stream.md @@ -0,0 +1,33 @@ +# ChaCha20 Stream + +ChaCha20 is a stream cipher with symmetric secret key. It works on data blocks of size 64 bytes. Key length is 32 bytes.
+Initialization vector(`iv`) is required of 12 bytes length.
+The stream cipher algorithm performs 20 rounds of computations in its hash function. + +## Create output(encrypting) stream +```swift +let encryptingStream = ChaCha20OutputStream(writingTo: dataOutputStream, + key: key, + iv: iv) +try encryptingStream.open() +try encryptingStream.write(buffer, length: len) +try encryptingStream.close() +``` + +## Create input(decrypting) stream +```swift +let decryptionStream = ChaCha20InputStream(readingFrom: dataInputStream, + key: key, + iv: iv) +try decryptingStream.open() + +var decryptedBytes = [UInt8]() +while decryptingStream.hasBytesAvailable { + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + decryptedBytes.append(contentsOf: tmpBuffer.prefix(readLen)) +} + +let decryptedData = Data(decryptedBytes) +``` diff --git a/Core/Headers/Core-Bridging-Header.h b/Core/Headers/Core-Bridging-Header.h new file mode 100644 index 0000000..9735487 --- /dev/null +++ b/Core/Headers/Core-Bridging-Header.h @@ -0,0 +1,4 @@ +#import +#import +#import + diff --git a/Core/Package.swift b/Core/Package.swift new file mode 100644 index 0000000..ebd9c57 --- /dev/null +++ b/Core/Package.swift @@ -0,0 +1,15 @@ +// swift-tools-version: 5.8 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Core", + products: [ + .library(name: "Core", targets: ["Core"]), + ], + targets: [ + .target(name: "Core", + path: "Sources"), + ] +) diff --git a/Core/Sources/include/chacha20.c b/Core/Sources/include/chacha20.c new file mode 100644 index 0000000..d4f3a70 --- /dev/null +++ b/Core/Sources/include/chacha20.c @@ -0,0 +1,179 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +/** + * Salsa 20 implementation adopted from the reference + * implementation by D. J. Bernstein https://cr.yp.to/chacha.html + * Taken from https://cr.yp.to/streamciphers/timings/estreambench/submissions/salsa20/chacha8/regs/chacha.c + */ + +#include "chacha20.h" +#include "encrypt-portable.h" +#include +#include + +#define ROTATE(v,c) (ROTL32(v,c)) +#define XOR(v,w) ((v) ^ (w)) +#define PLUS(v,w) ((v) + (w)) +#define PLUSONE(v) (PLUS((v),1)) + +#define QUARTERROUND(a,b,c,d) \ + a = PLUS(a,b); d = ROTATE(XOR(d,a),16); \ + c = PLUS(c,d); b = ROTATE(XOR(b,c),12); \ + a = PLUS(a,b); d = ROTATE(XOR(d,a), 8); \ + c = PLUS(c,d); b = ROTATE(XOR(b,c), 7); + +static void chacha20_wordtobyte(u8 output[64],const u32 input[16]) +{ + u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15; + int i; + + x0 = input[0]; + x1 = input[1]; + x2 = input[2]; + x3 = input[3]; + x4 = input[4]; + x5 = input[5]; + x6 = input[6]; + x7 = input[7]; + x8 = input[8]; + x9 = input[9]; + x10 = input[10]; + x11 = input[11]; + x12 = input[12]; + x13 = input[13]; + x14 = input[14]; + x15 = input[15]; + for (i = 20;i > 0;i -= 2) { + QUARTERROUND( x0, x4, x8,x12) + QUARTERROUND( x1, x5, x9,x13) + QUARTERROUND( x2, x6,x10,x14) + QUARTERROUND( x3, x7,x11,x15) + QUARTERROUND( x0, x5,x10,x15) + QUARTERROUND( x1, x6,x11,x12) + QUARTERROUND( x2, x7, x8,x13) + QUARTERROUND( x3, x4, x9,x14) + } + x0 = PLUS(x0,input[0]); + x1 = PLUS(x1,input[1]); + x2 = PLUS(x2,input[2]); + x3 = PLUS(x3,input[3]); + x4 = PLUS(x4,input[4]); + x5 = PLUS(x5,input[5]); + x6 = PLUS(x6,input[6]); + x7 = PLUS(x7,input[7]); + x8 = PLUS(x8,input[8]); + x9 = PLUS(x9,input[9]); + x10 = PLUS(x10,input[10]); + x11 = PLUS(x11,input[11]); + x12 = PLUS(x12,input[12]); + x13 = PLUS(x13,input[13]); + x14 = PLUS(x14,input[14]); + x15 = PLUS(x15,input[15]); + U32TO8_LITTLE(output + 0,x0); + U32TO8_LITTLE(output + 4,x1); + U32TO8_LITTLE(output + 8,x2); + U32TO8_LITTLE(output + 12,x3); + U32TO8_LITTLE(output + 16,x4); + U32TO8_LITTLE(output + 20,x5); + U32TO8_LITTLE(output + 24,x6); + U32TO8_LITTLE(output + 28,x7); + U32TO8_LITTLE(output + 32,x8); + U32TO8_LITTLE(output + 36,x9); + U32TO8_LITTLE(output + 40,x10); + U32TO8_LITTLE(output + 44,x11); + U32TO8_LITTLE(output + 48,x12); + U32TO8_LITTLE(output + 52,x13); + U32TO8_LITTLE(output + 56,x14); + U32TO8_LITTLE(output + 60,x15); +} + +void CHACHA20_init(void) +{ + return; +} + +static const char sigma[16] = "expand 32-byte k"; + +void CHACHA20_keysetup(CHACHA20_ctx *x,const u8 *k,u32 kbits,u32 ivbits) +{ + const char *constants; + + x->input[0] = U8TO32_LITTLE(sigma + 0); + x->input[1] = U8TO32_LITTLE(sigma + 4); + x->input[2] = U8TO32_LITTLE(sigma + 8); + x->input[3] = U8TO32_LITTLE(sigma + 12); + x->input[4] = U8TO32_LITTLE(k + 0); + x->input[5] = U8TO32_LITTLE(k + 4); + x->input[6] = U8TO32_LITTLE(k + 8); + x->input[7] = U8TO32_LITTLE(k + 12); + x->input[8] = U8TO32_LITTLE(k + 16); + x->input[9] = U8TO32_LITTLE(k + 20); + x->input[10] = U8TO32_LITTLE(k + 24); + x->input[11] = U8TO32_LITTLE(k + 28); +} + +void CHACHA20_ivsetup(CHACHA20_ctx *x,const u8 *iv) +{ + x->input[12] = 0; + x->input[13] = U8TO32_LITTLE(iv + 0); + x->input[14] = U8TO32_LITTLE(iv + 4); + x->input[15] = U8TO32_LITTLE(iv + 8); +} + +void CHACHA20_encrypt_bytes(CHACHA20_ctx *x,const u8 *m,u8 *c,u32 bytes) +{ + u8 output[64]; + int i; + + if (!bytes) return; + for (;;) { + chacha20_wordtobyte(output,x->input); + x->input[12] = PLUSONE(x->input[12]); + if (bytes <= 64) { + for (i = 0;i < bytes;++i) c[i] = m[i] ^ output[i]; + return; + } + for (i = 0;i < 64;++i) c[i] = m[i] ^ output[i]; + bytes -= 64; + c += 64; + m += 64; + } +} + +void CHACHA20_decrypt_bytes(CHACHA20_ctx *x,const u8 *c,u8 *m,u32 bytes) +{ + CHACHA20_encrypt_bytes(x,c,m,bytes); +} + +void CHACHA20_encrypt_blocks(CHACHA20_ctx* ctx, const u8* plaintext, u8* ciphertext, u32 blocks) +{ + CHACHA20_encrypt_bytes(ctx, plaintext, ciphertext, (blocks) * CHACHA20_BLOCKLENGTH); +} + +void CHACHA20_decrypt_blocks(CHACHA20_ctx* ctx, const u8* ciphertext, u8* plaintext, u32 blocks) +{ + CHACHA20_decrypt_bytes(ctx, ciphertext, plaintext, (blocks) * CHACHA20_BLOCKLENGTH); +} diff --git a/Core/Sources/include/chacha20.h b/Core/Sources/include/chacha20.h new file mode 100644 index 0000000..6ce3605 --- /dev/null +++ b/Core/Sources/include/chacha20.h @@ -0,0 +1,92 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +/** + * Salsa 20 implementation adopted from the reference + * implementation by D. J. Bernstein https://cr.yp.to/chacha.html + * Taken from https://cr.yp.to/streamciphers/timings/estreambench/submissions/salsa20/chacha8/ref/ecrypt-sync.h + * Public domain. + */ + +#ifndef chacha_h +#define chacha_h + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +typedef uint8_t u8; +typedef uint32_t u32; + +typedef struct +{ + u32 input[16]; /* could be compressed */ +} CHACHA20_ctx; + +void CHACHA20_init(); + +void CHACHA20_keysetup( + CHACHA20_ctx* ctx, + const u8* key, + u32 keysize, /* Key size in bits. */ + u32 ivsize); /* IV size in bits. */ + +void CHACHA20_ivsetup( + CHACHA20_ctx* ctx, + const u8* iv); + +void CHACHA20_encrypt_bytes( + CHACHA20_ctx* ctx, + const u8* plaintext, + u8* ciphertext, + u32 msglen); /* Message length in bytes. */ + +void CHACHA20_decrypt_bytes( + CHACHA20_ctx* ctx, + const u8* ciphertext, + u8* plaintext, + u32 msglen); /* Message length in bytes. */ + +#define CHACHA20_BLOCKLENGTH 64 /* [edit] */ + +void CHACHA20_encrypt_blocks( + CHACHA20_ctx* ctx, + const u8* plaintext, + u8* ciphertext, + u32 blocks); /* Message length in blocks. */ + +void CHACHA20_decrypt_blocks( + CHACHA20_ctx* ctx, + const u8* ciphertext, + u8* plaintext, + u32 blocks); /* Message length in blocks. */ + +#ifdef __cplusplus +} +#endif + +#endif /* salsa20_h */ diff --git a/Core/Sources/include/encrypt-portable.h b/Core/Sources/include/encrypt-portable.h new file mode 100644 index 0000000..5ea0712 --- /dev/null +++ b/Core/Sources/include/encrypt-portable.h @@ -0,0 +1,57 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +/** + * Salsa 20 implementation adopted from the reference + * implementation by D. J. Bernstein https://cr.yp.to/salsa20.html + * Taken from https://cr.yp.to/snuffle/ecrypt-portable.h + */ + +#ifndef ECRYPT_PORTABLE +#define ECRYPT_PORTABLE + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define ROTL32(v, n) \ + (((v) << (n)) | ((v) >> (32 - (n)))) + +#define U8TO32_LITTLE(p) \ + (((uint32_t)((p)[0]) ) | \ + ((uint32_t)((p)[1]) << 8) | \ + ((uint32_t)((p)[2]) << 16) | \ + ((uint32_t)((p)[3]) << 24)) + +#define U32TO32_LITTLE(v) (v) +#define U32TO8_LITTLE(p, v) (((u32*)(p))[0] = U32TO32_LITTLE(v)) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Core/Sources/include/salsa20.c b/Core/Sources/include/salsa20.c new file mode 100644 index 0000000..a199a1b --- /dev/null +++ b/Core/Sources/include/salsa20.c @@ -0,0 +1,208 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +/** + * Salsa 20 implementation adopted from the reference + * implementation by D. J. Bernstein https://cr.yp.to/salsa20.html + * Taken from https://cr.yp.to/snuffle/salsa20/ref/salsa20.c + */ + +#include "salsa20.h" +#include "encrypt-portable.h" +#include +#include + +#define ROTATE(v,c) (ROTL32(v,c)) +#define XOR(v,w) ((v) ^ (w)) +#define PLUS(v,w) ((v) + (w)) +#define PLUSONE(v) (PLUS((v),1)) + +static void salsa20_wordtobyte(u8 output[64],const u32 input[16]) +{ + u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15; + int i; + + x0 = input[0]; + x1 = input[1]; + x2 = input[2]; + x3 = input[3]; + x4 = input[4]; + x5 = input[5]; + x6 = input[6]; + x7 = input[7]; + x8 = input[8]; + x9 = input[9]; + x10 = input[10]; + x11 = input[11]; + x12 = input[12]; + x13 = input[13]; + x14 = input[14]; + x15 = input[15]; + for (i = 20;i > 0;i -= 2) { + x4 = XOR( x4,ROTATE(PLUS( x0,x12), 7)); + x8 = XOR( x8,ROTATE(PLUS( x4, x0), 9)); + x12 = XOR(x12,ROTATE(PLUS( x8, x4),13)); + x0 = XOR( x0,ROTATE(PLUS(x12, x8),18)); + x9 = XOR( x9,ROTATE(PLUS( x5, x1), 7)); + x13 = XOR(x13,ROTATE(PLUS( x9, x5), 9)); + x1 = XOR( x1,ROTATE(PLUS(x13, x9),13)); + x5 = XOR( x5,ROTATE(PLUS( x1,x13),18)); + x14 = XOR(x14,ROTATE(PLUS(x10, x6), 7)); + x2 = XOR( x2,ROTATE(PLUS(x14,x10), 9)); + x6 = XOR( x6,ROTATE(PLUS( x2,x14),13)); + x10 = XOR(x10,ROTATE(PLUS( x6, x2),18)); + x3 = XOR( x3,ROTATE(PLUS(x15,x11), 7)); + x7 = XOR( x7,ROTATE(PLUS( x3,x15), 9)); + x11 = XOR(x11,ROTATE(PLUS( x7, x3),13)); + x15 = XOR(x15,ROTATE(PLUS(x11, x7),18)); + x1 = XOR( x1,ROTATE(PLUS( x0, x3), 7)); + x2 = XOR( x2,ROTATE(PLUS( x1, x0), 9)); + x3 = XOR( x3,ROTATE(PLUS( x2, x1),13)); + x0 = XOR( x0,ROTATE(PLUS( x3, x2),18)); + x6 = XOR( x6,ROTATE(PLUS( x5, x4), 7)); + x7 = XOR( x7,ROTATE(PLUS( x6, x5), 9)); + x4 = XOR( x4,ROTATE(PLUS( x7, x6),13)); + x5 = XOR( x5,ROTATE(PLUS( x4, x7),18)); + x11 = XOR(x11,ROTATE(PLUS(x10, x9), 7)); + x8 = XOR( x8,ROTATE(PLUS(x11,x10), 9)); + x9 = XOR( x9,ROTATE(PLUS( x8,x11),13)); + x10 = XOR(x10,ROTATE(PLUS( x9, x8),18)); + x12 = XOR(x12,ROTATE(PLUS(x15,x14), 7)); + x13 = XOR(x13,ROTATE(PLUS(x12,x15), 9)); + x14 = XOR(x14,ROTATE(PLUS(x13,x12),13)); + x15 = XOR(x15,ROTATE(PLUS(x14,x13),18)); + } + x0 = PLUS(x0,input[0]); + x1 = PLUS(x1,input[1]); + x2 = PLUS(x2,input[2]); + x3 = PLUS(x3,input[3]); + x4 = PLUS(x4,input[4]); + x5 = PLUS(x5,input[5]); + x6 = PLUS(x6,input[6]); + x7 = PLUS(x7,input[7]); + x8 = PLUS(x8,input[8]); + x9 = PLUS(x9,input[9]); + x10 = PLUS(x10,input[10]); + x11 = PLUS(x11,input[11]); + x12 = PLUS(x12,input[12]); + x13 = PLUS(x13,input[13]); + x14 = PLUS(x14,input[14]); + x15 = PLUS(x15,input[15]); + U32TO8_LITTLE(output + 0,x0); + U32TO8_LITTLE(output + 4,x1); + U32TO8_LITTLE(output + 8,x2); + U32TO8_LITTLE(output + 12,x3); + U32TO8_LITTLE(output + 16,x4); + U32TO8_LITTLE(output + 20,x5); + U32TO8_LITTLE(output + 24,x6); + U32TO8_LITTLE(output + 28,x7); + U32TO8_LITTLE(output + 32,x8); + U32TO8_LITTLE(output + 36,x9); + U32TO8_LITTLE(output + 40,x10); + U32TO8_LITTLE(output + 44,x11); + U32TO8_LITTLE(output + 48,x12); + U32TO8_LITTLE(output + 52,x13); + U32TO8_LITTLE(output + 56,x14); + U32TO8_LITTLE(output + 60,x15); +} + +void SALSA20_init(void) +{ + return; +} + +static const char sigma[16] = "expand 32-byte k"; +static const char tau[16] = "expand 16-byte k"; + +void SALSA20_keysetup(SALSA20_ctx *x,const u8 *k,u32 kbits,u32 ivbits) +{ + const char *constants; + + x->input[1] = U8TO32_LITTLE(k + 0); + x->input[2] = U8TO32_LITTLE(k + 4); + x->input[3] = U8TO32_LITTLE(k + 8); + x->input[4] = U8TO32_LITTLE(k + 12); + if (kbits == 256) { /* recommended */ + k += 16; + constants = sigma; + } else { /* kbits == 128 */ + constants = tau; + } + x->input[11] = U8TO32_LITTLE(k + 0); + x->input[12] = U8TO32_LITTLE(k + 4); + x->input[13] = U8TO32_LITTLE(k + 8); + x->input[14] = U8TO32_LITTLE(k + 12); + x->input[0] = U8TO32_LITTLE(constants + 0); + x->input[5] = U8TO32_LITTLE(constants + 4); + x->input[10] = U8TO32_LITTLE(constants + 8); + x->input[15] = U8TO32_LITTLE(constants + 12); +} + +void SALSA20_ivsetup(SALSA20_ctx *x,const u8 *iv) +{ + x->input[6] = U8TO32_LITTLE(iv + 0); + x->input[7] = U8TO32_LITTLE(iv + 4); + x->input[8] = 0; + x->input[9] = 0; +} + +void SALSA20_encrypt_bytes(SALSA20_ctx *x,const u8 *m,u8 *c,u32 bytes) +{ + u8 output[64]; + int i; + + if (!bytes) return; + for (;;) { + salsa20_wordtobyte(output,x->input); + x->input[8] = PLUSONE(x->input[8]); + if (!x->input[8]) { + x->input[9] = PLUSONE(x->input[9]); + /* stopping at 2^70 bytes per nonce is user's responsibility */ + } + if (bytes <= 64) { + for (i = 0;i < bytes;++i) c[i] = m[i] ^ output[i]; + return; + } + for (i = 0;i < 64;++i) c[i] = m[i] ^ output[i]; + bytes -= 64; + c += 64; + m += 64; + } +} + +void SALSA20_decrypt_bytes(SALSA20_ctx *x,const u8 *c,u8 *m,u32 bytes) +{ + SALSA20_encrypt_bytes(x,c,m,bytes); +} + +void SALSA20_encrypt_blocks(SALSA20_ctx* ctx, const u8* plaintext, u8* ciphertext, u32 blocks) +{ + SALSA20_encrypt_bytes(ctx, plaintext, ciphertext, (blocks) * SALSA20_BLOCKLENGTH); +} + +void SALSA20_decrypt_blocks(SALSA20_ctx* ctx, const u8* ciphertext, u8* plaintext, u32 blocks) +{ + SALSA20_decrypt_bytes(ctx, ciphertext, plaintext, (blocks) * SALSA20_BLOCKLENGTH); +} diff --git a/Core/Sources/include/salsa20.h b/Core/Sources/include/salsa20.h new file mode 100644 index 0000000..7bc7620 --- /dev/null +++ b/Core/Sources/include/salsa20.h @@ -0,0 +1,92 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +/** + * Salsa 20 implementation adopted from the reference + * implementation by D. J. Bernstein https://cr.yp.to/salsa20.html + * Taken from https://cr.yp.to/snuffle/salsa20/merged/ecrypt-sync.h + * Public domain. + */ + +#ifndef salsa20_h +#define salsa20_h + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +typedef uint8_t u8; +typedef uint32_t u32; + +typedef struct +{ + u32 input[16]; /* could be compressed */ +} SALSA20_ctx; + +void SALSA20_init(); + +void SALSA20_keysetup( + SALSA20_ctx* ctx, + const u8* key, + u32 keysize, /* Key size in bits. */ + u32 ivsize); /* IV size in bits. */ + +void SALSA20_ivsetup( + SALSA20_ctx* ctx, + const u8* iv); + +void SALSA20_encrypt_bytes( + SALSA20_ctx* ctx, + const u8* plaintext, + u8* ciphertext, + u32 msglen); /* Message length in bytes. */ + +void SALSA20_decrypt_bytes( + SALSA20_ctx* ctx, + const u8* ciphertext, + u8* plaintext, + u32 msglen); /* Message length in bytes. */ + +#define SALSA20_BLOCKLENGTH 64 /* [edit] */ + +void SALSA20_encrypt_blocks( + SALSA20_ctx* ctx, + const u8* plaintext, + u8* ciphertext, + u32 blocks); /* Message length in blocks. */ + +void SALSA20_decrypt_blocks( + SALSA20_ctx* ctx, + const u8* ciphertext, + u8* plaintext, + u32 blocks); /* Message length in blocks. */ + +#ifdef __cplusplus +} +#endif + +#endif /* salsa20_h */ diff --git a/Core/Sources/include/twofish.cpp b/Core/Sources/include/twofish.cpp new file mode 100644 index 0000000..50b9681 --- /dev/null +++ b/Core/Sources/include/twofish.cpp @@ -0,0 +1,1708 @@ +/* + * Fast, portable, and easy-to-use Twofish implementation, + * Version 0.3. + * Copyright (c) 2002 by Niels Ferguson. + * (See further down for the almost-unrestricted licensing terms.) + * + * -------------------------------------------------------------------------- + * There are two files for this implementation: + * - twofish.h, the header file. + * - twofish.c, the code file. + * + * To incorporate this code into your program you should: + * - Check the licensing terms further down in this comment. + * - Fix the two type definitions in twofish.h to suit your platform. + * - Fix a few definitions in twofish.c in the section marked + * PLATFORM FIXES. There is one important ones that affects + * functionality, and then a few definitions that you can optimise + * for efficiency but those have no effect on the functionality. + * Don't change anything else. + * - Put the code in your project and compile it. + * + * To use this library you should: + * - Call Twofish_initialise() in your program before any other function in + * this library. + * - Use Twofish_prepare_key(...) to convert a key to internal form. + * - Use Twofish_encrypt(...) and Twofish_decrypt(...) to encrypt and decrypt + * data. + * See the comments in the header file for details on these functions. + * -------------------------------------------------------------------------- + * + * There are many Twofish implementation available for free on the web. + * Most of them are hard to integrate into your own program. + * As we like people to use our cipher, I thought I would make it easier. + * Here is a free and easy-to-integrate Twofish implementation in C. + * The latest version is always available from my personal home page at + * http://niels.ferguson.net/ + * + * Integrating library code into a project is difficult because the library + * header files interfere with the project's header files and code. + * And of course the project's header files interfere with the library code. + * I've tried to resolve these problems here. + * The header file of this implementation is very light-weight. + * It contains two typedefs, a structure, and a few function declarations. + * All names it defines start with "Twofish_". + * The header file is therefore unlikely to cause problems in your project. + * The code file of this implementation doesn't need to include the header + * files of the project. There is thus no danger of the project interfering + * with all the definitions and macros of the Twofish code. + * In most situations, all you need to do is fill in a few platform-specific + * definitions in the header file and code file, + * and you should be able to run the Twofish code in your project. + * I estimate it should take you less than an hour to integrate this code + * into your project, most of it spent reading the comments telling you what + * to do. + * + * For people using C++: it is very easy to wrap this library into a + * TwofishKey class. One of the big advantages is that you can automate the + * wiping of the key material in the destructor. I have not provided a C++ + * class because the interface depends too much on the abstract base class + * you use for block ciphers in your program, which I don't know about. + * + * This implementation is designed for use on PC-class machines. It uses the + * Twofish 'full' keying option which uses large tables. Total table size is + * around 5-6 kB for static tables plus 4.5 kB for each pre-processed key. + * If you need an implementation that uses less memory, + * take a look at Brian Gladman's code on his web site: + * http://fp.gladman.plus.com/cryptography_technology/aes/ + * He has code for all AES candidates. + * His Twofish code has lots of options trading off table size vs. speed. + * You can also take a look at the optimised code by Doug Whiting on the + * Twofish web site + * http://www.counterpane.com/twofish.html + * which has loads of options. + * I believe these existing implementations are harder to re-use because they + * are not clean libraries and they impose requirements on the environment. + * This implementation is very careful to minimise those, + * and should be easier to integrate into any larger program. + * + * The default mode of this implementation is fully portable as it uses no + * behaviour not defined in the C standard. (This is harder than you think.) + * If you have any problems porting the default mode, please let me know + * so that I can fix the problem. (But only if this code is at fault, I + * don't fix compilers.) + * Most of the platform fixes are related to non-portable but faster ways + * of implementing certain functions. + * + * In general I've tried to make the code as fast as possible, at the expense + * of memory and code size. However, C does impose limits, and this + * implementation will be slower than an optimised assembler implementation. + * But beware of assembler implementations: a good Pentium implementation + * uses completely different code than a good Pentium II implementation. + * You basically have to re-write the assembly code for every generation of + * processor. Unless you are severely pressed for speed, stick with C. + * + * The initialisation routine of this implementation contains a self-test. + * If initialisation succeeds without calling the fatal routine, then + * the implementation works. I don't think you can break the implementation + * in such a way that it still passes the tests, unless you are malicious. + * In other words: if the initialisation routine returns, + * you have successfully ported the implementation. + * (Or not implemented the fatal routine properly, but that is your problem.) + * + * I'm indebted to many people who helped me in one way or another to write + * this code. During the design of Twofish and the AES process I had very + * extensive discussions of all implementation issues with various people. + * Doug Whiting in particular provided a wealth of information. The Twofish + * team spent untold hours discussion various cipher features, and their + * implementation. Brian Gladman implemented all AES candidates in C, + * and we had some fruitful discussions on how to implement Twofish in C. + * Jan Nieuwenhuizen tested this code on Linux using GCC. + * + * Now for the license: + * The author hereby grants a perpetual license to everybody to + * use this code for any purpose as long as the copyright message is included + * in the source code of this or any derived work. + * + * Yes, this means that you, your company, your club, and anyone else + * can use this code anywhere you want. You can change it and distribute it + * under the GPL, include it in your commercial product without releasing + * the source code, put it on the web, etc. + * The only thing you cannot do is remove my copyright message, + * or distribute any source code based on this implementation that does not + * include my copyright message. + * + * I appreciate a mention in the documentation or credits, + * but I understand if that is difficult to do. + * I also appreciate it if you tell me where and why you used my code. + * + * Please send any questions or comments to niels@ferguson.net + * + * Have Fun! + * + * Niels + */ + +/* + * DISCLAIMER: As I'm giving away my work for free, I'm of course not going + * to accept any liability of any form. This code, or the Twofish cipher, + * might very well be flawed; you have been warned. + * This software is provided as-is, without any kind of warrenty or + * guarantee. And that is really all you can expect when you download + * code for free from the Internet. + * + * I think it is really sad that disclaimers like this seem to be necessary. + * If people only had a little bit more common sense, and didn't come + * whining like little children every time something happens.... + */ + +/* + * Version history: + * Version 0.0, 2002-08-30 + * First written. + * Version 0.1, 2002-09-03 + * Added disclaimer. Improved self-tests. + * Version 0.2, 2002-09-09 + * Removed last non-portabilities. Default now works completely within + * the C standard. UInt32 can be larger than 32 bits without problems. + * Version 0.3, 2002-09-28 + * Bugfix: use instead of to adhere to ANSI/ISO. + * Rename BIG_ENDIAN macro to CPU_IS_BIG_ENDIAN. The gcc library + * header already defines BIG_ENDIAN, even though it is not + * supposed to. + */ + + +/* + * Minimum set of include files. + * You should not need any application-specific include files for this code. + * In fact, adding you own header files could break one of the many macros or + * functions in this file. Be very careful. + * Standard include files will probably be ok. + */ + +#include /* for memset(), memcpy(), and memcmp() */ +#include +#include "twofish.h" + + +/* + * PLATFORM FIXES + * ============== + * + * Fix the type definitions in twofish.h first! + * + * The following definitions have to be fixed for each particular platform + * you work on. If you have a multi-platform program, you no doubt have + * portable definitions that you can substitute here without changing the + * rest of the code. + */ + + +/* + * Function called if something is fatally wrong with the implementation. + * This fatal function is called when a coding error is detected in the + * Twofish implementation, or when somebody passes an obviously erroneous + * parameter to this implementation. There is not much you can do when + * the code contains bugs, so we just stop. + * + * The argument is a string. Ideally the fatal function prints this string + * as an error message. Whatever else this function does, it should never + * return. A typical implementation would stop the program completely after + * printing the error message. + * + * This default implementation is not very useful, + * but does not assume anything about your environment. + * It will at least let you know something is wrong.... + * I didn't want to include any libraries to print and error or so, + * as this makes the code much harder to integrate in a project. + * + * Note that the Twofish_fatal function may not return to the caller. + * Unfortunately this is not something the self-test can test for, + * so you have to make sure of this yourself. + * + * If you want to call an external function, be careful about including + * your own header files here. This code uses a lot of macros, and your + * header file could easily break it. Maybe the best solution is to use + * a separate extern statement for your fatal function. + */ + +//#define Twofish_fatal(pmsgx) { MessageBox(GetDesktopWindow(), _T(pmsgx), _T("Twofish Fatal Error"), MB_OK); } + + +/* + * The rest of the settings are not important for the functionality + * of this Twofish implementation. That is, their default settings + * work on all platforms. You can change them to improve the + * speed of the implementation on your platform. Erroneous settings + * will result in erroneous implementations, but the self-test should + * catch those. + */ + + +/* + * Macros to rotate a Twofish_UInt32 value left or right by the + * specified number of bits. This should be a 32-bit rotation, + * and not rotation of, say, 64-bit values. + * + * Every encryption or decryption operation uses 32 of these rotations, + * so it is a good idea to make these macros efficient. + * + * This fully portable definition has one piece of tricky stuff. + * The UInt32 might be larger than 32 bits, so we have to mask + * any higher bits off. The simplest way to do this is to 'and' the + * value first with 0xffffffff and then shift it right. An optimising + * compiler that has a 32-bit type can optimise this 'and' away. + * + * Unfortunately there is no portable way of writing the constant + * 0xffffffff. You don't know which suffix to use (U, or UL?) + * The quint32_MASK definition uses a bit of trickery. Shift-left + * is only defined if the shift amount is strictly less than the size + * of the UInt32, so we can't use (1<<32). The answer it to take the value + * 2, cast it to a UInt32, shift it left 31 positions, and subtract one. + * Another example of how to make something very simple extremely difficult. + * I hate C. + * + * The rotation macros are straightforward. + * They are only applied to UInt32 values, which are _unsigned_ + * so the >> operator must do a logical shift that brings in zeroes. + * On most platforms you will only need to optimise the ROL32 macro; the + * ROR32 macro is not inefficient on an optimising compiler as all rotation + * amounts in this code are known at compile time. + * + * On many platforms there is a faster solution. + * For example, MS compilers have the __rotl and __rotr functions + * that generate x86 rotation instructions. + */ +#define quint32_MASK ( (((Twofish_UInt32)2)<<31) - 1 ) + +#ifndef _MSC_VER +#define ROL32(x,n) ( (x)<<(n) | ((x) & quint32_MASK) >> (32-(n)) ) +#define ROR32(x,n) ( (x)>>(n) | ((x) & quint32_MASK) << (32-(n)) ) +#else +#define ROL32(x,n) (_lrotl((x), (n))) +#define ROR32(x,n) (_lrotr((x), (n))) +#endif + +/* + * Select data type for q-table entries. + * + * Larger entry types cost more memory (1.5 kB), and might be faster + * or slower depending on the CPU and compiler details. + * + * This choice only affects the static data size and the key setup speed. + * Functionality, expanded key size, or encryption speed are not affected. + * Define to 1 to get large q-table entries. + */ +#define LARGE_Q_TABLE 0 /* default = 0 */ + + +/* + * Method to select a single byte from a UInt32. + * WARNING: non-portable code if set; might not work on all platforms. + * + * Inside the inner loop of Twofish it is necessary to access the 4 + * individual bytes of a UInt32. This can be done using either shifts + * and masks, or memory accesses. + * + * Set to 0 to use shift and mask operations for the byte selection. + * This is more ALU intensive. It is also fully portable. + * + * Set to 1 to use memory accesses. The UInt32 is stored in memory and + * the individual bytes are read from memory one at a time. + * This solution is more memory-intensive, and not fully portable. + * It might be faster on your platform, or not. If you use this option, + * make sure you set the CPU_IS_BIG_ENDIAN flag appropriately. + * + * This macro does not affect the conversion of the inputs and outputs + * of the cipher. See the CONVERT_USING_CASTS macro for that. + */ +#define SELECT_BYTE_FROM_quint32_IN_MEMORY 0 /* default = 0 */ + + +/* + * Method used to read the input and write the output. + * WARNING: non-portable code if set; might not work on all platforms. + * + * Twofish operates on 32-bit words. The input to the cipher is + * a byte array, as is the output. The portable method of doing the + * conversion is a bunch of rotate and mask operations, but on many + * platforms it can be done faster using a cast. + * This only works if your CPU allows UInt32 accesses to arbitrary Byte + * addresses. + * + * Set to 0 to use the shift and mask operations. This is fully + * portable. . + * + * Set to 1 to use a cast. The Byte * is cast to a UInt32 *, and a + * UInt32 is read. If necessary (as indicated by the CPU_IS_BIG_ENDIAN + * macro) the byte order in the UInt32 is swapped. The reverse is done + * to write the output of the encryption/decryption. Make sure you set + * the CPU_IS_BIG_ENDIAN flag appropriately. + * This option does not work unless a UInt32 is exactly 32 bits. + * + * This macro only changes the reading/writing of the plaintext/ciphertext. + * See the SELECT_BYTE_FROM_quint32_IN_MEMORY to affect the way in which + * a UInt32 is split into 4 bytes for the S-box selection. + */ +#define CONVERT_USING_CASTS 0 /* default = 0 */ + + +/* + * Endianness switch. + * Only relevant if SELECT_BYTE_FROM_quint32_IN_MEMORY or + * CONVERT_USING_CASTS is set. + * + * Set to 1 on a big-endian machine, and to 0 on a little-endian machine. + * Twofish uses the little-endian convention (least significant byte first) + * and big-endian machines (using most significant byte first) + * have to do a few conversions. + * + * CAUTION: This code has never been tested on a big-endian machine, + * because I don't have access to one. Feedback appreciated. + */ +#define CPU_IS_BIG_ENDIAN 0 + + +/* + * Macro to reverse the order of the bytes in a UInt32. + * Used to convert to little-endian on big-endian machines. + * This macro is always tested, but only used in the encryption and + * decryption if CONVERT_USING_CASTS, and CPU_IS_BIG_ENDIAN + * are both set. In other words: this macro is only speed-critical if + * both these flags have been set. + * + * This default definition of SWAP works, but on many platforms there is a + * more efficient implementation. + */ +#define BSWAP(x) ( (ROL32((x),8) & 0x00ff00ff) | (ROR32((x),8) & 0xff00ff00) ) + + +/* + * END OF PLATFORM FIXES + * ===================== + * + * You should not have to touch the rest of this file. + */ + + +/* + * Convert the external type names to some that are easier to use inside + * this file. I didn't want to use the names Byte and UInt32 in the + * header file, because many programs already define them and using two + * conventions at once can be very difficult. + * Don't change these definitions! Change the originals + * in twofish.h instead. + */ +/* A Byte must be an unsigned integer, 8 bits long. */ +// typedef Twofish_Byte Byte; +/* A UInt32 must be an unsigned integer at least 32 bits long. */ +// typedef Twofish_UInt32 UInt32; + + +/* + * Define a macro ENDIAN_CONVERT. + * + * We define a macro ENDIAN_CONVERT that performs a BSWAP on big-endian + * machines, and is the identity function on little-endian machines. + * The code then uses this macro without considering the endianness. + */ + +#if CPU_IS_BIG_ENDIAN +#define ENDIAN_CONVERT(x) BSWAP(x) +#else +#define ENDIAN_CONVERT(x) (x) +#endif + + +/* + * Compute byte offset within a UInt32 stored in memory. + * + * This is only used when SELECT_BYTE_FROM_quint32_IN_MEMORY is set. + * + * The input is the byte number 0..3, 0 for least significant. + * Note the use of sizeof() to support UInt32 types that are larger + * than 4 bytes. + */ +#if CPU_IS_BIG_ENDIAN +#define BYTE_OFFSET( n ) (sizeof(Twofish_UInt32) - 1 - (n) ) +#else +#define BYTE_OFFSET( n ) (n) +#endif + + +/* + * Macro to get Byte no. b from UInt32 value X. + * We use two different definition, depending on the settings. + */ +#if SELECT_BYTE_FROM_quint32_IN_MEMORY + /* Pick the byte from the memory in which X is stored. */ +#define SELECT_BYTE( X, b ) (((Twofish_Byte *)(&(X)))[BYTE_OFFSET(b)]) +#else + /* Portable solution: Pick the byte directly from the X value. */ +#define SELECT_BYTE( X, b ) (((X) >> (8*(b))) & 0xff) +#endif + + +/* Some shorthands because we use byte selection in large formulae. */ +#define b0(X) SELECT_BYTE((X),0) +#define b1(X) SELECT_BYTE((X),1) +#define b2(X) SELECT_BYTE((X),2) +#define b3(X) SELECT_BYTE((X),3) + + +/* + * We need macros to load and store UInt32 from/to byte arrays + * using the least-significant-byte-first convention. + * + * GET32( p ) gets a UInt32 in lsb-first form from four bytes pointed to + * by p. + * PUT32( v, p ) writes the UInt32 value v at address p in lsb-first form. + */ +#if CONVERT_USING_CASTS + + /* Get UInt32 from four bytes pointed to by p. */ +#define GET32( p ) ENDIAN_CONVERT( *((Twofish_UInt32 *)(p)) ) + /* Put UInt32 into four bytes pointed to by p */ +#define PUT32( v, p ) *((Twofish_UInt32 *)(p)) = ENDIAN_CONVERT(v) + +#else + + /* Get UInt32 from four bytes pointed to by p. */ +#define GET32( p ) \ + ( \ + (Twofish_UInt32)((p)[0]) \ + | (Twofish_UInt32)((p)[1])<< 8 \ + | (Twofish_UInt32)((p)[2])<<16 \ + | (Twofish_UInt32)((p)[3])<<24 \ + ) + /* Put UInt32 into four bytes pointed to by p */ +#define PUT32( v, p ) \ + (p)[0] = (Twofish_Byte)(((v) ) & 0xff); \ + (p)[1] = (Twofish_Byte)(((v) >> 8) & 0xff); \ + (p)[2] = (Twofish_Byte)(((v) >> 16) & 0xff); \ + (p)[3] = (Twofish_Byte)(((v) >> 24) & 0xff) + +#endif + + +//void Twofish_fatal(const char* msg){ +// +// exit(-1) +// qFatal("Twofish: Fatal Error: %s", msg); +//} + + + +/* + * Test the platform-specific macros. + * This function tests the macros defined so far to make sure the + * definitions are appropriate for this platform. + * If you make any mistake in the platform configuration, this should detect + * that and inform you what went wrong. + * Somewhere, someday, this is going to save somebody a lot of time, + * because misbehaving macros are hard to debug. + */ +static int test_platform() { + /* Buffer with test values. */ + Twofish_Byte buf[] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0}; + Twofish_UInt32 C; + Twofish_UInt32 x,y; + int i; + + /* + * Some sanity checks on the types that can't be done in compile time. + * A smart compiler will just optimise these tests away. + * The pre-processor doesn't understand different types, so we cannot + * do these checks in compile-time. + * + * I hate C. + * + * The first check in each case is to make sure the size is correct. + * The second check is to ensure that it is an unsigned type. + */ + if( ((Twofish_UInt32)((Twofish_UInt32)1 << 31) == 0) || ((Twofish_UInt32)-1 < 0 )) { + return TWOFISH_ERROR_PLATFORM_UNSUITABLE_UINT32; + // Twofish_fatal( "Twofish code: Twofish_UInt32 type not suitable" ); + } + if( (sizeof( Twofish_Byte ) != 1) || (((Twofish_Byte)-1) < 0) ) { + return TWOFISH_ERROR_PLATFORM_UNSUITABLE_BYTE; + // Twofish_fatal( "Twofish code: Twofish_Byte type not suitable" ); + } + + /* + * Sanity-check the endianness conversions. + * This is just an aid to find problems. If you do the endianness + * conversion macros wrong you will fail the full cipher test, + * but that does not help you find the error. + * Always make it easy to find the bugs! + * + * Detail: There is no fully portable way of writing UInt32 constants, + * as you don't know whether to use the U or UL suffix. Using only U you + * might only be allowed 16-bit constants. Using UL you might get 64-bit + * constants which cannot be stored in a UInt32 without warnings, and + * which generally behave subtly different from a true UInt32. + * As long as we're just comparing with the constant, + * we can always use the UL suffix and at worst lose some efficiency. + * I use a separate '32-bit constant' macro in most of my other code. + * + * I hate C. + * + * Start with testing GET32. We test it on all positions modulo 4 + * to make sure we can handly any position of inputs. (Some CPUs + * do not allow non-aligned accesses which we would do if you used + * the CONVERT_USING_CASTS option. + */ + if( (GET32( buf ) != 0x78563412UL) || (GET32(buf+1) != 0x9a785634UL) + || (GET32( buf+2 ) != 0xbc9a7856UL) || (GET32(buf+3) != 0xdebc9a78UL) ) { + return TWOFISH_ERROR_PLATFORM_GET32_IMPLEMENTED_IMPROPERLY; + // Twofish_fatal( "Twofish code: GET32 not implemented properly" ); + } + + /* + * We can now use GET32 to test PUT32. + * We don't test the shifted versions. If GET32 can do that then + * so should PUT32. + */ + C = GET32( buf ); + PUT32( 3*C, buf ); + if( GET32( buf ) != 0x69029c36UL ) { + return TWOFISH_ERROR_PLATFORM_PUT32_IMPLEMENTED_IMPROPERLY; + // Twofish_fatal( "Twofish code: PUT32 not implemented properly" ); + } + + + /* Test ROL and ROR */ + for( i=1; i<32; i++ ) { + /* Just a simple test. */ + x = ROR32( C, i ); + y = ROL32( C, i ); + x ^= (C>>i) ^ (C<<(32-i)); + y ^= (C<>(32-i)); + x |= y; + /* + * Now all we check is that x is zero in the least significant + * 32 bits. Using the UL suffix is safe here, as it doesn't matter + * if we get a larger type. + */ + if( (x & 0xffffffffUL) != 0 ) { + return TWOFISH_ERROR_PLATFORM_ROL_ROR_IMPLEMENTED_IMPROPERLY; + // Twofish_fatal( "Twofish ROL or ROR not properly defined." ); + } + } + + /* Test the BSWAP macro */ + if( BSWAP(C) != 0x12345678UL ) { + /* + * The BSWAP macro should always work, even if you are not using it. + * A smart optimising compiler will just remove this entire test. + */ + return TWOFISH_ERROR_PLATFORM_BSWAP_UNDEFINED; + // Twofish_fatal( "BSWAP not properly defined." ); + } + + /* And we can test the b macros which use SELECT_BYTE. */ + if( (b0(C)!=0x12) || (b1(C) != 0x34) || (b2(C) != 0x56) || (b3(C) != 0x78) ) { + /* + * There are many reasons why this could fail. + * Most likely is that CPU_IS_BIG_ENDIAN has the wrong value. + */ + return TWOFISH_ERROR_PLATFORM_SELECT_BYTE_TEST_IMPLEMENTED_IMPROPERLY; + // Twofish_fatal( "Twofish code: SELECT_BYTE not implemented properly" ); + } + return TWOFISH_SUCCESS; +} + + +/* + * Finally, we can start on the Twofish-related code. + * You really need the Twofish specifications to understand this code. The + * best source is the Twofish book: + * "The Twofish Encryption Algorithm", by Bruce Schneier, John Kelsey, + * Doug Whiting, David Wagner, Chris Hall, and Niels Ferguson. + * you can also use the AES submission document of Twofish, which is + * available from my list of publications on my personal web site at + * http://niels.ferguson.net/. + * + * The first thing we do is write the testing routines. This is what the + * implementation has to satisfy in the end. We only test the external + * behaviour of the implementation of course. + */ + + +/* + * Perform a single self test on a (plaintext,ciphertext,key) triple. + * Arguments: + * key array of key bytes + * key_len length of key in bytes + * p plaintext + * c ciphertext + */ +static int test_vector( Twofish_Byte key[], int key_len, Twofish_Byte p[16], Twofish_Byte c[16] ) { + Twofish_Byte tmp[16]; /* scratch pad. */ + Twofish_key xkey; /* The expanded key */ + int i; + + /* Prepare the key */ + if (int err = Twofish_prepare_key( key, key_len, &xkey )) return err; + + /* + * We run the test twice to ensure that the xkey structure + * is not damaged by the first encryption. + * Those are hideous bugs to find if you get them in an application. + */ + for( i=0; i<2; i++ ) { + /* Encrypt and test */ + Twofish_encrypt( &xkey, p, tmp ); + if( memcmp( c, tmp, 16 ) != 0 ) { + return TWOFISH_ERROR_TEST_ENCRYPTION_FAIL; + // Twofish_fatal( "Twofish test encryption failure" ); + } + + /* Decrypt and test */ + Twofish_decrypt( &xkey, c, tmp ); + if( memcmp( p, tmp, 16 ) != 0 ) { + return TWOFISH_ERROR_TEST_DECRYPTION_FAIL; + // Twofish_fatal( "Twofish test decryption failure" ); + } + } + + /* The test keys are not secret, so we don't need to wipe xkey. */ + return TWOFISH_SUCCESS; +} + + +/* + * Check implementation using three (key,plaintext,ciphertext) + * test vectors, one for each major key length. + * + * This is an absolutely minimal self-test. + * This routine does not test odd-sized keys. + */ +static int test_vectors() { + /* + * We run three tests, one for each major key length. + * These test vectors come from the Twofish specification. + * One encryption and one decryption using randomish data and key + * will detect almost any error, especially since we generate the + * tables ourselves, so we don't have the problem of a single + * damaged table entry in the source. + */ + + /* 128-bit test is the I=3 case of section B.2 of the Twofish book. */ + static Twofish_Byte k128[] = { + 0x9F, 0x58, 0x9F, 0x5C, 0xF6, 0x12, 0x2C, 0x32, + 0xB6, 0xBF, 0xEC, 0x2F, 0x2A, 0xE8, 0xC3, 0x5A, + }; + static Twofish_Byte p128[] = { + 0xD4, 0x91, 0xDB, 0x16, 0xE7, 0xB1, 0xC3, 0x9E, + 0x86, 0xCB, 0x08, 0x6B, 0x78, 0x9F, 0x54, 0x19 + }; + static Twofish_Byte c128[] = { + 0x01, 0x9F, 0x98, 0x09, 0xDE, 0x17, 0x11, 0x85, + 0x8F, 0xAA, 0xC3, 0xA3, 0xBA, 0x20, 0xFB, 0xC3 + }; + + /* 192-bit test is the I=4 case of section B.2 of the Twofish book. */ + static Twofish_Byte k192[] = { + 0x88, 0xB2, 0xB2, 0x70, 0x6B, 0x10, 0x5E, 0x36, + 0xB4, 0x46, 0xBB, 0x6D, 0x73, 0x1A, 0x1E, 0x88, + 0xEF, 0xA7, 0x1F, 0x78, 0x89, 0x65, 0xBD, 0x44 + }; + static Twofish_Byte p192[] = { + 0x39, 0xDA, 0x69, 0xD6, 0xBA, 0x49, 0x97, 0xD5, + 0x85, 0xB6, 0xDC, 0x07, 0x3C, 0xA3, 0x41, 0xB2 + }; + static Twofish_Byte c192[] = { + 0x18, 0x2B, 0x02, 0xD8, 0x14, 0x97, 0xEA, 0x45, + 0xF9, 0xDA, 0xAC, 0xDC, 0x29, 0x19, 0x3A, 0x65 + }; + + /* 256-bit test is the I=4 case of section B.2 of the Twofish book. */ + static Twofish_Byte k256[] = { + 0xD4, 0x3B, 0xB7, 0x55, 0x6E, 0xA3, 0x2E, 0x46, + 0xF2, 0xA2, 0x82, 0xB7, 0xD4, 0x5B, 0x4E, 0x0D, + 0x57, 0xFF, 0x73, 0x9D, 0x4D, 0xC9, 0x2C, 0x1B, + 0xD7, 0xFC, 0x01, 0x70, 0x0C, 0xC8, 0x21, 0x6F + }; + static Twofish_Byte p256[] = { + 0x90, 0xAF, 0xE9, 0x1B, 0xB2, 0x88, 0x54, 0x4F, + 0x2C, 0x32, 0xDC, 0x23, 0x9B, 0x26, 0x35, 0xE6 + }; + static Twofish_Byte c256[] = { + 0x6C, 0xB4, 0x56, 0x1C, 0x40, 0xBF, 0x0A, 0x97, + 0x05, 0x93, 0x1C, 0xB6, 0xD4, 0x08, 0xE7, 0xFA + }; + + /* Run the actual tests. */ + if (int err = test_vector( k128, 16, p128, c128 )) return err; + if (int err = test_vector( k192, 24, p192, c192 )) return err; + if (int err = test_vector( k256, 32, p256, c256 )) return err; + + return TWOFISH_SUCCESS; +} + + +/* + * Perform extensive test for a single key size. + * + * Test a single key size against the test vectors from section + * B.2 in the Twofish book. This is a sequence of 49 encryptions + * and decryptions. Each plaintext is equal to the ciphertext of + * the previous encryption. The key is made up from the ciphertext + * two and three encryptions ago. Both plaintext and key start + * at the zero value. + * We should have designed a cleaner recurrence relation for + * these tests, but it is too late for that now. At least we learned + * how to do it better next time. + * For details see appendix B of the book. + * + * Arguments: + * key_len Number of bytes of key + * final_value Final plaintext value after 49 iterations + */ +static int test_sequence( int key_len, Twofish_Byte final_value[] ) { + Twofish_Byte buf[ (50+3)*16 ]; /* Buffer to hold our computation values. */ + Twofish_Byte tmp[16]; /* Temp for testing the decryption. */ + Twofish_key xkey; /* The expanded key */ + int i; + Twofish_Byte * p; + + /* Wipe the buffer */ + memset( buf, 0, sizeof( buf ) ); + + /* + * Because the recurrence relation is done in an inconvenient manner + * we end up looping backwards over the buffer. + */ + + /* Pointer in buffer points to current plaintext. */ + p = &buf[50*16]; + for( i=1; i<50; i++ ) { + /* + * Prepare a key. + * This automatically checks that key_len is valid. + */ + if (int err = Twofish_prepare_key( p+16, key_len, &xkey )) return err; + + /* Compute the next 16 bytes in the buffer */ + Twofish_encrypt( &xkey, p, p-16 ); + + /* Check that the decryption is correct. */ + Twofish_decrypt( &xkey, p-16, tmp ); + if( memcmp( tmp, p, 16 ) != 0 ) { + return TWOFISH_ERROR_TEST_SEQUENCE_DECRYPTION; + // Twofish_fatal( "Twofish decryption failure in sequence" ); + } + /* Move on to next 16 bytes in the buffer. */ + p -= 16; + } + + /* And check the final value. */ + if( memcmp( p, final_value, 16 ) != 0 ) { + return TWOFISH_ERROR_TEST_SEQUENCE_ENCRYPTION; + // Twofish_fatal( "Twofish encryption failure in sequence" ); + } + + /* None of the data was secret, so there is no need to wipe anything. */ + return TWOFISH_SUCCESS; +} + + +/* + * Run all three sequence tests from the Twofish test vectors. + * + * This checks the most extensive test vectors currently available + * for Twofish. The data is from the Twofish book, appendix B.2. + */ +static int test_sequences() { + static Twofish_Byte r128[] = { + 0x5D, 0x9D, 0x4E, 0xEF, 0xFA, 0x91, 0x51, 0x57, + 0x55, 0x24, 0xF1, 0x15, 0x81, 0x5A, 0x12, 0xE0 + }; + static Twofish_Byte r192[] = { + 0xE7, 0x54, 0x49, 0x21, 0x2B, 0xEE, 0xF9, 0xF4, + 0xA3, 0x90, 0xBD, 0x86, 0x0A, 0x64, 0x09, 0x41 + }; + static Twofish_Byte r256[] = { + 0x37, 0xFE, 0x26, 0xFF, 0x1C, 0xF6, 0x61, 0x75, + 0xF5, 0xDD, 0xF4, 0xC3, 0x3B, 0x97, 0xA2, 0x05 + }; + + /* Run the three sequence test vectors */ + if (int err = test_sequence( 16, r128 )) return err; + if (int err = test_sequence( 24, r192 )) return err; + if (int err = test_sequence( 32, r256 )) return err; + + return TWOFISH_SUCCESS; +} + + +/* + * Test the odd-sized keys. + * + * Every odd-sized key is equivalent to a one of 128, 192, or 256 bits. + * The equivalent key is found by padding at the end with zero bytes + * until a regular key size is reached. + * + * We just test that the key expansion routine behaves properly. + * If the expanded keys are identical, then the encryptions and decryptions + * will behave the same. + */ +static int test_odd_sized_keys() { + Twofish_Byte buf[32]; + Twofish_key xkey; + Twofish_key xkey_two; + int i; + + /* + * We first create an all-zero key to use as PRNG key. + * Normally we would not have to fill the buffer with zeroes, as we could + * just pass a zero key length to the Twofish_prepare_key function. + * However, this relies on using odd-sized keys, and those are just the + * ones we are testing here. We can't use an untested function to test + * itself. + */ + memset( buf, 0, sizeof( buf ) ); + if (int err = Twofish_prepare_key( buf, 16, &xkey )) return err; + + /* Fill buffer with pseudo-random data derived from two encryptions */ + Twofish_encrypt( &xkey, buf, buf ); + Twofish_encrypt( &xkey, buf, buf+16 ); + + /* Create all possible shorter keys that are prefixes of the buffer. */ + for( i=31; i>=0; i-- ) { + /* Set a byte to zero. This is the new padding byte */ + buf[i] = 0; + + /* Expand the key with only i bytes of length */ + if (int err = Twofish_prepare_key( buf, i, &xkey )) return err; + + /* Expand the corresponding padded key of regular length */ + int err = Twofish_prepare_key( buf, i<=16 ? 16 : (i<= 24 ? 24 : 32), &xkey_two ); + if (err) return err; + + /* Compare the two */ + if( memcmp( &xkey, &xkey_two, sizeof( xkey ) ) != 0 ) { + return TWOFISH_ERROR_TEST_ODD_SIZED_KEYS; + // Twofish_fatal( "Odd sized keys do not expand properly" ); + } + } + + /* None of the key values are secret, so we don't need to wipe them. */ + return TWOFISH_SUCCESS; +} + + +/* + * Test the Twofish implementation. + * + * This routine runs all the self tests, in order of importance. + * It is called by the Twofish_initialise routine. + * + * In almost all applications the cost of running the self tests during + * initialisation is insignificant, especially + * compared to the time it takes to load the application from disk. + * If you are very pressed for initialisation performance, + * you could remove some of the tests. Make sure you did run them + * once in the software and hardware configuration you are using. + */ +static int self_test() { + /* The three test vectors form an absolute minimal test set. */ + if (int err = test_vectors()) return err; + + /* + * If at all possible you should run these tests too. They take + * more time, but provide a more thorough coverage. + */ + if (int err = test_sequences()) return err; + + /* Test the odd-sized keys. */ + if (int err = test_odd_sized_keys()) return err; + + return TWOFISH_SUCCESS; +} + + +/* + * And now, the actual Twofish implementation. + * + * This implementation generates all the tables during initialisation. + * I don't like large tables in the code, especially since they are easily + * damaged in the source without anyone noticing it. You need code to + * generate them anyway, and this way all the code is close together. + * Generating them in the application leads to a smaller executable + * (the code is smaller than the tables it generates) and a + * larger static memory footprint. + * + * Twofish can be implemented in many ways. I have chosen to + * use large tables with a relatively long key setup time. + * If you encrypt more than a few blocks of data it pays to pre-compute + * as much as possible. This implementation is relatively inefficient for + * applications that need to re-key every block or so. + */ + +/* + * We start with the t-tables, directly from the Twofish definition. + * These are nibble-tables, but merging them and putting them two nibbles + * in one byte is more work than it is worth. + */ +static Twofish_Byte t_table[2][4][16] = { + { + {0x8,0x1,0x7,0xD,0x6,0xF,0x3,0x2,0x0,0xB,0x5,0x9,0xE,0xC,0xA,0x4}, + {0xE,0xC,0xB,0x8,0x1,0x2,0x3,0x5,0xF,0x4,0xA,0x6,0x7,0x0,0x9,0xD}, + {0xB,0xA,0x5,0xE,0x6,0xD,0x9,0x0,0xC,0x8,0xF,0x3,0x2,0x4,0x7,0x1}, + {0xD,0x7,0xF,0x4,0x1,0x2,0x6,0xE,0x9,0xB,0x3,0x0,0x8,0x5,0xC,0xA} + }, + { + {0x2,0x8,0xB,0xD,0xF,0x7,0x6,0xE,0x3,0x1,0x9,0x4,0x0,0xA,0xC,0x5}, + {0x1,0xE,0x2,0xB,0x4,0xC,0x3,0x7,0x6,0xD,0xA,0x5,0xF,0x9,0x0,0x8}, + {0x4,0xC,0x7,0x5,0x1,0x6,0x9,0xA,0x0,0xE,0xD,0x8,0x2,0xB,0x3,0xF}, + {0xB,0x9,0x5,0x1,0xC,0x3,0xD,0xE,0x6,0x4,0x7,0xF,0x2,0x0,0x8,0xA} + } +}; + + +/* A 1-bit rotation of 4-bit values. Input must be in range 0..15 */ +#define ROR4BY1( x ) (((x)>>1) | (((x)<<3) & 0x8) ) + +/* + * The q-boxes are only used during the key schedule computations. + * These are 8->8 bit lookup tables. Some CPUs prefer to have 8->32 bit + * lookup tables as it is faster to load a 32-bit value than to load an + * 8-bit value and zero the rest of the register. + * The LARGE_Q_TABLE switch allows you to choose 32-bit entries in + * the q-tables. Here we just define the Qtype which is used to store + * the entries of the q-tables. + */ +#if LARGE_Q_TABLE +typedef Twofish_UInt32 Qtype; +#else +typedef Twofish_Byte Qtype; +#endif + +/* + * The actual q-box tables. + * There are two q-boxes, each having 256 entries. + */ +static Qtype q_table[2][256]; + + +/* + * Now the function that converts a single t-table into a q-table. + * + * Arguments: + * t[4][16] : four 4->4bit lookup tables that define the q-box + * q[256] : output parameter: the resulting q-box as a lookup table. + */ +static void make_q_table( Twofish_Byte t[4][16], Qtype q[256] ) + { + int ae,be,ao,bo; /* Some temporaries. */ + int i; + /* Loop over all input values and compute the q-box result. */ + for( i=0; i<256; i++ ) { + /* + * This is straight from the Twofish specifications. + * + * The ae variable is used for the a_i values from the specs + * with even i, and ao for the odd i's. Similarly for the b's. + */ + ae = i>>4; be = i&0xf; + ao = ae ^ be; bo = ae ^ ROR4BY1(be) ^ ((ae<<3)&8); + ae = t[0][ao]; be = t[1][bo]; + ao = ae ^ be; bo = ae ^ ROR4BY1(be) ^ ((ae<<3)&8); + ae = t[2][ao]; be = t[3][bo]; + + /* Store the result in the q-box table, the cast avoids a warning. */ + q[i] = (Qtype) ((be<<4) | ae); + } + } + + +/* + * Initialise both q-box tables. + */ +static void initialise_q_boxes() { + /* Initialise each of the q-boxes using the t-tables */ + make_q_table( t_table[0], q_table[0] ); + make_q_table( t_table[1], q_table[1] ); + } + + +/* + * Next up is the MDS matrix multiplication. + * The MDS matrix multiplication operates in the field + * GF(2)[x]/p(x) with p(x)=x^8+x^6+x^5+x^3+1. + * If you don't understand this, read a book on finite fields. You cannot + * follow the finite-field computations without some background. + * + * In this field, multiplication by x is easy: shift left one bit + * and if bit 8 is set then xor the result with 0x169. + * + * The MDS coefficients use a multiplication by 1/x, + * or rather a division by x. This is easy too: first make the + * value 'even' (i.e. bit 0 is zero) by xorring with 0x169 if necessary, + * and then shift right one position. + * Even easier: shift right and xor with 0xb4 if the lsbit was set. + * + * The MDS coefficients are 1, EF, and 5B, and we use the fact that + * EF = 1 + 1/x + 1/x^2 + * 5B = 1 + 1/x^2 + * in this field. This makes multiplication by EF and 5B relatively easy. + * + * This property is no accident, the MDS matrix was designed to allow + * this implementation technique to be used. + * + * We have four MDS tables, each mapping 8 bits to 32 bits. + * Each table performs one column of the matrix multiplication. + * As the MDS is always preceded by q-boxes, each of these tables + * also implements the q-box just previous to that column. + */ + +/* The actual MDS tables. */ +static Twofish_UInt32 MDS_table[4][256]; + +/* A small table to get easy conditional access to the 0xb4 constant. */ +static Twofish_UInt32 mds_poly_divx_const[] = {0,0xb4}; + +/* Function to initialise the MDS tables. */ +static void initialise_mds_tables() + { + int i; + Twofish_UInt32 q,qef,q5b; /* Temporary variables. */ + + /* Loop over all 8-bit input values */ + for( i=0; i<256; i++ ) + { + /* + * To save some work during the key expansion we include the last + * of the q-box layers from the h() function in these MDS tables. + */ + + /* We first do the inputs that are mapped through the q0 table. */ + q = q_table[0][i]; + /* + * Here we divide by x, note the table to get 0xb4 only if the + * lsbit is set. + * This sets qef = (1/x)*q in the finite field + */ + qef = (q >> 1) ^ mds_poly_divx_const[ q & 1 ]; + /* + * Divide by x again, and add q to get (1+1/x^2)*q. + * Note that (1+1/x^2) = 5B in the field, and addition in the field + * is exclusive or on the bits. + */ + q5b = (qef >> 1) ^ mds_poly_divx_const[ qef & 1 ] ^ q; + /* + * Add q5b to qef to set qef = (1+1/x+1/x^2)*q. + * Again, (1+1/x+1/x^2) = EF in the field. + */ + qef ^= q5b; + + /* + * Now that we have q5b = 5B * q and qef = EF * q + * we can fill two of the entries in the MDS matrix table. + * See the Twofish specifications for the order of the constants. + */ + MDS_table[1][i] = (q <<24) | (q5b<<16) | (qef<<8) | qef; + MDS_table[3][i] = (q5b<<24) | (qef<<16) | (q <<8) | q5b; + + /* Now we do it all again for the two columns that have a q1 box. */ + q = q_table[1][i]; + qef = (q >> 1) ^ mds_poly_divx_const[ q & 1 ]; + q5b = (qef >> 1) ^ mds_poly_divx_const[ qef & 1 ] ^ q; + qef ^= q5b; + + /* The other two columns use the coefficient in a different order. */ + MDS_table[0][i] = (qef<<24) | (qef<<16) | (q5b<<8) | q ; + MDS_table[2][i] = (qef<<24) | (q <<16) | (qef<<8) | q5b; + } + } + + +/* + * The h() function is the heart of the Twofish cipher. + * It is a complicated sequence of q-box lookups, key material xors, + * and finally the MDS matrix. + * We use lots of macros to make this reasonably fast. + */ + +/* First a shorthand for the two q-tables */ +#define q0 q_table[0] +#define q1 q_table[1] + +/* + * Each macro computes one column of the h for either 2, 3, or 4 stages. + * As there are 4 columns, we have 12 macros in all. + * + * The key bytes are stored in the Byte array L at offset + * 0,1,2,3, 8,9,10,11, [16,17,18,19, [24,25,26,27]] as this is the + * order we get the bytes from the user. If you look at the Twofish + * specs, you'll see that h() is applied to the even key words or the + * odd key words. The bytes of the even words appear in this spacing, + * and those of the odd key words too. + * + * These macros are the only place where the q-boxes and the MDS table + * are used. + */ +#define H02( y, L ) MDS_table[0][q0[q0[y]^L[ 8]]^L[0]] +#define H12( y, L ) MDS_table[1][q0[q1[y]^L[ 9]]^L[1]] +#define H22( y, L ) MDS_table[2][q1[q0[y]^L[10]]^L[2]] +#define H32( y, L ) MDS_table[3][q1[q1[y]^L[11]]^L[3]] +#define H03( y, L ) H02( q1[y]^L[16], L ) +#define H13( y, L ) H12( q1[y]^L[17], L ) +#define H23( y, L ) H22( q0[y]^L[18], L ) +#define H33( y, L ) H32( q0[y]^L[19], L ) +#define H04( y, L ) H03( q1[y]^L[24], L ) +#define H14( y, L ) H13( q0[y]^L[25], L ) +#define H24( y, L ) H23( q0[y]^L[26], L ) +#define H34( y, L ) H33( q1[y]^L[27], L ) + +/* + * Now we can define the h() function given an array of key bytes. + * This function is only used in the key schedule, and not to pre-compute + * the keyed S-boxes. + * + * In the key schedule, the input is always of the form k*(1+2^8+2^16+2^24) + * so we only provide k as an argument. + * + * Arguments: + * k input to the h() function. + * L pointer to array of key bytes at + * offsets 0,1,2,3, ... 8,9,10,11, [16,17,18,19, [24,25,26,27]] + * kCycles # key cycles, 2, 3, or 4. + */ +static Twofish_UInt32 h( int k, Twofish_Byte L[], int kCycles ) { + switch( kCycles ) { + /* We code all 3 cases separately for speed reasons. */ + case 2: + return H02(k,L) ^ H12(k,L) ^ H22(k,L) ^ H32(k,L); + case 3: + return H03(k,L) ^ H13(k,L) ^ H23(k,L) ^ H33(k,L); + case 4: + return H04(k,L) ^ H14(k,L) ^ H24(k,L) ^ H34(k,L); + default: + /* This is always a coding error, which is fatal. */ + exit(-1); +// Twofish_fatal( "Twofish h(): Illegal argument" ); + return 0; + } +} + + +/* + * Pre-compute the keyed S-boxes. + * Fill the pre-computed S-box array in the expanded key structure. + * Each pre-computed S-box maps 8 bits to 32 bits. + * + * The S argument contains half the number of bytes of the full key, but is + * derived from the full key. (See Twofish specifications for details.) + * S has the weird byte input order used by the Hxx macros. + * + * This function takes most of the time of a key expansion. + * + * Arguments: + * S pointer to array of 8*kCycles Bytes containing the S vector. + * kCycles number of key words, must be in the set {2,3,4} + * xkey pointer to Twofish_key structure that will contain the S-boxes. + */ +static int fill_keyed_sboxes( Twofish_Byte S[], int kCycles, Twofish_key * xkey ) { + int i; + switch( kCycles ) { + /* We code all 3 cases separately for speed reasons. */ + case 2: + for( i=0; i<256; i++ ) { + xkey->s[0][i]= H02( i, S ); + xkey->s[1][i]= H12( i, S ); + xkey->s[2][i]= H22( i, S ); + xkey->s[3][i]= H32( i, S ); + } + break; + case 3: + for( i=0; i<256; i++ ) { + xkey->s[0][i]= H03( i, S ); + xkey->s[1][i]= H13( i, S ); + xkey->s[2][i]= H23( i, S ); + xkey->s[3][i]= H33( i, S ); + } + break; + case 4: + for( i=0; i<256; i++ ) { + xkey->s[0][i]= H04( i, S ); + xkey->s[1][i]= H14( i, S ); + xkey->s[2][i]= H24( i, S ); + xkey->s[3][i]= H34( i, S ); + } + break; + default: + /* This is always a coding error, which is fatal. */ + return TWOFISH_ERROR_FILL_KEYED_SBOXES; + // Twofish_fatal( "Twofish fill_keyed_sboxes(): Illegal argument" ); + } + return TWOFISH_SUCCESS; +} + + +/* A flag to keep track of whether we have been initialised or not. */ +static int Twofish_initialised = 0; + +/* + * Initialise the Twofish implementation. + * This function must be called before any other function in the + * Twofish implementation is called. + * This routine also does some sanity checks, to make sure that + * all the macros behave, and it tests the whole cipher. + */ +int Twofish_initialise() { + /* First test the various platform-specific definitions. */ + if (int err = test_platform()) { return err; } + + /* We can now generate our tables, in the right order of course. */ + initialise_q_boxes(); + initialise_mds_tables(); + + /* We're finished with the initialisation itself. */ + Twofish_initialised = 1; + + /* + * And run some tests on the whole cipher. + * Yes, you need to do this every time you start your program. + * It is called assurance; you have to be certain that your program + * still works properly. + */ + if (int err = self_test()) return err; + + return TWOFISH_SUCCESS; +} + + +/* + * The Twofish key schedule uses an Reed-Solomon code matrix multiply. + * Just like the MDS matrix, the RS-matrix is designed to be easy + * to implement. Details are below in the code. + * + * These constants make it easy to compute in the finite field used + * for the RS code. + * + * We use Bytes for the RS computation, but these are automatically + * widened to unsigned integers in the expressions. Having unsigned + * ints in these tables therefore provides the fastest access. + */ +static unsigned int rs_poly_const[] = {0, 0x14d}; +static unsigned int rs_poly_div_const[] = {0, 0xa6 }; + + +/* + * Prepare a key for use in encryption and decryption. + * Like most block ciphers, Twofish allows the key schedule + * to be pre-computed given only the key. + * Twofish has a fairly 'heavy' key schedule that takes a lot of time + * to compute. The main work is pre-computing the S-boxes used in the + * encryption and decryption. We feel that this makes the cipher much + * harder to attack. The attacker doesn't even know what the S-boxes + * contain without including the entire key schedule in the analysis. + * + * Unlike most Twofish implementations, this one allows any key size from + * 0 to 32 bytes. Odd key sizes are defined for Twofish (see the + * specifications); the key is simply padded with zeroes to the next real + * key size of 16, 24, or 32 bytes. + * Each odd-sized key is thus equivalent to a single normal-sized key. + * + * Arguments: + * key array of key bytes + * key_len number of bytes in the key, must be in the range 0,...,32. + * xkey Pointer to an Twofish_key structure that will be filled + * with the internal form of the cipher key. + */ +int Twofish_prepare_key( Twofish_Byte key[], int key_len, Twofish_key * xkey ) + { + /* We use a single array to store all key material in, + * to simplify the wiping of the key material at the end. + * The first 32 bytes contain the actual (padded) cipher key. + * The next 32 bytes contain the S-vector in its weird format, + * and we have 4 bytes of overrun necessary for the RS-reduction. + */ + Twofish_Byte K[32+32+4]; + + int kCycles; /* # key cycles, 2,3, or 4. */ + + int i; + Twofish_UInt32 A, B; /* Used to compute the round keys. */ + + Twofish_Byte * kptr; /* Three pointers for the RS computation. */ + Twofish_Byte * sptr; + Twofish_Byte * t; + + Twofish_Byte b,bx,bxx; /* Some more temporaries for the RS computation. */ + + /* Check that the Twofish implementation was initialised. */ + if( Twofish_initialised == 0 ) { + /* + * You didn't call Twofish_initialise before calling this routine. + * This is a programming error, and therefore we call the fatal + * routine. + * + * I could of course call the initialisation routine here, + * but there are a few reasons why I don't. First of all, the + * self-tests have to be done at startup. It is no good to inform + * the user that the cipher implementation fails when he wants to + * write his data to disk in encrypted form. You have to warn him + * before he spends time typing his data. Second, the initialisation + * and self test are much slower than a single key expansion. + * Calling the initialisation here makes the performance of the + * cipher unpredictable. This can lead to really weird problems + * if you use the cipher for a real-time task. Suddenly it fails + * once in a while the first time you try to use it. Things like + * that are almost impossible to debug. + */ + return TWOFISH_ERROR_NOT_INITIALIZED; + // Twofish_fatal( "Twofish implementation was not initialised." ); + + /* + * There is always a danger that the Twofish_fatal routine returns, + * in spite of the specifications that it should not. + * (A good programming rule: don't trust the rest of the code.) + * This would be disasterous. If the q-tables and MDS-tables have + * not been initialised, they are probably still filled with zeroes. + * Suppose the MDS-tables are all zero. The key expansion would then + * generate all-zero round keys, and all-zero s-boxes. The danger + * is that nobody would notice as the encryption function still + * mangles the input, and the decryption still 'decrypts' it, + * but now in a completely key-independent manner. + * To stop such security disasters, we use blunt force. + * If your program hangs here: fix the fatal routine! + */ + // for(;;) ; /* Infinite loop, which beats being insecure. */ + } + + /* Check for valid key length. */ + if( key_len < 0 || key_len > 32 ) { + /* + * This can only happen if a programmer didn't read the limitations + * on the key size. + */ + return TWOFISH_ERROR_ILLEGAL_KEY_LENGTH; + // Twofish_fatal( "Twofish_prepare_key: illegal key length" ); + /* + * A return statement just in case the fatal macro returns. + * The rest of the code assumes that key_len is in range, and would + * buffer-overflow if it wasn't. + * + * Why do we still use a programming language that has problems like + * buffer overflows, when these problems were solved in 1960 with + * the development of Algol? Have we not leared anything? + */ + // return; + } + + /* Pad the key with zeroes to the next suitable key length. */ + memcpy( K, key, key_len ); + memset( K+key_len, 0, sizeof(K)-key_len ); + + /* + * Compute kCycles: the number of key cycles used in the cipher. + * 2 for 128-bit keys, 3 for 192-bit keys, and 4 for 256-bit keys. + */ + kCycles = (key_len + 7) >> 3; + /* Handle the special case of very short keys: minimum 2 cycles. */ + if( kCycles < 2 ) { + kCycles = 2; + } + + /* + * From now on we just pretend to have 8*kCycles bytes of + * key material in K. This handles all the key size cases. + */ + + /* + * We first compute the 40 expanded key words, + * formulas straight from the Twofish specifications. + */ + for( i=0; i<40; i+=2 ) { + /* + * Due to the byte spacing expected by the h() function + * we can pick the bytes directly from the key K. + * As we use bytes, we never have the little/big endian + * problem. + * + * Note that we apply the rotation function only to simple + * variables, as the rotation macro might evaluate its argument + * more than once. + */ + A = h( i , K , kCycles ); + B = h( i+1, K+4, kCycles ); + B = ROL32( B, 8 ); + + /* Compute and store the round keys. */ + A += B; + B += A; + xkey->K[i] = A; + xkey->K[i+1] = ROL32( B, 9 ); + } + + /* Wipe variables that contained key material. */ + A=B=0; + + /* + * And now the dreaded RS multiplication that few seem to understand. + * The RS matrix is not random, and is specially designed to compute the + * RS matrix multiplication in a simple way. + * + * We work in the field GF(2)[x]/x^8+x^6+x^3+x^2+1. Note that this is a + * different field than used for the MDS matrix. + * (At least, it is a different representation because all GF(2^8) + * representations are equivalent in some form.) + * + * We take 8 consecutive bytes of the key and interpret them as + * a polynomial k_0 + k_1 y + k_2 y^2 + ... + k_7 y^7 where + * the k_i bytes are the key bytes and are elements of the finite field. + * We multiply this polynomial by y^4 and reduce it modulo + * y^4 + (x + 1/x)y^3 + (x)y^2 + (x + 1/x)y + 1. + * using straightforward polynomial modulo reduction. + * The coefficients of the result are the result of the RS + * matrix multiplication. When we wrote the Twofish specification, + * the original RS definition used the polynomials, + * but that requires much more mathematical knowledge. + * We were already using matrix multiplication in a finite field for + * the MDS matrix, so I re-wrote the RS operation as a matrix + * multiplication to reduce the difficulty of understanding it. + * Some implementors have not picked up on this simpler method of + * computing the RS operation, even though it is mentioned in the + * specifications. + * + * It is possible to perform these computations faster by using 32-bit + * word operations, but that is not portable and this is not a speed- + * critical area. + * + * We explained the 1/x computation when we did the MDS matrix. + * + * The S vector is stored in K[32..64]. + * The S vector has to be reversed, so we loop cross-wise. + * + * Note the weird byte spacing of the S-vector, to match the even + * or odd key words arrays. See the discussion at the Hxx macros for + * details. + */ + kptr = K + 8*kCycles; /* Start at end of key */ + sptr = K + 32; /* Start at start of S */ + + /* Loop over all key material */ + while( kptr > K ) { + kptr -= 8; + /* + * Initialise the polynimial in sptr[0..12] + * The first four coefficients are 0 as we have to multiply by y^4. + * The next 8 coefficients are from the key material. + */ + memset( sptr, 0, 4 ); + memcpy( sptr+4, kptr, 8 ); + + /* + * The 12 bytes starting at sptr are now the coefficients of + * the polynomial we need to reduce. + */ + + /* Loop over the polynomial coefficients from high to low */ + t = sptr+11; + /* Keep looping until polynomial is degree 3; */ + while( t > sptr+3 ) { + /* Pick up the highest coefficient of the poly. */ + b = *t; + + /* + * Compute x and (x+1/x) times this coefficient. + * See the MDS matrix implementation for a discussion of + * multiplication by x and 1/x. We just use different + * constants here as we are in a + * different finite field representation. + * + * These two statements set + * bx = (x) * b + * bxx= (x + 1/x) * b + */ + bx = (Twofish_Byte)((b<<1) ^ rs_poly_const[ b>>7 ]); + bxx= (Twofish_Byte)((b>>1) ^ rs_poly_div_const[ b&1 ] ^ bx); + + /* + * Subtract suitable multiple of + * y^4 + (x + 1/x)y^3 + (x)y^2 + (x + 1/x)y + 1 + * from the polynomial, except that we don't bother + * updating t[0] as it will become zero anyway. + */ + t[-1] ^= bxx; + t[-2] ^= bx; + t[-3] ^= bxx; + t[-4] ^= b; + + /* Go to the next coefficient. */ + t--; + } + + /* Go to next S-vector word, obeying the weird spacing rules. */ + sptr += 8; + } + + /* Wipe variables that contained key material. */ + b = bx = bxx = 0; + + /* And finally, we can compute the key-dependent S-boxes. */ + if (int err = fill_keyed_sboxes( &K[32], kCycles, xkey )) return err; + + /* Wipe array that contained key material. */ + memset( K, 0, sizeof( K ) ); + + return TWOFISH_SUCCESS; +} + + +/* + * We can now start on the actual encryption and decryption code. + * As these are often speed-critical we will use a lot of macros. + */ + +/* + * The g() function is the heart of the round function. + * We have two versions of the g() function, one without an input + * rotation and one with. + * The pre-computed S-boxes make this pretty simple. + */ +#define g0(X,xkey) \ + (xkey->s[0][b0(X)]^xkey->s[1][b1(X)]^xkey->s[2][b2(X)]^xkey->s[3][b3(X)]) + +#define g1(X,xkey) \ + (xkey->s[0][b3(X)]^xkey->s[1][b0(X)]^xkey->s[2][b1(X)]^xkey->s[3][b2(X)]) + +/* + * A single round of Twofish. The A,B,C,D are the four state variables, + * T0 and T1 are temporaries, xkey is the expanded key, and r the + * round number. + * + * Note that this macro does not implement the swap at the end of the round. + */ +#define ENCRYPT_RND( A,B,C,D, T0, T1, xkey, r ) \ + T0 = g0(A,xkey); T1 = g1(B,xkey);\ + C ^= T0+T1+xkey->K[8+2*(r)]; C = ROR32(C,1);\ + D = ROL32(D,1); D ^= T0+2*T1+xkey->K[8+2*(r)+1] + +/* + * Encrypt a single cycle, consisting of two rounds. + * This avoids the swapping of the two halves. + * Parameter r is now the cycle number. + */ +#define ENCRYPT_CYCLE( A, B, C, D, T0, T1, xkey, r ) \ + ENCRYPT_RND( A,B,C,D,T0,T1,xkey,2*(r) );\ + ENCRYPT_RND( C,D,A,B,T0,T1,xkey,2*(r)+1 ) + +/* Full 16-round encryption */ +#define ENCRYPT( A,B,C,D,T0,T1,xkey ) \ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 0 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 1 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 2 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 3 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 4 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 5 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 6 );\ + ENCRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 7 ) + +/* + * A single round of Twofish for decryption. It differs from + * ENCRYTP_RND only because of the 1-bit rotations. + */ +#define DECRYPT_RND( A,B,C,D, T0, T1, xkey, r ) \ + T0 = g0(A,xkey); T1 = g1(B,xkey);\ + C = ROL32(C,1); C ^= T0+T1+xkey->K[8+2*(r)];\ + D ^= T0+2*T1+xkey->K[8+2*(r)+1]; D = ROR32(D,1) + +/* + * Decrypt a single cycle, consisting of two rounds. + * This avoids the swapping of the two halves. + * Parameter r is now the cycle number. + */ +#define DECRYPT_CYCLE( A, B, C, D, T0, T1, xkey, r ) \ + DECRYPT_RND( A,B,C,D,T0,T1,xkey,2*(r)+1 );\ + DECRYPT_RND( C,D,A,B,T0,T1,xkey,2*(r) ) + +/* Full 16-round decryption. */ +#define DECRYPT( A,B,C,D,T0,T1, xkey ) \ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 7 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 6 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 5 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 4 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 3 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 2 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 1 );\ + DECRYPT_CYCLE( A,B,C,D,T0,T1,xkey, 0 ) + +/* + * A macro to read the state from the plaintext and do the initial key xors. + * The koff argument allows us to use the same macro + * for the decryption which uses different key words at the start. + */ +#define GET_INPUT( src, A,B,C,D, xkey, koff ) \ + A = GET32(src )^xkey->K[ koff]; B = GET32(src+ 4)^xkey->K[1+koff]; \ + C = GET32(src+ 8)^xkey->K[2+koff]; D = GET32(src+12)^xkey->K[3+koff] + +/* + * Similar macro to put the ciphertext in the output buffer. + * We xor the keys into the state variables before we use the PUT32 + * macro as the macro might use its argument multiple times. + */ +#define PUT_OUTPUT( A,B,C,D, dst, xkey, koff ) \ + A ^= xkey->K[ koff]; B ^= xkey->K[1+koff]; \ + C ^= xkey->K[2+koff]; D ^= xkey->K[3+koff]; \ + PUT32( A, dst ); PUT32( B, dst+ 4 ); \ + PUT32( C, dst+8 ); PUT32( D, dst+12 ) + + +/* + * Twofish block encryption + * + * Arguments: + * xkey expanded key array + * p 16 bytes of plaintext + * c 16 bytes in which to store the ciphertext + */ +void Twofish_encrypt( Twofish_key * xkey, Twofish_Byte p[16], Twofish_Byte c[16]) { + Twofish_UInt32 A,B,C,D,T0,T1; /* Working variables */ + + /* Get the four plaintext words xorred with the key */ + GET_INPUT( p, A,B,C,D, xkey, 0 ); + + /* Do 8 cycles (= 16 rounds) */ + ENCRYPT( A,B,C,D,T0,T1,xkey ); + + /* Store them with the final swap and the output whitening. */ + PUT_OUTPUT( C,D,A,B, c, xkey, 4 ); +} + + +/* + * Twofish block decryption. + * + * Arguments: + * xkey expanded key array + * p 16 bytes of plaintext + * c 16 bytes in which to store the ciphertext + */ +void Twofish_decrypt( Twofish_key * xkey, Twofish_Byte c[16], Twofish_Byte p[16]) { + Twofish_UInt32 A,B,C,D,T0,T1; /* Working variables */ + + /* Get the four plaintext words xorred with the key */ + GET_INPUT( c, A,B,C,D, xkey, 4 ); + + /* Do 8 cycles (= 16 rounds) */ + DECRYPT( A,B,C,D,T0,T1,xkey ); + + /* Store them with the final swap and the output whitening. */ + PUT_OUTPUT( C,D,A,B, p, xkey, 0 ); +} + +/* + * Using the macros it is easy to make special routines for + * CBC mode, CTR mode etc. The only thing you might want to + * add is a XOR_PUT_OUTPUT which xors the outputs into the + * destinationa instead of overwriting the data. This requires + * a XOR_PUT32 macro as well, but that should all be trivial. + * + * I thought about including routines for the separate cipher + * modes here, but it is unclear which modes should be included, + * and each encryption or decryption routine takes up a lot of code space. + * Also, I don't have any test vectors for any cipher modes + * with Twofish. + */ + + +// Fills the given Twofish_key structure with zeros [AP] +void Twofish_clear_key(Twofish_key * xkey) { + memset(xkey, 0, sizeof(Twofish_key)); +} diff --git a/Core/Sources/include/twofish.h b/Core/Sources/include/twofish.h new file mode 100644 index 0000000..823f320 --- /dev/null +++ b/Core/Sources/include/twofish.h @@ -0,0 +1,218 @@ +#ifndef TWOFISH_H_ +#define TWOFISH_H_ +/* + * Fast, portable, and easy-to-use Twofish implementation, + * Version 0.3. + * Copyright (c) 2002 by Niels Ferguson. + * + * See the twofish.c file for the details of the how and why of this code. + * + * The author hereby grants a perpetual license to everybody to + * use this code for any purpose as long as the copyright message is included + * in the source code of this or any derived work. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + + +// error status codes +typedef enum { + TWOFISH_SUCCESS = 0, + // actual encryption/decryption errors + TWOFISH_ERROR_FILL_KEYED_SBOXES = 1, // Twofish fill_keyed_sboxes(): Illegal argument + TWOFISH_ERROR_NOT_INITIALIZED = 2, // Twofish implementation was not initialised + TWOFISH_ERROR_ILLEGAL_KEY_LENGTH = 3, // Twofish_prepare_key: illegal key length + + // platform and environment tests + TWOFISH_ERROR_PLATFORM_UNSUITABLE_UINT32 = 101, // Platform: Twofish_UInt32 type not suitable + TWOFISH_ERROR_PLATFORM_UNSUITABLE_BYTE = 102, // Platform: Twofish_Byte type not suitable + TWOFISH_ERROR_PLATFORM_GET32_IMPLEMENTED_IMPROPERLY = 103, // Platform: GET32 not implemented properly + TWOFISH_ERROR_PLATFORM_PUT32_IMPLEMENTED_IMPROPERLY = 104, // Platform: PUT32 not implemented properly + TWOFISH_ERROR_PLATFORM_ROL_ROR_IMPLEMENTED_IMPROPERLY = 105, // Platform: Twofish ROL or ROR not properly defined + TWOFISH_ERROR_PLATFORM_BSWAP_UNDEFINED = 106, // Platform: BSWAP not properly defined + TWOFISH_ERROR_PLATFORM_SELECT_BYTE_TEST_IMPLEMENTED_IMPROPERLY = 107, // Platform: SELECT_BYTE not implemented properly + TWOFISH_ERROR_TEST_ENCRYPTION_FAIL = 108, // Twofish test encryption failure + TWOFISH_ERROR_TEST_DECRYPTION_FAIL = 109, // Twofish test decryption failure + TWOFISH_ERROR_TEST_SEQUENCE_ENCRYPTION = 110, // Twofish encryption failure in sequence + TWOFISH_ERROR_TEST_SEQUENCE_DECRYPTION = 111, // Twofish decryption failure in sequence + TWOFISH_ERROR_TEST_ODD_SIZED_KEYS = 112, //Odd sized keys do not expand properly +} Twofish_Status; + + +/* + * PLATFORM FIXES + * ============== + * + * The following definitions have to be fixed for each particular platform + * you work on. If you have a multi-platform program, you no doubt have + * portable definitions that you can substitute here without changing + * the rest of the code. + * + * The defaults provided here should work on most PC compilers. + */ + + +/* + * A Twofish_Byte must be an unsigned 8-bit integer. + * It must also be the elementary data size of your C platform, + * i.e. sizeof( Twofish_Byte ) == 1. + */ +typedef unsigned char Twofish_Byte; + +/* + * A Twofish_UInt32 must be an unsigned integer of at least 32 bits. + * + * This type is used only internally in the implementation, so ideally it + * would not appear in the header file, but it is used inside the + * Twofish_key structure which means it has to be included here. + */ +typedef unsigned int Twofish_UInt32; + + +/* + * END OF PLATFORM FIXES + * ===================== + * + * You should not have to touch the rest of this file, but the code + * in twofish.c has a few things you need to fix too. + */ + + +/* + * Structure that contains a prepared Twofish key. + * A cipher key is used in two stages. In the first stage it is converted + * form the original form to an internal representation. + * This internal form is then used to encrypt and decrypt data. + * This structure contains the internal form. It is rather large: 4256 bytes + * on a platform with 32-bit unsigned values. + * + * Treat this as an opague structure, and don't try to manipulate the + * elements in it. I wish I could hide the inside of the structure, + * but C doesn't allow that. + */ +typedef + struct + { + Twofish_UInt32 s[4][256]; /* pre-computed S-boxes */ + Twofish_UInt32 K[40]; /* Round key words */ + } + Twofish_key; + + +/* + * Initialise and test the Twofish implementation. + * + * This function MUST be called before any other function in the + * Twofish implementation is called. + * It only needs to be called once. + * + * Apart from initialising the implementation it performs a self test. + * If the Twofish_fatal function is not called, the code passed the test. + * (See the twofish.c file for details on the Twofish_fatal function.) + */ +int Twofish_initialise(); + + +/* + * Convert a cipher key to the internal form used for + * encryption and decryption. + * + * The cipher key is an array of bytes; the Twofish_Byte type is + * defined above to a type suitable on your platform. + * + * Any key must be converted to an internal form in the Twofisk_key structure + * before it can be used. + * The encryption and decryption functions only work with the internal form. + * The conversion to internal form need only be done once for each key value. + * + * Be sure to wipe all key storage, including the Twofish_key structure, + * once you are done with the key data. + * A simple memset( TwofishKey, 0, sizeof( TwofishKey ) ) will do just fine. + * + * Unlike most implementations, this one allows any key size from 0 bytes + * to 32 bytes. According to the Twofish specifications, + * irregular key sizes are handled by padding the key with zeroes at the end + * until the key size is 16, 24, or 32 bytes, whichever + * comes first. Note that each key of irregular size is equivalent to exactly + * one key of 16, 24, or 32 bytes. + * + * WARNING: Short keys have low entropy, and result in low security. + * Anything less than 8 bytes is utterly insecure. For good security + * use at least 16 bytes. I prefer to use 32-byte keys to prevent + * any collision attacks on the key. + * + * The key length argument key_len must be in the proper range. + * If key_len is not in the range 0,...,32 this routine attempts to generate + * a fatal error (depending on the code environment), + * and at best (or worst) returns without having done anything. + * + * Arguments: + * key Array of key bytes + * key_len Number of key bytes, must be in the range 0,1,...,32. + * xkey Pointer to an Twofish_key structure that will be filled + * with the internal form of the cipher key. + */ +int Twofish_prepare_key( + Twofish_Byte key[], + int key_len, + Twofish_key * xkey + ); + +// Fills the given Twofish_key structure with zeros [AP] +void Twofish_clear_key(Twofish_key * xkey); + +/* + * Encrypt a single block of data. + * + * This function encrypts a single block of 16 bytes of data. + * If you want to encrypt a larger or variable-length message, + * you will have to use a cipher mode, such as CBC or CTR. + * These are outside the scope of this implementation. + * + * The xkey structure is not modified by this routine, and can be + * used for further encryption and decryption operations. + * + * Arguments: + * xkey pointer to Twofish_key, internal form of the key + * produces by Twofish_prepare_key() + * p Plaintext to be encrypted + * c Place to store the ciphertext + */ +void Twofish_encrypt( + Twofish_key * xkey, + Twofish_Byte p[16], + Twofish_Byte c[16] + ); + + +/* + * Decrypt a single block of data. + * + * This function decrypts a single block of 16 bytes of data. + * If you want to decrypt a larger or variable-length message, + * you will have to use a cipher mode, such as CBC or CTR. + * These are outside the scope of this implementation. + * + * The xkey structure is not modified by this routine, and can be + * used for further encryption and decryption operations. + * + * Arguments: + * xkey pointer to Twofish_key, internal form of the key + * produces by Twofish_prepare_key() + * c Ciphertext to be decrypted + * p Place to store the plaintext + */ +void Twofish_decrypt( + Twofish_key * xkey, + Twofish_Byte c[16], + Twofish_Byte p[16] + ); +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Core/Sources/module.modulemap b/Core/Sources/module.modulemap new file mode 100644 index 0000000..0b8ad94 --- /dev/null +++ b/Core/Sources/module.modulemap @@ -0,0 +1,5 @@ +module Core { + header "../Headers/Core-Bridging-Header.h" + link "Core" + export * +} diff --git a/GzipOutputStream.md b/GzipOutputStream.md new file mode 100644 index 0000000..74d3f01 --- /dev/null +++ b/GzipOutputStream.md @@ -0,0 +1,47 @@ + The `windowBits` parameter is the base two logarithm of the window size +(the size of the history buffer). It should be in the range 8..15 for this +version of the library. Larger values of this parameter result in better +compression at the expense of memory usage. + +`windowBits` is used to control the compression level and the format of the + compressed data. According to the zlib manual, the windowBits parameter can + have the following values: +- negative value means that the compressed data will have no zlib header or + trailer, and will use the deflate format instead. windowBits can also + be -8..-15 for raw deflate. In this case, -windowBits determines the window + size. deflate() will then generate raw deflate data with no zlib header or + trailer, and will not compute a check value. This is useful for some + applications that already have their own headers, such as PNG images. + +- value between 8 and 15 means that the compressed data will have a zlib header + and trailer, and will use a fixed window size of 2^windowBits bytes. The + default value is 15, which corresponds to a window size of 32 KB. + 2^15 = 32KB + 2^14 = 16KB + 2^13 = 8KB + 2^12 = 4KB + 2^11 = 2KB + 2^10 = 1KB + 2^9 = 512B + 2^8 = 256B + + For the current implementation of deflate(), a windowBits value of 8 (a + window size of 256 bytes) is not supported. As a result, a request for 8 + will result in 9 (a 512-byte window). In that case, providing 8 to + inflateInit2() will result in an error when the zlib header with 9 is + checked against the initialization of inflate(). The remedy is to not use 8 + with deflateInit2() with this initialization, or at least in that case use 9 + with inflateInit2(). + +- value between 16 and 31 means that the compressed data will have a gzip header + and trailer, and will use a variable window size of 2^(windowBits-16) bytes. + The maximum value is 31, which corresponds to a window size of 128 KB. + + windowBits can also be greater than 15 for optional gzip encoding. Add + 16 to windowBits to write a simple gzip header and trailer around the + compressed data instead of a zlib wrapper. The gzip header will have no + file name, no extra data, no comment, no modification time (set to zero), no + header crc, and the operating system will be set to the appropriate value, + if the operating system was determined at compile time. + + diff --git a/Package.swift b/Package.swift index 4d4a6fd..84a320f 100644 --- a/Package.swift +++ b/Package.swift @@ -11,13 +11,28 @@ let package = Package( name: "StreamKit", targets: ["StreamKit"]), ], + dependencies: [ + .package(path: "./Core") + ], targets: [ // Targets are the basic building blocks of a package, defining a module or a test suite. // Targets can depend on other targets in this package and products from dependencies. .target( - name: "StreamKit"), + name: "StreamKit", + dependencies: [ + .product(name: "Core", package: "Core") + ], + path: "Sources"), .testTarget( name: "StreamKitTests", - dependencies: ["StreamKit"]), + dependencies: ["StreamKit"], + path: "Tests", + resources: [ + .copy("Resources/1MB"), + .copy("Resources/16B"), + .copy("Resources/PlainText"), + .copy("Resources/PlainText.gz"), + ]), ] + ) diff --git a/README.md b/README.md index 1931668..1ba2212 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,56 @@ # StreamKit -The set of ciphers written on Swift +This open-source Swift library offers a comprehensive collection of cryptographic algorithms. These ciphers can be structured into chains, facilitating the seamless flow of output from one cipher stream to another. This architecture enables concurrent tasks, such as encrypting data while writing the encrypted result to a file. Integrate "StreamKit" into your projects to efficiently utilize these cryptographic functionalities. + + +# How to use it +For example it's possible to encrypt some data and simulteniously write the encrypted result to a file. +```swift +let secureFileURL: URL = ... +let fileHandle = try! FileHandle(forWritingTo: secureFileURL) +let outputFileStream = FileOutputStream(with: fileHandle) +try outputFileStream.open() + +let encryptingStream = Salsa20OutputStream(writingTo: outputFileStream, + key: key, + iv: iv) +try encryptingStream.open() + +let tmpBufferLen = 1<<16 +var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) +while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try encryptingStream.write(tmpBuffer, length: readLen) +} + +try encryptingStream.close() +try outputFileStream.close() +``` + +Another example demonstrate reading the encrypted file +```swift +let inputFileStream = FileInputStream(withFileHandle: try! FileHandle(forReadingFrom: secureFileURL)) +try inputFileStream.open() + +let bufferingStream = BufferOutputStream() +try bufferingStream.open() + +let decryptingStream = Salsa20InputStream(readingFrom: inputFileStream, + key: key, + iv: iv) +try decryptingStream.open() + +let tmpBufferLen = 1<<16 // 65KB buffer +var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) +while decryptingStream.hasBytesAvailable { + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try bufferingStream.write(tmpBuffer, length: readLen) +} + +decryptingStream.close() +try bufferingStream.close() +inputFileStream.close() + +``` ### Sponsored by [KeePassium](https://github.com/keepassium) diff --git a/Salsa20Stream.md b/Salsa20Stream.md new file mode 100644 index 0000000..050cd8c --- /dev/null +++ b/Salsa20Stream.md @@ -0,0 +1,32 @@ +# Salsa20 Stream + +Salsa20 is a stream cipher with symmetric secret key. It works on data blocks of size 64 bytes. Key length can be 16 or 32(recommended) bytes.
+Initialization vector(`iv`) is required of 8 bytes length. + +## Create output(encrypting) stream +```swift +let encryptingStream = Salsa20OutputStream(writingTo: anotherOutputStream, + key: key, + iv: iv) +try encryptingStream.open() +try encryptingStream.write(buffer, length: len) +try encryptingStream.close() +``` + +## Create input(decrypting) stream +```swift +let decryptingStream = Salsa20InputStream(readingFrom: anotherInputStream, + key: key, + iv: iv) +try decryptingStream.open() + +var decryptedBytes = [UInt8]() +while decryptingStream.hasBytesAvailable { + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + decryptedBytes.append(contentsOf: tmpBuffer.prefix(readLen)) +} + +let decryptedData = Data(decryptedBytes) +``` diff --git a/Sources/AesStream/AesInputStream.swift b/Sources/AesStream/AesInputStream.swift new file mode 100644 index 0000000..d8acf31 --- /dev/null +++ b/Sources/AesStream/AesInputStream.swift @@ -0,0 +1,154 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import CommonCrypto + +public final class AesInputStream: InputStream { + public static let defaultChunkSize = 1<<15 + private let nestedStream: InputStream + private var cryptorRef: CCCryptorRef? + private let bufferSize: Int + private var encryptedBuffer: UnsafeMutablePointer + private var decryptedBuffer: UnsafeMutablePointer + private let key: [UInt8] + private let iv: [UInt8] + private var isOpen = false + private var eofReached = false + private var decryptedBufferUsedLen: Int + private var decryptedBufferAvailableLen: Int + private var status: Int32 = 0 + private let options: AesOptions + private let blockSize = 16 + + public init(readingFrom nestedStream: InputStream, + key: [UInt8], + iv: [UInt8], + options: AesOptions = AesOptions.PKCS7Padding, + chunkSize: Int = AesInputStream.defaultChunkSize) { + self.nestedStream = nestedStream + self.options = options + self.key = key + self.encryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.decryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.bufferSize = chunkSize + self.decryptedBufferUsedLen = 0 + self.decryptedBufferAvailableLen = chunkSize + self.iv = iv + } + + deinit { + encryptedBuffer.deallocate() + decryptedBuffer.deallocate() + } + + public var hasBytesAvailable: Bool { + return !eofReached || decryptedBufferReadyLen > 0 + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard iv.count == blockSize else { + throw AesStreamError(kind: .ivSizeError) + } + + status = CCCryptorCreate(CCOperation(kCCDecrypt), + CCAlgorithm(kCCAlgorithmAES), + CCOptions(options), + key, + key.count, + iv, + &cryptorRef) + guard status == kCCSuccess else { + throw AesStreamError(code: status) + } + } + + public func read(_ outBuffer: UnsafeMutablePointer, maxLength: Int) throws -> Int { + guard isOpen else { fatalError("The stream is not opened") } + + var totalReadCount = 0 + while maxLength-totalReadCount > 0 && hasBytesAvailable { + try fillDecryptedBuffer() + let readCount = writeOutTo(outBuffer+totalReadCount, count: maxLength-totalReadCount) + totalReadCount += readCount + } + return totalReadCount + } + + private var decryptedBufferReadyLen: Int { + return bufferSize-decryptedBufferUsedLen-decryptedBufferAvailableLen + } + + private func fillDecryptedBuffer() throws { + if decryptedBufferReadyLen > 0 { + return + } + + let outBuf = decryptedBuffer+(bufferSize-decryptedBufferAvailableLen) + let outAvailable = decryptedBufferAvailableLen + var outMoved = 0 + let readLength = try nestedStream.read(encryptedBuffer, maxLength: bufferSize) + + if readLength > 0 { + status = CCCryptorUpdate(cryptorRef, + encryptedBuffer, + readLength, + outBuf, + outAvailable, + &outMoved) + } + else if !nestedStream.hasBytesAvailable { + eofReached = true + status = CCCryptorFinal(cryptorRef, + outBuf, + outAvailable, + &outMoved) + } + + guard status == kCCSuccess else { + throw AesStreamError(code: status) + } + decryptedBufferAvailableLen -= outMoved + } + + private func writeOutTo(_ outBuffer: UnsafeMutablePointer, count: Int) -> Int { + let outLen = min(decryptedBufferReadyLen, count) + outBuffer.initialize(from: decryptedBuffer+decryptedBufferUsedLen, count: outLen) + decryptedBufferUsedLen += outLen + if decryptedBufferReadyLen == 0 { + (decryptedBufferUsedLen, decryptedBufferAvailableLen) = (0, bufferSize) + } + return outLen + } + + public func close() { + guard isOpen else { fatalError("The stream is not opened") } + + _ = CCCryptorRelease(cryptorRef) + } +} diff --git a/Sources/AesStream/AesOutputStream.swift b/Sources/AesStream/AesOutputStream.swift new file mode 100644 index 0000000..0906eb2 --- /dev/null +++ b/Sources/AesStream/AesOutputStream.swift @@ -0,0 +1,131 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import CommonCrypto + +public final class AesOutputStream: OutputStream { + public static let defaultChunkSize = 1<<15 + private var cryptorRef: CCCryptorRef? + private var outBuffer: UnsafeMutablePointer + private var inBuffer: UnsafeMutablePointer + private let chunkSize: Int + private let nestedStream: OutputStream + private let iv: [UInt8] + private let key: [UInt8] + private var isOpen = false + private var status: Int32 = 0 + private let options: AesOptions + private let blockSize = 16 + + public init(writingTo outputStream: OutputStream, + key: [UInt8], + iv: [UInt8], + options: AesOptions = AesOptions.PKCS7Padding, + chunkSize: Int = AesOutputStream.defaultChunkSize) { + self.nestedStream = outputStream + self.options = options + self.outBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.inBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.chunkSize = chunkSize + self.key = key + self.iv = iv + } + + deinit { + outBuffer.deallocate() + } + + public var hasSpaceAvailable: Bool { + return nestedStream.hasSpaceAvailable + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard iv.count == blockSize else { + throw AesStreamError(kind: .ivSizeError) + } + + status = CCCryptorCreate(CCOperation(kCCEncrypt), + CCAlgorithm(kCCAlgorithmAES), + CCOptions(options), + key, + key.count, + iv, + &cryptorRef) + guard status == kCCSuccess else { + throw AesStreamError(code: status) + } + } + + public func write(_ buffer: UnsafePointer, length: Int) throws { + guard isOpen else { fatalError("The stream is not opened") } + + var remainingLen = length + var totalReadLen = 0 + while remainingLen > 0 { + let inBufAvailable = min(chunkSize, remainingLen) + inBuffer.initialize(from: buffer+totalReadLen, count: inBufAvailable) + + var outBufCount = 0 + status = CCCryptorUpdate(cryptorRef, + inBuffer, + inBufAvailable, + outBuffer, + chunkSize, + &outBufCount) + guard status == kCCSuccess else { + throw AesStreamError(code: status) + } + + if outBufCount > 0 { + try nestedStream.write(outBuffer, length: outBufCount) + } + totalReadLen += inBufAvailable + remainingLen -= inBufAvailable + } + } + + public func close() throws { + guard isOpen else { fatalError("The stream is not opened") } + + var outBufCount = 0 + status = CCCryptorFinal(cryptorRef, + outBuffer, + chunkSize, + &outBufCount) + guard status == kCCSuccess else { + throw AesStreamError(code: status) + } + + try nestedStream.write(outBuffer, length: outBufCount) + + _ = CCCryptorRelease(cryptorRef) + } +} + + diff --git a/Sources/AesStream/AesStreamCore.swift b/Sources/AesStream/AesStreamCore.swift new file mode 100644 index 0000000..6f48233 --- /dev/null +++ b/Sources/AesStream/AesStreamCore.swift @@ -0,0 +1,95 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import CommonCrypto + +public typealias AesOptions = Int +public extension AesOptions { + static let CBCMode = 0 + static let PKCS7Padding = kCCOptionPKCS7Padding + static let ECBMode = kCCOptionECBMode +} + +public struct AesStreamError: LocalizedError { + public enum Kind { + case paramError + case bufferTooSmall + case memoryFailure + case alignmentError + case decodeError + case unimplemented + case overflow + case rngFailure + case unspecifiedError + case callSequenceError + case keySizeError + case ivSizeError + case otherError(code: Int32) + } + public let file: String + public let line: Int + public let kind: Kind + + internal init(file: String = #file, line: Int = #line, code: Int32) { + self.file = String(describing: file) + self.line = line + switch Int(code) { + case kCCParamError: + kind = .paramError + case kCCBufferTooSmall: + kind = .bufferTooSmall + case kCCMemoryFailure: + kind = .memoryFailure + case kCCAlignmentError: + kind = .alignmentError + case kCCDecodeError: + kind = .decodeError + case kCCUnimplemented: + kind = .unimplemented + case kCCOverflow: + kind = .overflow + case kCCRNGFailure: + kind = .rngFailure + case kCCUnspecifiedError: + kind = .unspecifiedError + case kCCCallSequenceError: + kind = .callSequenceError + case kCCKeySizeError: + kind = .keySizeError + case kCCAlignmentError: + kind = .alignmentError + default: + kind = .otherError(code: code) + } + } + + internal init(file: String = #file, line: Int = #line, kind: Kind) { + self.file = String(describing: file) + self.line = line + self.kind = kind + } +} + diff --git a/Sources/BufferStream/BufferInputStream.swift b/Sources/BufferStream/BufferInputStream.swift new file mode 100644 index 0000000..ad412cb --- /dev/null +++ b/Sources/BufferStream/BufferInputStream.swift @@ -0,0 +1,60 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +public final class BufferInputStream: InputStream { + private var offset = 0 + private var buffer: [UInt8] + + public var hasBytesAvailable: Bool { + return offset < buffer.count + } + + public init(withBuffer payload: [UInt8]) { + self.buffer = payload + } + + public func open() throws { } + + public func read(_ toBuffer: UnsafeMutablePointer, maxLength len: Int) throws -> Int { + if offset == buffer.count { + return 0 + } + + let bytesLeft = buffer.count-offset + let readLen = min(bytesLeft, len) + buffer.withUnsafeBufferPointer { ubp in + if let ptr = ubp.baseAddress { + toBuffer.initialize(from: ptr.advanced(by: offset), count: readLen) + } + } + offset += readLen + return readLen + } + + public func close() { } +} + diff --git a/Sources/BufferStream/BufferOutputStream.swift b/Sources/BufferStream/BufferOutputStream.swift new file mode 100644 index 0000000..e3bb023 --- /dev/null +++ b/Sources/BufferStream/BufferOutputStream.swift @@ -0,0 +1,44 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +public final class BufferOutputStream: OutputStream { + public private(set) var buffer = [UInt8]() + + public var hasSpaceAvailable: Bool { + return true + } + + public init() {} + + public func open() throws {} + + public func write(_ fromBuffer: UnsafePointer, length: Int) throws { + buffer.append(contentsOf: UnsafeBufferPointer(start: fromBuffer, count: length)) + } + + public func close() throws {} +} diff --git a/Sources/ChaCha20Stream/ChaCha20Core.swift b/Sources/ChaCha20Stream/ChaCha20Core.swift new file mode 100644 index 0000000..48f8724 --- /dev/null +++ b/Sources/ChaCha20Stream/ChaCha20Core.swift @@ -0,0 +1,46 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +let ChaCha20IVSize = 12 +let ChaCha20KeySize = 32 + +public struct ChaCha20StreamError: LocalizedError { + public enum Kind { + case keySizeError + case ivSizeError + case bufferTooSmall + } + public let file: String + public let line: Int + public let kind: Kind + + internal init(file: String = #file, line: Int = #line, kind: Kind) { + self.file = String(describing: file) + self.line = line + self.kind = kind + } +} diff --git a/Sources/ChaCha20Stream/ChaCha20InputStream.swift b/Sources/ChaCha20Stream/ChaCha20InputStream.swift new file mode 100644 index 0000000..e274899 --- /dev/null +++ b/Sources/ChaCha20Stream/ChaCha20InputStream.swift @@ -0,0 +1,195 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import Core + +public final class ChaCha20InputStream: InputStream { + public static let defaultChunkSize = 1<<15 + private let nestedStream: InputStream + private let bufferSize: Int + private var encryptedBuffer: UnsafeMutablePointer + private var decryptedBuffer: UnsafeMutablePointer + private let key: [UInt8] + private let iv: [UInt8] + private var isOpen = false + private var eofReached = false + private var encryptedBufferDirtyLen: Int = 0 + private var encryptedBufferAvailableLen: Int + private var decryptedBufferDirtyLen: Int = 0 + private var decryptedBufferAvailableLen: Int + private var context = CHACHA20_ctx() + private let blockLen: Int = Int(CHACHA20_BLOCKLENGTH) + + public init(readingFrom nestedStream: InputStream, + key: [UInt8], + iv: [UInt8], + chunkSize: Int = ChaCha20InputStream.defaultChunkSize) { + self.nestedStream = nestedStream + self.key = key + self.encryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.decryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.bufferSize = chunkSize + self.decryptedBufferAvailableLen = chunkSize + self.encryptedBufferAvailableLen = chunkSize + self.iv = iv + } + + deinit { + encryptedBuffer.deallocate() + decryptedBuffer.deallocate() + } + + public var hasBytesAvailable: Bool { + return !eofReached || encryptedBufferReadyLen > 0 || decryptedBufferReadyLen > 0 + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard key.count == ChaCha20KeySize else { + throw ChaCha20StreamError(kind: .keySizeError) + } + + guard iv.count == ChaCha20IVSize else { + throw ChaCha20StreamError(kind: .ivSizeError) + } + + CHACHA20_init(); + + let keySize = key.count + let ivSize = iv.count + key.withUnsafeBufferPointer { keyubp in + CHACHA20_keysetup(&context, keyubp.baseAddress!, u32(keySize*8), u32(ivSize*8)) + } + iv.withUnsafeBufferPointer { ivubp in + CHACHA20_ivsetup(&context, ivubp.baseAddress!) + } + } + + public func read(_ outBuffer: UnsafeMutablePointer, maxLength: Int) throws -> Int { + guard isOpen else { fatalError("The stream is not opened") } + + var totalReadCount = 0 + var remainingLen = maxLength + while remainingLen > 0 && hasBytesAvailable { + try fillEncryptedBuffer() + if nestedStream.hasBytesAvailable { + try decryptBlocks() + } + else { + try decryptRemaining() + } + let readCount = writeOutTo(outBuffer+totalReadCount, count: remainingLen) + if readCount == 0 { break } + remainingLen -= readCount + totalReadCount += readCount + } + return totalReadCount + } + + private var encryptedBufferReadyLen: Int { + return bufferSize-encryptedBufferDirtyLen-encryptedBufferAvailableLen + } + + private var encryptedBufferFilledLen: Int { + return bufferSize-encryptedBufferAvailableLen + } + + private var isEncryptedBufferFull: Bool { + return encryptedBufferAvailableLen == 0 + } + + private func fillEncryptedBuffer() throws { + if eofReached || isEncryptedBufferFull { + return + } + + let canTake = encryptedBufferAvailableLen/blockLen*blockLen + let inBuf = encryptedBuffer+encryptedBufferFilledLen + let readLen = try nestedStream.read(inBuf, maxLength: canTake) + if !nestedStream.hasBytesAvailable { + eofReached = true + } + encryptedBufferAvailableLen -= readLen + } + + + private var decryptedBufferReadyLen: Int { + return bufferSize-decryptedBufferDirtyLen-decryptedBufferAvailableLen + } + + private var decryptedBufferFilledLen: Int { + return bufferSize-decryptedBufferAvailableLen + } + + private func decryptBlocks() throws { + if decryptedBufferReadyLen > blockLen { + return + } + + let inBufAvailable = encryptedBufferReadyLen + let outBufAvailable = decryptedBufferAvailableLen + let numOfBlocks = min(inBufAvailable,outBufAvailable)/blockLen + if numOfBlocks > 0 { + let processBytesLen = numOfBlocks*blockLen + let inBuffer = encryptedBuffer+encryptedBufferDirtyLen + let outBuffer = decryptedBuffer+decryptedBufferFilledLen + CHACHA20_decrypt_blocks(&context, inBuffer, outBuffer, u32(numOfBlocks)) + encryptedBufferDirtyLen += processBytesLen + if encryptedBufferReadyLen == 0 { + (encryptedBufferDirtyLen, encryptedBufferAvailableLen) = (0, bufferSize) + } + decryptedBufferAvailableLen -= processBytesLen + } + } + + private func decryptRemaining() throws { + let inBufAvailable = encryptedBufferReadyLen + let outBufAvailable = decryptedBufferAvailableLen + if inBufAvailable > 0 && outBufAvailable >= inBufAvailable { + let inBuffer = encryptedBuffer+encryptedBufferDirtyLen + let outBuffer = decryptedBuffer+decryptedBufferFilledLen + CHACHA20_decrypt_bytes(&context, inBuffer, outBuffer, u32(inBufAvailable)) + encryptedBufferDirtyLen += inBufAvailable + decryptedBufferAvailableLen -= inBufAvailable + } + } + + private func writeOutTo(_ outBuffer: UnsafeMutablePointer, count: Int) -> Int { + let outLen = min(decryptedBufferReadyLen, count) + if outLen > 0 { + outBuffer.initialize(from: decryptedBuffer+decryptedBufferDirtyLen, count: outLen) + decryptedBufferDirtyLen += outLen + if decryptedBufferReadyLen == 0 { + (decryptedBufferDirtyLen, decryptedBufferAvailableLen) = (0, bufferSize) + } + } + return outLen + } + + public func close() { } +} diff --git a/Sources/ChaCha20Stream/ChaCha20OutputStream.swift b/Sources/ChaCha20Stream/ChaCha20OutputStream.swift new file mode 100644 index 0000000..ba7dac0 --- /dev/null +++ b/Sources/ChaCha20Stream/ChaCha20OutputStream.swift @@ -0,0 +1,161 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import Core + +public final class ChaCha20OutputStream: OutputStream { + public static let defaultChunkSize = 1<<15 + private var inChunkBuffer: UnsafeMutablePointer + private var outChunkBuffer: UnsafeMutablePointer + private let chunkBufferLen: Int + private let nestedStream: OutputStream + private let iv: [UInt8] + private let key: [UInt8] + private var isOpen = false + private var context = CHACHA20_ctx() + private var inChunkBufferDirtyLen: Int = 0 + private var inChunkBufferAvailableLen: Int + private let blockLen: Int = Int(CHACHA20_BLOCKLENGTH) + + public init(writingTo outputStream: OutputStream, + key: [UInt8], + iv: [UInt8], + chunkSize: Int = ChaCha20OutputStream.defaultChunkSize) { + self.nestedStream = outputStream + self.inChunkBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.outChunkBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.chunkBufferLen = chunkSize + self.key = key + self.iv = iv + self.inChunkBufferAvailableLen = chunkSize + } + + deinit { + inChunkBuffer.deallocate() + outChunkBuffer.deallocate() + } + + public var hasSpaceAvailable: Bool { + return nestedStream.hasSpaceAvailable + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard key.count == ChaCha20KeySize else { + throw ChaCha20StreamError(kind: .keySizeError) + } + + guard iv.count == ChaCha20IVSize else { + throw ChaCha20StreamError(kind: .ivSizeError) + } + + CHACHA20_init(); + + let keySize = key.count + let ivSize = iv.count + key.withUnsafeBufferPointer { keyubp in + CHACHA20_keysetup(&context, keyubp.baseAddress!, u32(keySize*8), u32(ivSize*8)) + } + iv.withUnsafeBufferPointer { ivubp in + CHACHA20_ivsetup(&context, ivubp.baseAddress!) + } + } + + public func write(_ buffer: UnsafePointer, length: Int) throws { + guard isOpen else { fatalError("The stream is not opened") } + + var remainingLen = length + var totalReadLen = 0 + while remainingLen > 0 { + let tookLen = fillChunkBuffer(buffer+totalReadLen, remainingLen) + remainingLen -= tookLen + totalReadLen += tookLen + if try encryptChunkBuffer() == 0 { break } + } + } + + private var isInChunkBufferFull: Bool { + return inChunkBufferAvailableLen == 0 + } + + private var inChunkBufferFilledLen: Int { + return chunkBufferLen-inChunkBufferAvailableLen + } + + private var inChunkBufferReadyLen: Int { + return chunkBufferLen-inChunkBufferDirtyLen-inChunkBufferAvailableLen + } + + private func fillChunkBuffer(_ buffer: UnsafePointer, _ length: Int) -> Int { + if isInChunkBufferFull { + return 0 + } + + let numOfBlocks = min(length, inChunkBufferAvailableLen)/blockLen + if numOfBlocks > 0 { + let tookLen = numOfBlocks*blockLen + let inBuf = inChunkBuffer+inChunkBufferFilledLen + inBuf.initialize(from: buffer, count: tookLen) + inChunkBufferAvailableLen -= tookLen + return tookLen + } + else { + let tookLen = min(length, inChunkBufferAvailableLen) + let inBuf = inChunkBuffer+inChunkBufferFilledLen + inBuf.initialize(from: buffer, count: tookLen) + inChunkBufferAvailableLen -= tookLen + return tookLen + } + } + + private func encryptChunkBuffer() throws -> Int { + let numOfBlocks = inChunkBufferReadyLen/blockLen + let processBytesLen = numOfBlocks*blockLen + if numOfBlocks > 0 { + let inBuffer = inChunkBuffer+inChunkBufferDirtyLen + CHACHA20_encrypt_blocks(&context, inBuffer, outChunkBuffer, u32(numOfBlocks)) + try nestedStream.write(outChunkBuffer, length: processBytesLen) + inChunkBufferDirtyLen += processBytesLen + if inChunkBufferDirtyLen == inChunkBufferFilledLen { + (inChunkBufferDirtyLen, inChunkBufferAvailableLen) = (0, chunkBufferLen) + } + } + return processBytesLen + } + + public func close() throws { + guard isOpen else { fatalError("The stream is not opened") } + if inChunkBufferReadyLen > 0 { + let inBuffer = inChunkBuffer+inChunkBufferDirtyLen + CHACHA20_encrypt_bytes(&context, inBuffer, outChunkBuffer, u32(inChunkBufferReadyLen)) + try nestedStream.write(outChunkBuffer, length: inChunkBufferReadyLen) + } + } +} + + diff --git a/Sources/FileStream/FileInputStream.swift b/Sources/FileStream/FileInputStream.swift new file mode 100644 index 0000000..2b570da --- /dev/null +++ b/Sources/FileStream/FileInputStream.swift @@ -0,0 +1,64 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +public final class FileInputStream: InputStream { + private let fileHandle: FileHandle + private var eofReached = false + + public init(with fileHandle: FileHandle) { + self.fileHandle = fileHandle + } + + public init?(with localFileURL: URL) { + guard let fileHandle = try? FileHandle(forReadingFrom: localFileURL) else { + return nil + } + self.fileHandle = fileHandle + } + + public var hasBytesAvailable: Bool { + return !eofReached + } + + public func open() throws { + } + + public func read(_ buffer: UnsafeMutablePointer, maxLength len: Int) -> Int { + let readData = fileHandle.readData(ofLength: len) + eofReached = (readData.count != len) + readData.withUnsafeBytes { + if let baseAddress = $0.baseAddress { + let t = baseAddress.assumingMemoryBound(to: UInt8.self) + buffer.initialize(from: t, count: readData.count) + } + } + return readData.count + } + + public func close() { + } +} diff --git a/Sources/FileStream/FileOutputStream.swift b/Sources/FileStream/FileOutputStream.swift new file mode 100644 index 0000000..e9cc122 --- /dev/null +++ b/Sources/FileStream/FileOutputStream.swift @@ -0,0 +1,57 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +public final class FileOutputStream: OutputStream { + private let fileHandle: FileHandle + + public init(with fileHandle: FileHandle) { + self.fileHandle = fileHandle + } + + public init?(with localFileURL: URL) { + guard + FileManager.default.createFile(atPath: localFileURL.path, contents: nil), + let fileHandle = try? FileHandle(forWritingTo: localFileURL) else { + return nil + } + self.fileHandle = fileHandle + } + + public var hasSpaceAvailable: Bool { + return true + } + + public func open() throws { } + + public func write(_ buffer: UnsafePointer, length: Int) throws { + let data = Data(bytes: buffer, count: length) + fileHandle.write(data) + } + + public func close() throws { + } +} diff --git a/Sources/GzipStream/GzipInputStream.swift b/Sources/GzipStream/GzipInputStream.swift new file mode 100644 index 0000000..4cd9ed7 --- /dev/null +++ b/Sources/GzipStream/GzipInputStream.swift @@ -0,0 +1,170 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import zlib + +public final class GzipInputStream: InputStream { + public static let defaultDeflateChunkSize = 1<<15 + public static let defaultInflateChunkSize = 1<<15 + + private var zstream: z_stream + private let nestedStream: InputStream + private let inflateBufferSize: Int + private let deflateBufferSize: Int + private var deflateBuffer: UnsafeMutablePointer + private var inflateBuffer: UnsafeMutablePointer + private var inflateUsedLen: Int + private var inflateAvailableLen: Int + private var eofReached = false + private var isOpen = false + private var status: Int32 = Z_OK + private var windowBits: Int32 + + + /// - Parameters: + /// - inputStream: <#inputStream description#> + /// - windowBits: shall be a base 2 logarithm of the maximum window size to use, and shall be a value between 9 and 15. If the input data was compressed with a larger window size, subsequent attempts to decompress this data will fail with Z_DATA_ERROR, rather than try to allocate a larger window. + /// - deflateBufferSize: <#deflateBufferSize description#> + /// - inflateBufferSize: <#inflateBufferSize description#> + public init(readingFrom nestedStream: InputStream, + windowBits: Int32 = MAX_WBITS + 16, + deflateChunkSize: Int = GzipInputStream.defaultDeflateChunkSize, + inflateChunkSize: Int = GzipInputStream.defaultInflateChunkSize) { + self.nestedStream = nestedStream + self.windowBits = windowBits + self.deflateBufferSize = deflateChunkSize + self.inflateBufferSize = inflateChunkSize + self.deflateBuffer = UnsafeMutablePointer.allocate(capacity: deflateBufferSize) + self.inflateBuffer = UnsafeMutablePointer.allocate(capacity: inflateBufferSize) + self.inflateUsedLen = 0 + self.inflateAvailableLen = inflateChunkSize + + zstream = z_stream() + } + + deinit { + deflateBuffer.deallocate() + inflateBuffer.deallocate() + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + let streamSize = Int32(MemoryLayout.size) + let zlibVersion = ZLIB_VERSION + status = inflateInit2_(&zstream, windowBits, zlibVersion, streamSize) + + guard status == Z_OK else { + throw GzipStreamError(code: status, description: zstream.msg) + } + zstream.avail_in = 0 + zstream.avail_out = 0 + zstream.next_in = nil + zstream.next_out = nil + } + + public var hasBytesAvailable: Bool { + return !eofReached || bytesReadyToRead > 0 + } + + private var bytesReadyToRead: Int { + return inflateBufferSize-inflateUsedLen-inflateAvailableLen + } + + private var isInflateBufferFull: Bool { + return inflateAvailableLen == 0 + } + + public func read(_ outBuffer: UnsafeMutablePointer, maxLength: Int) throws -> Int { + guard isOpen else { fatalError("The stream is not opened") } + + var totalReadLen = 0 + var remainingLen = maxLength + while remainingLen > 0 && hasBytesAvailable { + try fillInflateBuffer() + let copiedLen = copyReadyBytesTo(outBuffer+totalReadLen, count: remainingLen) + totalReadLen += copiedLen + remainingLen -= copiedLen + } + return totalReadLen + } + + private func copyReadyBytesTo(_ outBuffer: UnsafeMutablePointer, count: Int) -> Int { + let outLen = min(bytesReadyToRead, count) + outBuffer.initialize(from: inflateBuffer+inflateUsedLen, count: outLen) + inflateUsedLen += outLen + if bytesReadyToRead == 0 { + (inflateUsedLen, inflateAvailableLen) = (0, inflateBufferSize) + } + return outLen + } + + private func fillInflateBuffer() throws { + if isInflateBufferFull { + return + } + + zstream.next_out = (inflateBuffer+inflateBufferSize-inflateAvailableLen) + zstream.avail_out = uInt(inflateAvailableLen) + + if zstream.avail_in == 0 { + let readLen = try nestedStream.read(deflateBuffer, maxLength: deflateBufferSize) + zstream.next_in = deflateBuffer + zstream.avail_in = uInt(readLen) + + if readLen == 0 { + eofReached = true + try finalizeInflate() + return + } + } + + status = inflate(&zstream, Z_NO_FLUSH) + if status == Z_STREAM_END { + eofReached = true + try finalizeInflate() + } + guard status == Z_OK else { + throw GzipStreamError(code: status, description: zstream.msg) + } + inflateAvailableLen = Int(zstream.avail_out) + } + + private func finalizeInflate() throws { + status = inflateEnd(&zstream) + if status != Z_OK { + throw GzipStreamError(code: status, description: zstream.msg) + } + } + + public func close() { + guard isOpen else { fatalError("The stream is not opened") } + _ = inflateEnd(&zstream) + nestedStream.close() + } +} + diff --git a/Sources/GzipStream/GzipOutputStream.swift b/Sources/GzipStream/GzipOutputStream.swift new file mode 100644 index 0000000..7632d6c --- /dev/null +++ b/Sources/GzipStream/GzipOutputStream.swift @@ -0,0 +1,137 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import zlib + +public final class GzipOutputStream: OutputStream { + public static let defaultDeflateChunkSize = 1 << 14 + private let nestedStream: OutputStream + private var zstream: z_stream + private var deflateBuffer: UnsafeMutablePointer + private let deflateBufferSize: Int + private var isOpen = false + private let windowBits: Int32 + private let compressionLevel: Int32 + private var status: Int32 = Z_OK + + public var hasSpaceAvailable: Bool { + return true + } + + /// returns Z_STREAM_ERROR if level is not a valid compression level + /// - Parameters: + /// - windowBits: shall be a base 2 logarithm of the maximum window size to use, and shall be a value between 9 and 15. + /// + public init(writingTo nestedStream: OutputStream, + windowBits: Int32 = MAX_WBITS + 16, + deflateChunkSize: Int = defaultDeflateChunkSize, + compressionLevel: GzipCompressionLevel = .defaultCompression) { + self.nestedStream = nestedStream + self.windowBits = windowBits + self.deflateBufferSize = deflateChunkSize + self.compressionLevel = compressionLevel + self.deflateBuffer = UnsafeMutablePointer.allocate(capacity: deflateBufferSize) + zstream = z_stream() + } + + deinit { + deflateBuffer.deallocate() + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + let zlibVersion = ZLIB_VERSION + let streamSize = MemoryLayout.size + status = deflateInit2_(&zstream, + compressionLevel, + Z_DEFLATED, + windowBits, + MAX_MEM_LEVEL, + Z_DEFAULT_STRATEGY, + zlibVersion, + Int32(streamSize)) + guard status == Z_OK else { + throw GzipStreamError(code: status, description: zstream.msg) + } + } + + public func write(_ buffer: UnsafePointer, length: Int) throws { + guard isOpen else { fatalError("The stream is not opened") } + + zstream.next_in = UnsafeMutablePointer(mutating: buffer) + zstream.avail_in = UInt32(length) + + do { + while zstream.avail_in > 0 { + repeat { + zstream.avail_out = UInt32(deflateBufferSize) + zstream.next_out = deflateBuffer + + status = deflate(&zstream, Z_NO_FLUSH) + guard status != Z_STREAM_ERROR else { + throw GzipStreamError(code: status, description: zstream.msg) + } + + let outBytesLength = deflateBufferSize-Int(zstream.avail_out) + try nestedStream.write(deflateBuffer, length: outBytesLength) + } while zstream.avail_out == 0 + } + } + catch { + deflateEnd(&zstream) + throw error + } + } + + public func close() throws { + guard isOpen else { fatalError("The stream is not opened") } + + zstream.avail_in = 0 + zstream.next_in = nil + do { + repeat { + zstream.avail_out = UInt32(deflateBufferSize) + zstream.next_out = deflateBuffer + status = deflate(&zstream, Z_FINISH) + guard status != Z_STREAM_ERROR else { + throw GzipStreamError(code: status, description: zstream.msg) + } + let outBytesCount = deflateBufferSize-Int(zstream.avail_out) + try nestedStream.write(deflateBuffer, length: outBytesCount) + + } while status != Z_STREAM_END + + deflateEnd(&zstream) + } + catch { + deflateEnd(&zstream) + throw error + } + + } +} diff --git a/Sources/GzipStream/GzipStreamCore.swift b/Sources/GzipStream/GzipStreamCore.swift new file mode 100644 index 0000000..be8384b --- /dev/null +++ b/Sources/GzipStream/GzipStreamCore.swift @@ -0,0 +1,77 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import zlib + +public typealias GzipCompressionLevel = Int32 +public extension GzipCompressionLevel { + static let noCompression = Z_NO_COMPRESSION + static let bestSpeed = Z_BEST_SPEED + static let bestCompression = Z_BEST_COMPRESSION + static let defaultCompression = Z_DEFAULT_COMPRESSION +} + +public struct GzipStreamError: LocalizedError { + public enum Kind { + case streamError + case dataError + case memoryError + case bufferError + case versionError + case otherError(code: Int32) + } + public let file: String + public let line: Int + public let code: Int + public let description: String? + public let kind: Kind + + internal init(file: String = #file, line: Int = #line, code: Int32, description dPtr: UnsafePointer?) { + self.file = String(describing: file) + self.code = Int(code) + self.line = line + self.description = dPtr.flatMap { String(cString: $0, encoding: .utf8) } + switch code { + case Z_STREAM_ERROR: // -2 + kind = .streamError + case Z_DATA_ERROR: // -3 + kind = .dataError + case Z_MEM_ERROR: // -4 + kind = .memoryError + case Z_BUF_ERROR: // -5 + kind = .bufferError + case Z_VERSION_ERROR: // -6 + kind = .versionError + default: + kind = .otherError(code: code) + } + } + + public var errorDescription: String? { + return "\(file):\(line) " + (description ?? "") + } +} + diff --git a/Sources/InputStream.swift b/Sources/InputStream.swift new file mode 100644 index 0000000..42ce4dc --- /dev/null +++ b/Sources/InputStream.swift @@ -0,0 +1,46 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +public protocol InputStream { + var hasBytesAvailable: Bool { get } + + func open() throws + func read(_ toBuffer: UnsafeMutablePointer, maxLength len: Int) throws -> Int + func close() +} + +public extension InputStream { + func readToEnd(_ chunkLen: Int = 1<<15) throws -> Data { + var result = Data() + var tmpBuffer = Array(repeating: 0, count: chunkLen) + while hasBytesAvailable { + let readLen = try read(&tmpBuffer, maxLength: chunkLen) + result.append(&tmpBuffer, count: readLen) + } + return result + } +} diff --git a/Sources/OutputStream.swift b/Sources/OutputStream.swift new file mode 100644 index 0000000..e26044b --- /dev/null +++ b/Sources/OutputStream.swift @@ -0,0 +1,48 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +public protocol OutputStream { + var hasSpaceAvailable: Bool { get } + + func open() throws + func write(_ buffer: UnsafePointer, length: Int) throws + func close() throws +} + +public extension OutputStream { + func write(_ data: Data) throws { + try data.withUnsafeBytes { urbp in + try urbp.withMemoryRebound(to: UInt8.self) { buffer in + try buffer.baseAddress.map { try write($0, length: data.count) } + } + } + } + + func write(_ string: String, ofEncoding encoding: String.Encoding) throws { + try string.data(using: encoding).map { try write($0) } + } +} diff --git a/Sources/Salsa20Stream/Salsa20Core.swift b/Sources/Salsa20Stream/Salsa20Core.swift new file mode 100644 index 0000000..c9818cd --- /dev/null +++ b/Sources/Salsa20Stream/Salsa20Core.swift @@ -0,0 +1,50 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +let Salsa20IVSize = 8 +let Salsa20KeySize128 = 16 +let Salsa20KeySize256 = 32 + +public struct Salsa20StreamError: LocalizedError { + public enum Kind { + case keySizeError + case ivSizeError + case bufferTooSmall + } + public let file: String + public let line: Int + public let kind: Kind + + internal init(file: String = #file, line: Int = #line, kind: Kind) { + self.file = String(describing: file) + self.line = line + self.kind = kind + } +} + + + diff --git a/Sources/Salsa20Stream/Salsa20InputStream.swift b/Sources/Salsa20Stream/Salsa20InputStream.swift new file mode 100644 index 0000000..b946aa0 --- /dev/null +++ b/Sources/Salsa20Stream/Salsa20InputStream.swift @@ -0,0 +1,195 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import Core + +public final class Salsa20InputStream: InputStream { + public static let defaultChunkSize = 1<<15 + private let nestedStream: InputStream + private let bufferSize: Int + private var encryptedBuffer: UnsafeMutablePointer + private var decryptedBuffer: UnsafeMutablePointer + private let key: [UInt8] + private let iv: [UInt8] + private var isOpen = false + private var eofReached = false + private var encryptedBufferDirtyLen: Int = 0 + private var encryptedBufferAvailableLen: Int + private var decryptedBufferDirtyLen: Int = 0 + private var decryptedBufferAvailableLen: Int + private var context = SALSA20_ctx() + private let salsa20BlockLen: Int = Int(SALSA20_BLOCKLENGTH) + + public init(readingFrom nestedStream: InputStream, + key: [UInt8], + iv: [UInt8], + chunkSize: Int = Salsa20InputStream.defaultChunkSize) { + self.nestedStream = nestedStream + self.key = key + self.encryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.decryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.bufferSize = chunkSize + self.decryptedBufferAvailableLen = chunkSize + self.encryptedBufferAvailableLen = chunkSize + self.iv = iv + } + + deinit { + encryptedBuffer.deallocate() + decryptedBuffer.deallocate() + } + + public var hasBytesAvailable: Bool { + return !eofReached || encryptedBufferReadyLen > 0 || decryptedBufferReadyLen > 0 + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard [Salsa20KeySize128, Salsa20KeySize256].contains(key.count) else { + throw Salsa20StreamError(kind: .keySizeError) + } + + guard iv.count == Salsa20IVSize else { + throw Salsa20StreamError(kind: .ivSizeError) + } + + SALSA20_init(); + + let keySize = key.count + let ivSize = iv.count + key.withUnsafeBufferPointer { keyubp in + SALSA20_keysetup(&context, keyubp.baseAddress!, u32(keySize*8), u32(ivSize*8)) + } + iv.withUnsafeBufferPointer { ivubp in + SALSA20_ivsetup(&context, ivubp.baseAddress!) + } + } + + public func read(_ outBuffer: UnsafeMutablePointer, maxLength: Int) throws -> Int { + guard isOpen else { fatalError("The stream is not opened") } + + var totalReadCount = 0 + var remainingLen = maxLength + while remainingLen > 0 && hasBytesAvailable { + try fillEncryptedBuffer() + if nestedStream.hasBytesAvailable { + try decryptBlocks() + } + else { + try decryptRemaining() + } + let readCount = writeOutTo(outBuffer+totalReadCount, count: remainingLen) + if readCount == 0 { break } + remainingLen -= readCount + totalReadCount += readCount + } + return totalReadCount + } + + private var encryptedBufferReadyLen: Int { + return bufferSize-encryptedBufferDirtyLen-encryptedBufferAvailableLen + } + + private var encryptedBufferFilledLen: Int { + return bufferSize-encryptedBufferAvailableLen + } + + private var isEncryptedBufferFull: Bool { + return encryptedBufferAvailableLen == 0 + } + + private func fillEncryptedBuffer() throws { + if eofReached || isEncryptedBufferFull { + return + } + + let canTake = encryptedBufferAvailableLen/salsa20BlockLen*salsa20BlockLen + let inBuf = encryptedBuffer+encryptedBufferFilledLen + let readLen = try nestedStream.read(inBuf, maxLength: canTake) + if !nestedStream.hasBytesAvailable { + eofReached = true + } + encryptedBufferAvailableLen -= readLen + } + + + private var decryptedBufferReadyLen: Int { + return bufferSize-decryptedBufferDirtyLen-decryptedBufferAvailableLen + } + + private var decryptedBufferFilledLen: Int { + return bufferSize-decryptedBufferAvailableLen + } + + private func decryptBlocks() throws { + if decryptedBufferReadyLen > SALSA20_BLOCKLENGTH { + return + } + + let inBufAvailable = encryptedBufferReadyLen + let outBufAvailable = decryptedBufferAvailableLen + let numOfBlocks = min(inBufAvailable,outBufAvailable)/salsa20BlockLen + if numOfBlocks > 0 { + let processBytesLen = numOfBlocks*salsa20BlockLen + let inBuffer = encryptedBuffer+encryptedBufferDirtyLen + let outBuffer = decryptedBuffer+decryptedBufferFilledLen + SALSA20_decrypt_blocks(&context, inBuffer, outBuffer, u32(numOfBlocks)) + encryptedBufferDirtyLen += processBytesLen + if encryptedBufferReadyLen == 0 { + (encryptedBufferDirtyLen, encryptedBufferAvailableLen) = (0, bufferSize) + } + decryptedBufferAvailableLen -= processBytesLen + } + } + + private func decryptRemaining() throws { + let inBufAvailable = encryptedBufferReadyLen + let outBufAvailable = decryptedBufferAvailableLen + if inBufAvailable > 0 && outBufAvailable >= inBufAvailable { + let inBuffer = encryptedBuffer+encryptedBufferDirtyLen + let outBuffer = decryptedBuffer+decryptedBufferFilledLen + SALSA20_decrypt_bytes(&context, inBuffer, outBuffer, u32(inBufAvailable)) + encryptedBufferDirtyLen += inBufAvailable + decryptedBufferAvailableLen -= inBufAvailable + } + } + + private func writeOutTo(_ outBuffer: UnsafeMutablePointer, count: Int) -> Int { + let outLen = min(decryptedBufferReadyLen, count) + if outLen > 0 { + outBuffer.initialize(from: decryptedBuffer+decryptedBufferDirtyLen, count: outLen) + decryptedBufferDirtyLen += outLen + if decryptedBufferReadyLen == 0 { + (decryptedBufferDirtyLen, decryptedBufferAvailableLen) = (0, bufferSize) + } + } + return outLen + } + + public func close() { } +} diff --git a/Sources/Salsa20Stream/Salsa20OutputStream.swift b/Sources/Salsa20Stream/Salsa20OutputStream.swift new file mode 100644 index 0000000..8549c76 --- /dev/null +++ b/Sources/Salsa20Stream/Salsa20OutputStream.swift @@ -0,0 +1,162 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import Core + + +public final class Salsa20OutputStream: OutputStream { + public static let defaultChunkSize = 1<<15 + private var inChunkBuffer: UnsafeMutablePointer + private var outChunkBuffer: UnsafeMutablePointer + private let chunkBufferLen: Int + private let nestedStream: OutputStream + private let iv: [UInt8] + private let key: [UInt8] + private var isOpen = false + private var context = SALSA20_ctx() + private var inChunkBufferDirtyLen: Int = 0 + private var inChunkBufferAvailableLen: Int + private let salsa20BlockLen: Int = Int(SALSA20_BLOCKLENGTH) + + public init(writingTo outputStream: OutputStream, + key: [UInt8], + iv: [UInt8], + chunkSize: Int = Salsa20OutputStream.defaultChunkSize) { + self.nestedStream = outputStream + self.inChunkBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.outChunkBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.chunkBufferLen = chunkSize + self.key = key + self.iv = iv + self.inChunkBufferAvailableLen = chunkSize + } + + deinit { + inChunkBuffer.deallocate() + outChunkBuffer.deallocate() + } + + public var hasSpaceAvailable: Bool { + return nestedStream.hasSpaceAvailable + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard [Salsa20KeySize128, Salsa20KeySize256].contains(key.count) else { + throw Salsa20StreamError(kind: .keySizeError) + } + + guard iv.count == Salsa20IVSize else { + throw Salsa20StreamError(kind: .ivSizeError) + } + + SALSA20_init(); + + let keySize = key.count + let ivSize = iv.count + key.withUnsafeBufferPointer { keyubp in + SALSA20_keysetup(&context, keyubp.baseAddress!, u32(keySize*8), u32(ivSize*8)) + } + iv.withUnsafeBufferPointer { ivubp in + SALSA20_ivsetup(&context, ivubp.baseAddress!) + } + } + + public func write(_ buffer: UnsafePointer, length: Int) throws { + guard isOpen else { fatalError("The stream is not opened") } + + var remainingLen = length + var totalReadLen = 0 + while remainingLen > 0 { + let tookLen = fillChunkBuffer(buffer+totalReadLen, remainingLen) + remainingLen -= tookLen + totalReadLen += tookLen + if try encryptChunkBuffer() == 0 { break } + } + } + + private var isInChunkBufferFull: Bool { + return inChunkBufferAvailableLen == 0 + } + + private var inChunkBufferFilledLen: Int { + return chunkBufferLen-inChunkBufferAvailableLen + } + + private var inChunkBufferReadyLen: Int { + return chunkBufferLen-inChunkBufferDirtyLen-inChunkBufferAvailableLen + } + + private func fillChunkBuffer(_ buffer: UnsafePointer, _ length: Int) -> Int { + if isInChunkBufferFull { + return 0 + } + + let numOfBlocks = min(length, inChunkBufferAvailableLen)/salsa20BlockLen + if numOfBlocks > 0 { + let tookLen = numOfBlocks*salsa20BlockLen + let inBuf = inChunkBuffer+inChunkBufferFilledLen + inBuf.initialize(from: buffer, count: tookLen) + inChunkBufferAvailableLen -= tookLen + return tookLen + } + else { + let tookLen = min(length, inChunkBufferAvailableLen) + let inBuf = inChunkBuffer+inChunkBufferFilledLen + inBuf.initialize(from: buffer, count: tookLen) + inChunkBufferAvailableLen -= tookLen + return tookLen + } + } + + private func encryptChunkBuffer() throws -> Int { + let numOfBlocks = inChunkBufferReadyLen/salsa20BlockLen + let processBytesLen = numOfBlocks*salsa20BlockLen + if numOfBlocks > 0 { + let inBuffer = inChunkBuffer+inChunkBufferDirtyLen + SALSA20_encrypt_blocks(&context, inBuffer, outChunkBuffer, u32(numOfBlocks)) + try nestedStream.write(outChunkBuffer, length: processBytesLen) + inChunkBufferDirtyLen += processBytesLen + if inChunkBufferDirtyLen == inChunkBufferFilledLen { + (inChunkBufferDirtyLen, inChunkBufferAvailableLen) = (0, chunkBufferLen) + } + } + return processBytesLen + } + + public func close() throws { + guard isOpen else { fatalError("The stream is not opened") } + if inChunkBufferReadyLen > 0 { + let inBuffer = inChunkBuffer+inChunkBufferDirtyLen + SALSA20_encrypt_bytes(&context, inBuffer, outChunkBuffer, u32(inChunkBufferReadyLen)) + try nestedStream.write(outChunkBuffer, length: inChunkBufferReadyLen) + } + } +} + + diff --git a/Sources/TwoFishStream/TwoFishCore.swift b/Sources/TwoFishStream/TwoFishCore.swift new file mode 100644 index 0000000..4e71168 --- /dev/null +++ b/Sources/TwoFishStream/TwoFishCore.swift @@ -0,0 +1,85 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation + +let TwoFishIVSize = 16 + +public struct TwoFishStreamError: LocalizedError { + public enum Kind { + case fillKeyedSBoxes + case notInitialized + case illegalKeyLength + case platformUnsuitableUInt32 + case platformUnsuitableByte + case platformGet32ImplementedImproperly + case platformPut32ImplementedImproperly + case platformRolRoRImplementedImproperly + case platformBSwapUndefined + case platformSelectByteTestImplementedImproperly + case testEncryptionFail + case testDecryptionFail + case testSequenceEncryptionFail + case testSequenceDecryptionFail + case testOddSizedKeysFail + case keySizeError + case ivSizeError + case dataNotAligned + case otherError(code: Int32) + } + public let file: String + public let line: Int + public let kind: Kind + + internal init(file: String = #file, line: Int = #line, kind: Kind) { + self.file = String(describing: file) + self.line = line + self.kind = kind + } + + internal init(file: String = #file, line: Int = #line, code: Int32) { + self.file = String(describing: file) + self.line = line + let mapper: [Int32: Kind] = [ + 1: .fillKeyedSBoxes, + 2: .notInitialized, + 3: .illegalKeyLength, + 101: .platformUnsuitableUInt32, + 102: .platformUnsuitableByte, + 103: .platformGet32ImplementedImproperly, + 104: .platformPut32ImplementedImproperly, + 105: .platformRolRoRImplementedImproperly, + 106: .platformBSwapUndefined, + 107: .platformSelectByteTestImplementedImproperly, + 108: .testEncryptionFail, + 109: .testDecryptionFail, + 110: .testSequenceEncryptionFail, + 111: .testSequenceDecryptionFail, + 112: .testOddSizedKeysFail + ] + self.kind = mapper[code] ?? .otherError(code: code) + } +} + diff --git a/Sources/TwoFishStream/TwoFishInputStream.swift b/Sources/TwoFishStream/TwoFishInputStream.swift new file mode 100644 index 0000000..8b051c5 --- /dev/null +++ b/Sources/TwoFishStream/TwoFishInputStream.swift @@ -0,0 +1,227 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import Core + +public final class TwoFishInputStream: InputStream { + public static let defaultChunkSize = 1<<15 + private let nestedStream: InputStream + private let bufferSize: Int + private var encryptedBuffer: UnsafeMutablePointer + private var decryptedBuffer: UnsafeMutablePointer + private let key: [UInt8] + private var iv: [UInt8] + private var isOpen = false + private var eofReached = false + private var encryptedBufferDirtyLen: Int = 0 + private var encryptedBufferAvailableLen: Int + private var decryptedBufferDirtyLen: Int = 0 + private var decryptedBufferAvailableLen: Int + private var context: Twofish_key + private let blockLen = 16 + private var status: Int32 = 0 + + public init(readingFrom nestedStream: InputStream, + key: [UInt8], + iv: [UInt8], + chunkSize: Int = TwoFishInputStream.defaultChunkSize) { + self.nestedStream = nestedStream + self.key = key + self.encryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.decryptedBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.bufferSize = chunkSize + self.decryptedBufferAvailableLen = chunkSize + self.encryptedBufferAvailableLen = chunkSize + self.iv = iv + self.context = Twofish_key() + } + + deinit { + encryptedBuffer.deallocate() + decryptedBuffer.deallocate() + } + + public var hasBytesAvailable: Bool { + return !eofReached || encryptedBufferReadyLen > 0 || decryptedBufferReadyLen > 0 + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard iv.count == TwoFishIVSize else { + throw TwoFishStreamError(kind: .ivSizeError) + } + + status = Twofish_initialise(); + guard status == TWOFISH_SUCCESS.rawValue else { + throw TwoFishStreamError(code: status) + } + + var key = key + status = Twofish_prepare_key(&key, Int32(key.count), &context) + guard status == TWOFISH_SUCCESS.rawValue else { + throw TwoFishStreamError(code: status) + } + } + + public func read(_ outBuffer: UnsafeMutablePointer, maxLength: Int) throws -> Int { + guard isOpen else { fatalError("The stream is not opened") } + + var totalReadCount = 0 + var remainingLen = maxLength + while remainingLen > 0 && hasBytesAvailable { + try fillEncryptedBuffer() + if nestedStream.hasBytesAvailable { + try decryptBlocks() + } + else { + try decryptRemaining() + } + let readCount = writeOutTo(outBuffer+totalReadCount, count: remainingLen) + if readCount == 0 { break } + remainingLen -= readCount + totalReadCount += readCount + } + return totalReadCount + } + + private var encryptedBufferReadyLen: Int { + return bufferSize-encryptedBufferDirtyLen-encryptedBufferAvailableLen + } + + private var encryptedBufferFilledLen: Int { + return bufferSize-encryptedBufferAvailableLen + } + + private var isEncryptedBufferFull: Bool { + return encryptedBufferAvailableLen == 0 + } + + private func fillEncryptedBuffer() throws { + if eofReached || isEncryptedBufferFull { + return + } + + let canTake = encryptedBufferAvailableLen/blockLen*blockLen + let inBuf = encryptedBuffer+encryptedBufferFilledLen + let readLen = try nestedStream.read(inBuf, maxLength: canTake) + if !nestedStream.hasBytesAvailable { + eofReached = true + } + encryptedBufferAvailableLen -= readLen + } + + + private var decryptedBufferReadyLen: Int { + return bufferSize-decryptedBufferDirtyLen-decryptedBufferAvailableLen + } + + private var decryptedBufferFilledLen: Int { + return bufferSize-decryptedBufferAvailableLen + } + + private func decryptBlocks() throws { + if decryptedBufferReadyLen > blockLen { + return + } + + let inBufAvailable = encryptedBufferReadyLen + let outBufAvailable = decryptedBufferAvailableLen + let numOfBlocks = min(inBufAvailable,outBufAvailable)/blockLen + if numOfBlocks > 0 { + let processBytesLen = numOfBlocks*blockLen + let inBuffer = encryptedBuffer+encryptedBufferDirtyLen + let outBuffer = decryptedBuffer+decryptedBufferFilledLen + for n in 0.. 0 && decryptedBufferAvailableLen >= encryptedBufferReadyLen { + let numOfBlocks = min(encryptedBufferReadyLen,decryptedBufferAvailableLen)/blockLen + if numOfBlocks > 0 { + for _ in 0.. 0 { + let lastByte = (decryptedBuffer+decryptedBufferFilledLen-1).pointee + decryptedBufferAvailableLen += Int(lastByte) + } + } + + private func writeOutTo(_ outBuffer: UnsafeMutablePointer, count: Int) -> Int { + let outLen = min(decryptedBufferReadyLen, count) + if outLen > 0 { + outBuffer.initialize(from: decryptedBuffer+decryptedBufferDirtyLen, count: outLen) + decryptedBufferDirtyLen += outLen + if decryptedBufferReadyLen == 0 { + (decryptedBufferDirtyLen, decryptedBufferAvailableLen) = (0, bufferSize) + } + } + return outLen + } + + public func close() { + guard isOpen else { fatalError("The stream is not opened") } + } +} diff --git a/Sources/TwoFishStream/TwoFishOutputStream.swift b/Sources/TwoFishStream/TwoFishOutputStream.swift new file mode 100644 index 0000000..b7882bd --- /dev/null +++ b/Sources/TwoFishStream/TwoFishOutputStream.swift @@ -0,0 +1,172 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import Foundation +import Core + +public final class TwoFishOutputStream: OutputStream { + public static let defaultChunkSize = 1<<15 + private var inChunkBuffer: UnsafeMutablePointer + private var outChunkBuffer: UnsafeMutablePointer + private let chunkBufferLen: Int + private let nestedStream: OutputStream + private var iv: [UInt8] + private let key: [UInt8] + private var isOpen = false + private var context: Twofish_key + private var inChunkBufferDirtyLen: Int = 0 + private var inChunkBufferAvailableLen: Int + private let blockLen = 16 + private var status: Int32 = 0 + + public init(writingTo outputStream: OutputStream, + key: [UInt8], + iv: [UInt8], + chunkSize: Int = TwoFishOutputStream.defaultChunkSize) { + self.nestedStream = outputStream + self.inChunkBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.outChunkBuffer = UnsafeMutablePointer.allocate(capacity: chunkSize) + self.chunkBufferLen = chunkSize + self.key = key + self.iv = iv + self.inChunkBufferAvailableLen = chunkSize + self.context = Twofish_key() + } + + deinit { + inChunkBuffer.deallocate() + } + + public var hasSpaceAvailable: Bool { + return nestedStream.hasSpaceAvailable + } + + public func open() throws { + guard !isOpen else { fatalError("The stream can be opened only once") } + isOpen = true + + guard iv.count == TwoFishIVSize else { + throw TwoFishStreamError(kind: .ivSizeError) + } + + status = Twofish_initialise(); + guard status == TWOFISH_SUCCESS.rawValue else { + throw TwoFishStreamError(code: status) + } + + var key = key + status = Twofish_prepare_key(&key, Int32(key.count), &context) + guard status == TWOFISH_SUCCESS.rawValue else { + throw TwoFishStreamError(code: status) + } + } + + public func write(_ buffer: UnsafePointer, length: Int) throws { + guard isOpen else { fatalError("The stream is not opened") } + + var remainingLen = length + var totalReadLen = 0 + while remainingLen > 0 { + let tookLen = fillChunkBuffer(buffer+totalReadLen, remainingLen) + remainingLen -= tookLen + totalReadLen += tookLen + if try encryptChunkBuffer() == 0 { break } + } + } + + private var isInChunkBufferFull: Bool { + return inChunkBufferAvailableLen == 0 + } + + private var inChunkBufferFilledLen: Int { + return chunkBufferLen-inChunkBufferAvailableLen + } + + private var inChunkBufferReadyLen: Int { + return chunkBufferLen-inChunkBufferDirtyLen-inChunkBufferAvailableLen + } + + private func fillChunkBuffer(_ buffer: UnsafePointer, _ length: Int) -> Int { + if isInChunkBufferFull { + return 0 + } + + let numOfBlocks = min(length, inChunkBufferAvailableLen)/blockLen + if numOfBlocks > 0 { + let tookLen = numOfBlocks*blockLen + let inBuf = inChunkBuffer+inChunkBufferFilledLen + inBuf.initialize(from: buffer, count: tookLen) + inChunkBufferAvailableLen -= tookLen + return tookLen + } + else { + let tookLen = min(length, inChunkBufferAvailableLen) + let inBuf = inChunkBuffer+inChunkBufferFilledLen + inBuf.initialize(from: buffer, count: tookLen) + inChunkBufferAvailableLen -= tookLen + return tookLen + } + } + + private func encryptChunkBuffer() throws -> Int { + let numOfBlocks = inChunkBufferReadyLen/blockLen + let processBytesLen = numOfBlocks*blockLen + if numOfBlocks > 0 { + let inBuffer = inChunkBuffer+inChunkBufferDirtyLen + var block: [UInt8] = Array(repeating: 0, count: blockLen) + for n in 0.. [UInt8]? { + let bufferSize = 1<<11 + do { + let file = try FileHandle(forReadingFrom: url) + defer { + file.closeFile() + } + + var context = CC_MD5_CTX() + CC_MD5_Init(&context) + + while autoreleasepool(invoking: { + let data = file.readData(ofLength: bufferSize) + if data.count > 0 { + data.withUnsafeBytes { + _ = CC_MD5_Update(&context, $0.baseAddress, numericCast(data.count)) + } + return true + } + else { + return false + } + }) { } + + var digest: [UInt8] = Array(repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH)) + _ = CC_MD5_Final(&digest, &context) + return digest + } + catch { + return nil + } +} diff --git a/Tests/AesStream/AesStreamTests.swift b/Tests/AesStream/AesStreamTests.swift new file mode 100644 index 0000000..561a3fe --- /dev/null +++ b/Tests/AesStream/AesStreamTests.swift @@ -0,0 +1,174 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class AesStreamTests: XCTestCase { + func testForWrongKey() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(31) + let iv = genBufferOfLen(8) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testForWrongIV() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(7) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testEncryptZeroLenBuffer() throws { + let len = 0 + let sourceBuf = genBufferOfLen(len) + let key = genBufferOfLen(16) + let iv = genBufferOfLen(16) + let compressedBuf = try encrypt(sourceBuf, len, key, iv) + XCTAssertEqual(16, compressedBuf.count) + } + + func testEncryptZeroLenBufferWithVariousKeys() throws { + let len = 0 + let sourceBuf = genBufferOfLen(len) + let iv = genBufferOfLen(16) + for keySize in [16,24,32] { + let key = genBufferOfLen(keySize) + let compressedBuf = try encrypt(sourceBuf, len, key, iv) + XCTAssertEqual(16, compressedBuf.count) + } + } + + func testThatEncryptWithWrongKeySizesThrowsError() throws { + let sourceBufLen = 512 + let sourceBuf = genBufferOfLen(sourceBufLen) + let iv = genBufferOfLen(16) + for keyLen in (0...15).map({$0}) { + let key = genBufferOfLen(keyLen) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + } + + func testEncryptVariousLenBuffers() throws { + for pow in 0...14 { + let len = 1< 0) + } + } + + func testEncryptDecryptZeroLenBuffer() throws { + try encryptDecryptBufferOfLen(0) + } + + func testEncryptOddLenBuffers() throws { + for len in [1,15,17,31,33,63,65,127,129] { + try encryptDecryptBufferOfLen(len) + } + } + + func testEncryptDecryptVariousLenBuffers() throws { + for pow in 0...14 { + try encryptDecryptBufferOfLen(1<, + _ len: Int, + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = AesOutputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataOutputStream = BufferOutputStream() + try dataOutputStream.open() + + let encryptingStream = AesOutputStream(writingTo: dataOutputStream, + key: key, + iv: iv, + chunkSize: chunkSize) + try encryptingStream.open() + try encryptingStream.write(buffer, length: len) + try encryptingStream.close() + + let resultData = dataOutputStream.buffer + try dataOutputStream.close() + return resultData + } + + func decrypt(_ buffer: [UInt8], + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = AesInputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataInputStream = BufferInputStream(withBuffer: buffer) + try dataInputStream.open() + + let decryptingStream = AesInputStream(readingFrom: dataInputStream, key: key, iv: iv, chunkSize: chunkSize) + try decryptingStream.open() + + var result = Array() + let bufLen = 1<<16 + var readBuffer = Array(repeating: 0, count: bufLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decryptingStream.read(&readBuffer, maxLength: bufLen) + result.append(contentsOf: readBuffer.prefix(readLen)) + } + return result + } + + func encryptDecryptBufferOfLen(_ bufLen: Int) throws { + for chunkLen in [128,256,512,1024,2048,4096]{ + for keySize in [16,24,32] { + try encryptDecryptBufferOfLen(bufLen, keySize, chunkLen) + } + } + } + + func encryptDecryptBufferOfLen(_ bufLen: Int, + _ keyLen: Int, + _ chunkSize: Int + ) throws { + let sourceBuf = genBufferOfLen(bufLen) + let key = genBufferOfLen(keyLen) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, bufLen, key, iv, chunkSize) + let decryptedBuf = try decrypt(encryptedBuf, key, iv, chunkSize) + XCTAssertNotEqual(sourceBuf, encryptedBuf, "\(bufLen) \(keyLen) \(chunkSize)") + XCTAssertEqual(sourceBuf, decryptedBuf, "\(bufLen) \(keyLen) \(chunkSize)") + } +} diff --git a/Tests/BufferStream/BufferInputStreamTests.swift b/Tests/BufferStream/BufferInputStreamTests.swift new file mode 100644 index 0000000..089151f --- /dev/null +++ b/Tests/BufferStream/BufferInputStreamTests.swift @@ -0,0 +1,53 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class BufferInputStreamTests: XCTestCase { + private func checkRead(_ array: inout [UInt8], _ chunkBufLen: Int) throws { + let inStream = BufferInputStream(withBuffer: array) + try inStream.open() + defer { + inStream.close() + } + + var result = [UInt8]() + var chunkBuf: [UInt8] = Array(repeating: 0, count: chunkBufLen) + while inStream.hasBytesAvailable { + let readLen = try inStream.read(&chunkBuf, maxLength: chunkBuf.count) + result.append(contentsOf: chunkBuf.prefix(readLen)) + } + XCTAssertEqual(array, result) + } + + func testRead_1KB() throws { + let len = 1<<10 + var array = genBufferOfLen(len) + for i in stride(from: 100, to: len, by: 100) { + try checkRead(&array, i) + } + } +} diff --git a/Tests/BufferStream/BufferOutputStreamTests.swift b/Tests/BufferStream/BufferOutputStreamTests.swift new file mode 100644 index 0000000..f7932bd --- /dev/null +++ b/Tests/BufferStream/BufferOutputStreamTests.swift @@ -0,0 +1,42 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class BufferOutputStreamTests: XCTestCase { + private func checkWrite(_ buffer: inout [UInt8]) throws { + let outStream = BufferOutputStream() + try outStream.open() + try outStream.write(&buffer, length: buffer.count) + XCTAssertEqual(outStream.buffer, buffer) + try outStream.close() + } + + func testWriteDataOfLenghtUpTo_1Kb() throws { + var array: [UInt8] = genBufferOfLen(1<<10) + try checkWrite(&array) + } +} diff --git a/Tests/ChaCha20Stream/ChaCha20StreamTests.swift b/Tests/ChaCha20Stream/ChaCha20StreamTests.swift new file mode 100644 index 0000000..b5de81b --- /dev/null +++ b/Tests/ChaCha20Stream/ChaCha20StreamTests.swift @@ -0,0 +1,232 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class ChaCha20StreamTests: XCTestCase { + func testForWrongKey() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(16) + let iv = genBufferOfLen(12) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testForWrongIV() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(13) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testEncryptZeroLenBuffer() throws { + let sourceBufLen = 0 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 0) + } + + func testEncrypt63Bytes() throws { + let sourceBufLen = 63 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 63) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt64Bytes() throws { + let sourceBufLen = 64 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 64) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt65Bytes() throws { + let sourceBufLen = 65 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 65) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt127Bytes() throws { + let sourceBufLen = 127 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 127) + XCTAssertTrue(encryptedBuf.count == 127) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt128Bytes() throws { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 127) + XCTAssertTrue(encryptedBuf.count == 128) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt256Bytes() throws { + let sourceBufLen = 256 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 127) + XCTAssertTrue(encryptedBuf.count == 256) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncryptDecryptZeroLenBuffer() throws { + try encryptDecryptBufferOfLen(0) + } + + func testEncryptDecrypt16Bytes() throws { + try encryptDecryptBufferOfLen(16) + } + + func testEncryptDecrypt64Bytes() throws { + try encryptDecryptBufferOfLen(64) + } + + func testEncryptDecrypt65Bytes() throws { + try encryptDecryptBufferOfLen(65, 64) + } + + func testEncryptDecrypt192Bytes() throws { + try encryptDecryptBufferOfLen(192, 65) + } + + func testEncryptDecrypt1024Bytes_2() throws { + try encryptDecryptBufferOfLen(127) + } + + func testEncryptDecrypt128Bytes() throws { + try encryptDecryptBufferOfLen(128) + } + + func testEncryptVariousLenBuffers() throws { + for pow in 0...14 { + let sourceBufLen = 1<, + _ len: Int, + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = ChaCha20OutputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataOutputStream = BufferOutputStream() + try dataOutputStream.open() + + let encryptingStream = ChaCha20OutputStream(writingTo: dataOutputStream, + key: key, + iv: iv, + chunkSize: chunkSize) + try encryptingStream.open() + try encryptingStream.write(buffer, length: len) + try encryptingStream.close() + + let resultData = dataOutputStream.buffer + try dataOutputStream.close() + return resultData + } + + func decrypt(_ buffer: [UInt8], + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = ChaCha20InputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataInputStream = BufferInputStream(withBuffer: buffer) + try dataInputStream.open() + + let decryptionStream = ChaCha20InputStream(readingFrom: dataInputStream, + key: key, + iv: iv, + chunkSize: chunkSize) + try decryptionStream.open() + + var result = Array() + let bufLen = 1<<16 + var readBuffer = Array(repeating: 0, count: bufLen) + while decryptionStream.hasBytesAvailable { + let readLen = try decryptionStream.read(&readBuffer, maxLength: bufLen) + result.append(contentsOf: readBuffer.prefix(readLen)) + } + return result + } + + func encryptDecryptBufferOfLen(_ bufLen: Int) throws { + for chunkSize in [64,65,127,128,129,512,1023,1024] { + try encryptDecryptBufferOfLen(bufLen,chunkSize) + } + } + + func encryptDecryptBufferOfLen(_ bufLen: Int, + _ chunkSize: Int = ChaCha20OutputStream.defaultChunkSize + ) throws { + let sourceBuf = genBufferOfLen(bufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + let encryptedBuf = try encrypt(sourceBuf, bufLen, key, iv, chunkSize) + let decryptedBuf = try decrypt(encryptedBuf, key, iv, chunkSize) + XCTAssertEqual(bufLen, decryptedBuf.count, "\(bufLen) \(chunkSize)") + XCTAssertEqual(sourceBuf, decryptedBuf, "\(bufLen) \(chunkSize)") + } +} diff --git a/Tests/FileStream/FileStreamTests.swift b/Tests/FileStream/FileStreamTests.swift new file mode 100644 index 0000000..b25a1b3 --- /dev/null +++ b/Tests/FileStream/FileStreamTests.swift @@ -0,0 +1,83 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class FileStreamTests: XCTestCase { + static var tmpDir: URL! + + override class func setUp() { + super.setUp() + tmpDir = try! createTmpFolder() + } + + func testCopyFile() throws { + let inFileURL = fileURL("1MB")! + let inFileHandle = try! FileHandle(forReadingFrom: inFileURL) + let inputFileStream = FileInputStream(with: inFileHandle) + try inputFileStream.open() + + let outputFileURL = createTmpFileURL(Self.tmpDir) + let fileHandle = try! FileHandle(forWritingTo: outputFileURL) + let outputFileStream = FileOutputStream(with: fileHandle) + try outputFileStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + inputFileStream.close() + try outputFileStream.close() + XCTAssertEqual(md5(inFileURL), md5(outputFileURL)) + } + + func testRead16BFile() throws { + let inFileURL = fileURL("16B")! + let inFileHandle = try! FileHandle(forReadingFrom: inFileURL) + let inputFileStream = FileInputStream(with: inFileHandle) + try inputFileStream.open() + defer { + inputFileStream.close() + } + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + + XCTAssertEqual(16, inputFileStream.read(&tmpBuffer, maxLength: 16)) + XCTAssertTrue(inputFileStream.hasBytesAvailable) + XCTAssertEqual(0, inputFileStream.read(&tmpBuffer, maxLength: 16)) + XCTAssertFalse(inputFileStream.hasBytesAvailable) + } + + override class func tearDown() { + super.tearDown() + try! removeTmpFolder(tmpDir) + } + +} diff --git a/Tests/GzipStream/GzipStreamTests.swift b/Tests/GzipStream/GzipStreamTests.swift new file mode 100644 index 0000000..3bc6a13 --- /dev/null +++ b/Tests/GzipStream/GzipStreamTests.swift @@ -0,0 +1,154 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class GzipStreamTests: XCTestCase { + func testCompressZeroLenBuffer() throws { + let len = 0 + let sourceBuf = genBufferOfLen(len) + let compressedBuf = try compress(sourceBuf, len) + XCTAssertTrue(compressedBuf.count > 0) + } + + func testComressVariousLenBuffers() throws { + for i in 0...14 { + let len = 1< 0) + } + } + + func testCompressDecompressZeroLenBuffer() throws { + try compressDecompressBufferOfLen(0) + } + + func testCompressDecompressVariousLenBuffers() throws { + for i in 0...14 { + try compressDecompressBufferOfLen(1<, + _ len: Int, + _ windowBits: Int32 = 15, + _ compressedBufferSize: Int = GzipOutputStream.defaultDeflateChunkSize + ) throws -> [UInt8] { + let dataOutputStream = BufferOutputStream() + try dataOutputStream.open() + + let compressStream = GzipOutputStream(writingTo: dataOutputStream, + windowBits: windowBits, + deflateChunkSize: compressedBufferSize) + try compressStream.open() + try compressStream.write(buffer, length: len) + try! compressStream.close() + + let resultData = dataOutputStream.buffer + try dataOutputStream.close() + return resultData + } + + func decompress(_ buffer: [UInt8], + _ windowBits: Int32 = 15, + _ inChunkSize: Int = GzipInputStream.defaultDeflateChunkSize, + _ outChunkSize: Int = GzipInputStream.defaultInflateChunkSize + ) throws -> [UInt8] { + let dataInputStream = BufferInputStream(withBuffer: buffer) + try dataInputStream.open() + + let decompressStream = GzipInputStream(readingFrom: dataInputStream, + windowBits: windowBits, + deflateChunkSize: inChunkSize, + inflateChunkSize: outChunkSize) + try decompressStream.open() + + var result = Array() + let bufLen = 1<<16 + var readBuffer = Array(repeating: 0, count: bufLen) + while decompressStream.hasBytesAvailable { + let readLen = try decompressStream.read(&readBuffer, maxLength: bufLen) + result.append(contentsOf: readBuffer.prefix(readLen)) + } + return result + } + + func compressDecompressBufferOfLen(_ len: Int) throws { + let chunkSizes = [8, 32, 256, 1024] + for chunkSize in chunkSizes { + for inChunkSize in chunkSizes { + for outChunkSize in chunkSizes { + try compressDecompressBufferOfLen(len, + 15, + chunkSize, + GzipCompressionLevel.defaultCompression, + inChunkSize, + outChunkSize) + } + } + } + + } + + func compressDecompressBufferOfLen(_ len: Int, + _ windowBits: Int32 = 15, + _ compressChunk: Int, + _ compressionLevel: GzipCompressionLevel = .defaultCompression, + _ decompressInChunk: Int, + _ decompressOutChunk: Int + ) throws { + let sourceBuf: [UInt8] = genBufferOfLen(len) + let compressedBuf = try compress(sourceBuf, len, windowBits, compressChunk) + var decompressedBuf = try decompress(compressedBuf, + windowBits, + decompressInChunk, + decompressOutChunk) + XCTAssertEqual(len, decompressedBuf.count) + XCTAssertEqual(memcmp(sourceBuf, &decompressedBuf, len), 0) + } + +} diff --git a/Tests/Resources/16B b/Tests/Resources/16B new file mode 100644 index 0000000..a3b6560 --- /dev/null +++ b/Tests/Resources/16B @@ -0,0 +1 @@ +Já;ŽY–¬\¨)×1ňZě \ No newline at end of file diff --git a/Tests/Resources/1MB b/Tests/Resources/1MB new file mode 100644 index 0000000000000000000000000000000000000000..8d8915269cc05767f6f7907c71478fbb66b1b3c1 GIT binary patch literal 1048576 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

4+*K@a!uDT=L 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


38Nr+l_>l-g~Sw-!>eFb@No+ zZu_1u5Uxd{Rd(H{-SCJefs+U8#sSknGo;+a(b*-gQLV|D@q7aVm97ck&(_oB!{cmA zVFx{8`C|NwTd_B9KUkI^l@3ftzc8~+%eL+_>OB>c)?!|Dj<~mrO^!pPG{y=vxsu}s zSGxv|39E*>`Ehd4w{fy7e@99qLhhNd*VSqVHSNE+sx8VaqeadIErmP5@5)%~2DT@x zcC^W-Br(7vLqk7KXRuBF^J62vx{i{V@-9p)x7cIFo~+mr@&emKncwE|JLFtl1&6o7 zoOtCV!MEICOkepo4V3|)8J=vf(eUUg>hoA`61)h8PHN1I28lRE+~>iz>_vNJKw(

~%Gm*SyIn(6dkSEG3xz*# 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 z

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


@!ia43dYs6Ut57~Pd! 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�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

b%lGrl2$;V58j@Bh{t(l9 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

peB^+>zS4SYdV#X_g{#u%`} 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 z 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 z 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

4HYYPwPT#%5t0zQZ{-WVYkT>S(Hq9I~h6OGyy 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 literal 0 HcmV?d00001 diff --git a/Tests/Salsa20Stream/Salsa20StreamTests.swift b/Tests/Salsa20Stream/Salsa20StreamTests.swift new file mode 100644 index 0000000..2151938 --- /dev/null +++ b/Tests/Salsa20Stream/Salsa20StreamTests.swift @@ -0,0 +1,177 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +@testable import StreamKit + +final class Salsa20CryptorTests: XCTestCase { + func testForWrongKey() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(16) + let iv = genBufferOfLen(16) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testEncryptZeroLenBuffer() throws { + let sourceBufLen = 0 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 0) + } + + func testEncrypt64Bytes() throws { + let sourceBufLen = 64 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 64) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt65Bytes() throws { + let sourceBufLen = 65 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertEqual(65, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt128Bytes() throws { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertTrue(encryptedBuf.count == 128) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncryptDecryptZeroLenBuffer() throws { + try encryptDecryptBufferOfLen(0, 32, 64, 64) + } + + func testEncryptVariousLenBuffers() throws { + for pow in 0...14 { + let sourceBufLen = 1<, + _ len: Int, + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = Salsa20OutputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataOutputStream = BufferOutputStream() + try dataOutputStream.open() + + let encryptingStream = Salsa20OutputStream(writingTo: dataOutputStream, + key: key, + iv: iv, + chunkSize: chunkSize) + try encryptingStream.open() + try encryptingStream.write(buffer, length: len) + try encryptingStream.close() + + let resultData = dataOutputStream.buffer + try dataOutputStream.close() + return resultData + } + + func decrypt(_ buffer: [UInt8], + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = Salsa20InputStream.defaultChunkSize, + _ iterBufSize: Int + ) throws -> [UInt8] { + let dataInputStream = BufferInputStream(withBuffer: buffer) + try dataInputStream.open() + + let decryptingStream = Salsa20InputStream(readingFrom: dataInputStream, + key: key, + iv: iv, + chunkSize: chunkSize) + try decryptingStream.open() + + var result = Array() + while decryptingStream.hasBytesAvailable { + var readBuffer = Array(repeating: 0, count: iterBufSize) + let readLen = try decryptingStream.read(&readBuffer, maxLength: iterBufSize) + result.append(contentsOf: readBuffer.prefix(readLen)) + } + return result + } + + func encryptDecryptBufferOfLen(_ bufLen: Int) throws { + for iterBufSize in [64,65,127,128,129,256] { + for chunkSize in [64,65,127,128,129,256] { + for keySize in [16,32] { + print("\(bufLen) \(keySize) \(chunkSize) \(iterBufSize) ") + try encryptDecryptBufferOfLen(bufLen, keySize, chunkSize, iterBufSize) + } + } + } + } + + func encryptDecryptBufferOfLen(_ bufLen: Int, + _ keyLen: Int, + _ chunkSize: Int = Salsa20OutputStream.defaultChunkSize, + _ iterBufSize: Int + ) throws { + let sourceBuf = genBufferOfLen(bufLen) + let key = genBufferOfLen(keyLen) + let iv = genBufferOfLen(8) + let encryptedBuf = try encrypt(sourceBuf, bufLen, key, iv, chunkSize) + let decryptedBuf = try decrypt(encryptedBuf, key, iv, chunkSize, iterBufSize) + XCTAssertEqual(bufLen, decryptedBuf.count, "\(bufLen) \(keyLen) \(chunkSize)") + XCTAssertEqual(sourceBuf, decryptedBuf, "\(bufLen) \(keyLen) \(chunkSize)") + } +} diff --git a/Tests/StreamKitExtensionsTests.swift b/Tests/StreamKitExtensionsTests.swift new file mode 100644 index 0000000..d373a2b --- /dev/null +++ b/Tests/StreamKitExtensionsTests.swift @@ -0,0 +1,87 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class StreamKitExtensionsTests: XCTestCase { + static var tmpDir: URL! + + override class func setUp() { + super.setUp() + tmpDir = try! createTmpFolder() + } + + override class func tearDown() { + super.tearDown() + try! removeTmpFolder(tmpDir) + } + + func testEncryptingDecryptingStringUsingSalsa20Streams() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + + let encryptedFileURL = genTmpFileURL(Self.tmpDir) + let originString = genRandStr(100) + + try encryptStrUsingSalsa20(originString, key, iv, encryptedFileURL) + let decryptedString = try decryptFileUsingSalsa20(encryptedFileURL, key, iv) + + XCTAssertEqual(originString, decryptedString) + } +} + +extension StreamKitExtensionsTests { + func encryptStrUsingSalsa20(_ str: String, _ key: [UInt8], _ iv: [UInt8], _ outURL: URL) throws { + let outputFileStream = FileOutputStream(with: outURL)! + try outputFileStream.open() + + let encryptingStream = Salsa20OutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + try encryptingStream.write(str, ofEncoding: .utf8) + + try encryptingStream.close() + try outputFileStream.close() + } + + func decryptFileUsingSalsa20(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> String? { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptingStream = Salsa20InputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let data = try decryptingStream.readToEnd() + + decryptingStream.close() + inputFileStream.close() + return String(data: data, encoding: .utf8) + } +} diff --git a/Tests/StreamKitTests.swift b/Tests/StreamKitTests.swift new file mode 100644 index 0000000..7ebdaf2 --- /dev/null +++ b/Tests/StreamKitTests.swift @@ -0,0 +1,526 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class StreamKitTests: XCTestCase { + static var tmpDir: URL! + + override class func setUp() { + super.setUp() + tmpDir = try! createTmpFolder() + } + + override class func tearDown() { + super.tearDown() + try! removeTmpFolder(tmpDir) + } + + func testEncryptingDecrypting1MBFileUsingSalsa20Streams() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + + let originalFileURL = fileURL("1MB")! + let encryptedFileURL = try encryptFileUsingSalsa20(originalFileURL, key, iv) + let decryptedFileURL = try decryptFileUsingSalsa20(encryptedFileURL, key, iv) + + XCTAssertNotEqual(md5(originalFileURL), md5(encryptedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decryptedFileURL)) + } + + func testCompressEncryptDecryptDecompress1MBFileUsingSalsa20Stream() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(8) + + let originalFileURL = fileURL("1MB")! + let encryptedFileURL = try compressAndEncryptFileUsingSalsa20(originalFileURL, key, iv) + let decryptedFileURL = try decryptAndDecompressFileUsingSalsa20(encryptedFileURL, key, iv) + + XCTAssertNotEqual(md5(originalFileURL), md5(encryptedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decryptedFileURL)) + } + + func testEncryptingDecrypting1MBFileUsingChaCha20Streams() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + + let originalFileURL = fileURL("1MB")! + let encryptedFileURL = try encryptFileUsingChaCha20(originalFileURL, key, iv) + let decryptedFileURL = try decryptFileUsingChaCha20(encryptedFileURL, key, iv) + + XCTAssertNotEqual(md5(originalFileURL), md5(encryptedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decryptedFileURL)) + } + + func testCompressEncryptDecryptDecompress1MBFileUsingChaCha20Stream() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(12) + + let originalFileURL = fileURL("1MB")! + let encryptedFileURL = try compressAndEncryptFileUsingChaCha20(originalFileURL, key, iv) + let decryptedFileURL = try decryptAndDecompressFileUsingChaCha20(encryptedFileURL, key, iv) + + XCTAssertNotEqual(md5(originalFileURL), md5(encryptedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decryptedFileURL)) + } + + func testEncryptingDecrypting1MBFileUsingAesStream() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + + let originalFileURL = fileURL("1MB")! + let encryptedFileURL = try encryptFileUsingAes(originalFileURL, key, iv) + let decryptedFileURL = try decryptFileUsingAes(encryptedFileURL, key, iv) + + XCTAssertNotEqual(md5(originalFileURL), md5(encryptedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decryptedFileURL)) + } + + func testCompressEncryptDecryptDecompress1MBFileUsingAesStream() throws { + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + + let originalFileURL = fileURL("1MB")! + let encryptedFileURL = try compressAndEncryptFileUsingAes(originalFileURL, key, iv) + let decryptedFileURL = try decryptAndDecompressFileUsingAes(encryptedFileURL, key, iv) + + XCTAssertNotEqual(md5(originalFileURL), md5(encryptedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decryptedFileURL)) + } + + func testDecompressing() throws { + let originalFileURL = fileURL("PlainText")! + let compressedFileURL = fileURL("PlainText","gz")! + + let decompressedFileURL = try decompressFileUsingGzip(compressedFileURL) + + XCTAssertEqual(md5(originalFileURL), md5(decompressedFileURL)) + } + + func testCompressDecompress1MBFileUsingGzipStream() throws { + let originalFileURL = fileURL("1MB")! + let compressedFileURL = try compressFileUsingGzip(originalFileURL) + let decompressedFileURL = try decompressFileUsingGzip(compressedFileURL) + + XCTAssertNotEqual(md5(originalFileURL), md5(compressedFileURL)) + XCTAssertEqual(md5(originalFileURL), md5(decompressedFileURL)) + } +} + +extension StreamKitTests { + func encryptFileUsingSalsa20(_ originalFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + + let encryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: encryptedFileURL)) + try outputFileStream.open() + + let encryptingStream = Salsa20OutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try encryptingStream.write(tmpBuffer, length: readLen) + } + + try encryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return encryptedFileURL + } + + func decryptAndDecompressFileUsingSalsa20(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decryptedFileURL)) + try outputFileStream.open() + + let decryptingStream = Salsa20InputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let decompressingStream = GzipInputStream(readingFrom: decryptingStream) + try decompressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decompressingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decompressingStream.close() + decryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decryptedFileURL + } + + func compressAndEncryptFileUsingSalsa20(_ originalFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + inputFileStream.close() + + let encryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: encryptedFileURL)) + try outputFileStream.open() + + let encryptingStream = Salsa20OutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + let compressingStream = GzipOutputStream(writingTo: encryptingStream) + try compressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try compressingStream.write(tmpBuffer, length: readLen) + } + + try compressingStream.close() + try encryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return encryptedFileURL + } + + func decryptFileUsingSalsa20(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decryptedFileURL)) + try outputFileStream.open() + + let decryptingStream = Salsa20InputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decryptedFileURL + } + + func encryptFileUsingChaCha20(_ originalFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + + let encryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: encryptedFileURL)) + try outputFileStream.open() + + let encryptingStream = ChaCha20OutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try encryptingStream.write(tmpBuffer, length: readLen) + } + + try encryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return encryptedFileURL + } + + func decryptFileUsingChaCha20(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decryptedFileURL)) + try outputFileStream.open() + + let decryptingStream = ChaCha20InputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decryptedFileURL + } + + func compressAndEncryptFileUsingChaCha20(_ originalFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + inputFileStream.close() + + let encryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: encryptedFileURL)) + try outputFileStream.open() + + let encryptingStream = ChaCha20OutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + let compressingStream = GzipOutputStream(writingTo: encryptingStream) + try compressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try compressingStream.write(tmpBuffer, length: readLen) + } + + try compressingStream.close() + try encryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return encryptedFileURL + } + + func decryptAndDecompressFileUsingChaCha20(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decryptedFileURL)) + try outputFileStream.open() + + let decryptingStream = ChaCha20InputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let decompressingStream = GzipInputStream(readingFrom: decryptingStream) + try decompressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decompressingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decompressingStream.close() + decryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decryptedFileURL + } + + func encryptFileUsingAes(_ originalFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + + let encryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: encryptedFileURL)) + try outputFileStream.open() + + let encryptingStream = AesOutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try encryptingStream.write(tmpBuffer, length: readLen) + } + + try encryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return encryptedFileURL + } + + func compressAndEncryptFileUsingAes(_ originalFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + inputFileStream.close() + + let encryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: encryptedFileURL)) + try outputFileStream.open() + + let encryptingStream = AesOutputStream(writingTo: outputFileStream, + key: key, + iv: iv) + try encryptingStream.open() + + let compressingStream = GzipOutputStream(writingTo: encryptingStream) + try compressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try compressingStream.write(tmpBuffer, length: readLen) + } + + try compressingStream.close() + try encryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return encryptedFileURL + } + + func decryptFileUsingAes(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decryptedFileURL)) + try outputFileStream.open() + + let decryptingStream = AesInputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decryptedFileURL + } + + func decryptAndDecompressFileUsingAes(_ encryptedFileURL: URL, _ key: [UInt8], _ iv: [UInt8]) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: encryptedFileURL)) + try inputFileStream.open() + + let decryptedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decryptedFileURL)) + try outputFileStream.open() + + let decryptingStream = AesInputStream(readingFrom: inputFileStream, + key: key, + iv: iv) + try decryptingStream.open() + + let decompressingStream = GzipInputStream(readingFrom: decryptingStream) + try decompressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decompressingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decryptingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decryptedFileURL + } + + func compressFileUsingGzip(_ originalFileURL: URL) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: originalFileURL)) + try inputFileStream.open() + + let compressedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: compressedFileURL)) + try outputFileStream.open() + + let compressingStream = GzipOutputStream(writingTo: outputFileStream) + try compressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while inputFileStream.hasBytesAvailable { + let readLen = inputFileStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try compressingStream.write(tmpBuffer, length: readLen) + } + + try compressingStream.close() + try outputFileStream.close() + inputFileStream.close() + + return compressedFileURL + } + + func decompressFileUsingGzip(_ compressedFileURL: URL) throws -> URL { + let inputFileStream = FileInputStream(with: try! FileHandle(forReadingFrom: compressedFileURL)) + try inputFileStream.open() + + let decompressedFileURL = createTmpFileURL(Self.tmpDir) + let outputFileStream = FileOutputStream(with: try! FileHandle(forWritingTo: decompressedFileURL)) + try outputFileStream.open() + + let decompressingStream = GzipInputStream(readingFrom: inputFileStream) + try decompressingStream.open() + + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decompressingStream.hasBytesAvailable { + let readLen = try decompressingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + try outputFileStream.write(tmpBuffer, length: readLen) + } + + decompressingStream.close() + try outputFileStream.close() + inputFileStream.close() + return decompressedFileURL + } +} diff --git a/Tests/TestHelpers/XCTestCase+Extensions.swift b/Tests/TestHelpers/XCTestCase+Extensions.swift new file mode 100644 index 0000000..6eb4371 --- /dev/null +++ b/Tests/TestHelpers/XCTestCase+Extensions.swift @@ -0,0 +1,86 @@ +// +// MIT License +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import Foundation + +extension XCTestCase { + func genBufferOfLen(_ len: Int) -> [UInt8] { + if len == 0 { return [] } + return (0.. String { + let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + return String((0.. String { + return Self.genRandStr(length) + } + + class func createTmpFolder() throws -> URL { + let randStr = genRandStr(32) + let pathURL = tmpFolderURL.appendingPathComponent(randStr) + let fm = FileManager.default + let path = pathURL.path + try fm.createDirectory(atPath: path, withIntermediateDirectories: true) + return pathURL + } + + class func removeTmpFolder(_ url: URL) throws { + let fm = FileManager.default + try fm.removeItem(at: url) + } + + func genTmpFileURL(_ folder: URL) -> URL { + let fileName = genRandStr(32) + let filePath = folder.appendingPathComponent(fileName) + FileManager.default.createFile(atPath: filePath.path, contents: nil) + return filePath + } + + func createTmpFileURL(_ folder: URL) -> URL { + let filePath = genTmpFileURL(folder) + FileManager.default.createFile(atPath: filePath.path, contents: nil) + return filePath + } + + func fileURL(_ file: String, _ ext: String? = nil) -> URL? { + let url = Bundle.module.url(forResource: file, withExtension: ext)! + return url + } + + +} diff --git a/Tests/TwoFishStream/TwoFishStreamTests.swift b/Tests/TwoFishStream/TwoFishStreamTests.swift new file mode 100644 index 0000000..a15a39e --- /dev/null +++ b/Tests/TwoFishStream/TwoFishStreamTests.swift @@ -0,0 +1,265 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class TwoFishStreamTests: XCTestCase { + func testForWrongKey() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(33) + let iv = genBufferOfLen(16) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testForWrongIV() { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(13) + XCTAssertThrowsError(try encrypt(sourceBuf, sourceBufLen, key, iv)) + } + + func testEncryptZeroLenBuffer() throws { + let sourceBufLen = 0 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertEqual(16, encryptedBuf.count) + } + + func testEncrypt16Bytes() throws { + let sourceBufLen = 16 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertEqual(32, encryptedBuf.count) + } + + func testEncrypt16BytesWithChunk16Bytes() throws { + let sourceBufLen = 16 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 16) + XCTAssertEqual(32, encryptedBuf.count) + } + + func testEncrypt63Bytes() throws { + let sourceBufLen = 63 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertEqual(64, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt64Bytes() throws { + let sourceBufLen = 64 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertEqual(80, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt65Bytes() throws { + let sourceBufLen = 65 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv) + XCTAssertEqual(80, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt127Bytes() throws { + let sourceBufLen = 127 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 127) + XCTAssertEqual(128, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt128Bytes() throws { + let sourceBufLen = 128 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 128) + XCTAssertEqual(144, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncrypt256Bytes() throws { + let sourceBufLen = 256 + let sourceBuf = genBufferOfLen(sourceBufLen) + let key = genBufferOfLen(32) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, sourceBufLen, key, iv, 256) + XCTAssertEqual(272, encryptedBuf.count) + XCTAssertNotEqual(sourceBuf, encryptedBuf) + } + + func testEncryptDecryptZeroLenBuffer() throws { + try encryptDecryptBufferOfLen(0, 32) + } + + func testEncryptDecrypt16Bytes() throws { + try encryptDecryptBufferOfLen(16,32) + } + + func testEncryptDecrypt16BytesWithChunk16Bytes() throws { + try encryptDecryptBufferOfLen(16,32,16) + } + + func testEncryptDecrypt17BytesWithChunk16Bytes() throws { + try encryptDecryptBufferOfLen(17,32) + } + + func testEncryptDecrypt32BytesWithChunk16Bytes() throws { + try encryptDecryptBufferOfLen(32,32,16) + } + + func testEncryptDecrypt64Bytes() throws { + try encryptDecryptBufferOfLen(64,32) + } + + func testEncryptDecrypt65Bytes() throws { + try encryptDecryptBufferOfLen(65,32) + } + + func testEncryptDecrypt192Bytes() throws { + try encryptDecryptBufferOfLen(192,32) + } + + func testEncryptDecrypt1024Bytes_2() throws { + try encryptDecryptBufferOfLen(127,32) + } + + func testEncryptDecrypt128Bytes() throws { + try encryptDecryptBufferOfLen(128,32) + } + + func testEncryptVariousLenBuffers() throws { + for pow in 0...14 { + let sourceBufLen = 1<, + _ len: Int, + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = TwoFishOutputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataOutputStream = BufferOutputStream() + try dataOutputStream.open() + + let encryptingStream = TwoFishOutputStream(writingTo: dataOutputStream, + key: key, + iv: iv, + chunkSize: chunkSize) + try encryptingStream.open() + try encryptingStream.write(buffer, length: len) + try encryptingStream.close() + + let resultData = dataOutputStream.buffer + try dataOutputStream.close() + return resultData + } + + func decrypt(_ buffer: [UInt8], + _ key: [UInt8], + _ iv: [UInt8], + _ chunkSize: Int = TwoFishInputStream.defaultChunkSize + ) throws -> [UInt8] { + let dataInputStream = BufferInputStream(withBuffer: buffer) + try dataInputStream.open() + + let decryptingStream = TwoFishInputStream(readingFrom: dataInputStream, + key: key, iv: iv, + chunkSize: chunkSize) + try decryptingStream.open() + + var decryptedBytes = [UInt8]() + let tmpBufferLen = 1<<16 + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + while decryptingStream.hasBytesAvailable { + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + decryptedBytes.append(contentsOf: tmpBuffer.prefix(readLen)) + } + return decryptedBytes + } + + func encryptDecryptBufferOfLen(_ bufLen: Int) throws { + for keyLen in 1...32 { + for chunkSize in [64,65,127,128,129,512,1023,1024] { + try encryptDecryptBufferOfLen(bufLen, keyLen, chunkSize) + } + } + } + + func encryptDecryptBufferOfLen(_ bufLen: Int, + _ keyLen: Int, + _ chunkSize: Int = TwoFishOutputStream.defaultChunkSize + ) throws { + let sourceBuf = genBufferOfLen(bufLen) + let key = genBufferOfLen(keyLen) + let iv = genBufferOfLen(16) + let encryptedBuf = try encrypt(sourceBuf, bufLen, key, iv, chunkSize) + let decryptedBuf = try decrypt(encryptedBuf, key, iv, chunkSize) + XCTAssertEqual(bufLen, decryptedBuf.count, "\(bufLen) \(chunkSize)") + XCTAssertEqual(sourceBuf, decryptedBuf, "\(bufLen) \(chunkSize)") + } +} diff --git a/Tests/Utils/UtilsTests.swift b/Tests/Utils/UtilsTests.swift new file mode 100644 index 0000000..b0ca1da --- /dev/null +++ b/Tests/Utils/UtilsTests.swift @@ -0,0 +1,34 @@ +// +// The MIT License (MIT) +// +// Copyright (c) 2023 Ihar Katkavets + +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +import XCTest +import StreamKit + +final class UtilsTests: XCTestCase { + func testCalculatingMD5() { + let inFileURL = fileURL("1MB")! + XCTAssertEqual([0xc7,0x2d,0xa9,0x5c,0xaa,0xf6,0x25,0xdb,0xb0,0x21,0xd7,0x2f,0x8c,0x42,0x72,0x2e], md5(inFileURL)) + } +} diff --git a/TwoFishStream.md b/TwoFishStream.md new file mode 100644 index 0000000..a9dfd3d --- /dev/null +++ b/TwoFishStream.md @@ -0,0 +1,46 @@ +# TwoFish Streams + +Twofish is a 128-bit block cipher that accepts a variable-length `key` up to 256 bits.
+`key` can be any length up to 256 bits
+`iv` must be 128 bits length +```swift +//let key: [UInt8] = Array(repeating: 0, count: 9) // for 72 bits length key +//let key: [UInt8] = Array(repeating: 0, count: 24) // for 192 bits length key +//let key: [UInt8] = Array(repeating: 0, count: 31) // for 248 bits length key +let key: [UInt8] = Array(repeating: 0, count: 32) // 256 bits length key +let iv: [UInt8] = Array(repeating: 0, count: 16) // 128 bits length initilization vector +``` + + +## Create output(encrypting) stream +```swift +let encryptingStream = TwoFishOutputStream(writingTo: anotherOutputStream, + key: key, + iv: iv, + chunkSize: chunkSize) +try encryptingStream.open() +try encryptingStream.write(buffer, length: len) +try encryptingStream.close() +``` + +## Create input(decrypting) stream +```swift +let decryptingStream = TwoFishInputStream(readingFrom: anotherInputStream, + key: key, + iv: iv, + chunkSize: chunkSize) +try decryptingStream.open() + +var decryptedBytes = [UInt8]() +while decryptingStream.hasBytesAvailable { + let tmpBufferLen = 1<<16 // 65KB buffer + var tmpBuffer = Array(repeating: 0, count: tmpBufferLen) + let readLen = try decryptingStream.read(&tmpBuffer, maxLength: tmpBufferLen) + decryptedBytes.append(contentsOf: tmpBuffer.prefix(readLen)) +} + +let decryptedData = Data(decryptedBytes) +``` + +# The information taken from +https://www.schneier.com/wp-content/uploads/2016/02/paper-twofish-paper.pdf

~a^ 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