diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2017-01-04 23:27:36 -0500 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2017-01-04 23:27:36 -0500 |
| commit | 4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99 (patch) | |
| tree | ac47724191a8959c19b2408d4da384d64b6098ec /gamemode/shared/lockbox/ecb.lua | |
| parent | 2c4329e2b6e19182a441f79a5c3010011f8ae767 (diff) | |
| download | artery-4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99.tar.gz artery-4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99.tar.bz2 artery-4879eb1d78520ce0ac9b0bb0ef5244cf65ad7c99.zip | |
Started refactoring item and inventory system
Diffstat (limited to 'gamemode/shared/lockbox/ecb.lua')
| -rw-r--r-- | gamemode/shared/lockbox/ecb.lua | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/gamemode/shared/lockbox/ecb.lua b/gamemode/shared/lockbox/ecb.lua deleted file mode 100644 index 67f4514..0000000 --- a/gamemode/shared/lockbox/ecb.lua +++ /dev/null @@ -1,191 +0,0 @@ -local Array = include("array.lua"); -local Stream = include("stream.lua"); -local Queue = include("queue.lua"); - -local Bit = include("bit.lua"); - -local CBC = {}; - -CBC.Cipher = function() - - local public = {}; - - local key; - local blockCipher; - local padding; - local inputQueue; - local outputQueue; - local iv; - - public.setKey = function(keyBytes) - print("Set key to:") - print(keyBytes) - key = keyBytes; - return public; - end - - public.setBlockCipher = function(cipher) - blockCipher = cipher; - return public; - end - - public.setPadding = function(paddingMode) - padding = paddingMode; - return public; - end - - public.init = function() - inputQueue = Queue(); - outputQueue = Queue(); - iv = nil; - return public; - end - - public.update = function(messageStream) - print("Entering update") - local byte = messageStream(); - while (byte ~= nil) do - print("processing byte") - inputQueue.push(byte); - print("inputQueue.size is:" .. inputQueue.size()) - print("blockCipher.blockSize:" .. blockCipher.blockSize) - if(inputQueue.size() >= blockCipher.blockSize) then - print("reading from queue") - local block = Array.readFromQueue(inputQueue,blockCipher.blockSize); - if(iv == nil) then - print("iv was nil, iv is now") - iv = block; - PrintTable(block) - else - print("iv was not nil, doing thing") - local out = Array.XOR(iv,block); - print("Calling encrypt with key:") - print(key) - print("and out") - print(out) - out = blockCipher.encrypt(key,out); - print("Out was:") - print(out) - Array.writeToQueue(outputQueue,out); - iv = out; - end - end - byte = messageStream(); - end - print("Before update returned, blockCipher was ") - PrintTable(blockCipher) - return public; - end - - public.finish = function() - paddingStream = padding(blockCipher.blockSize,inputQueue.getHead()); - public.update(paddingStream); - - return public; - end - - public.getOutputQueue = function() - return outputQueue; - end - - public.asHex = function() - print("Outputqueue is:") - PrintTable(outputQueue) - return Stream.toHex(outputQueue.pop); - end - - public.asBytes = function() - return Stream.toArray(outputQueue.pop); - end - - return public; - -end - - -CBC.Decipher = function() - - local public = {}; - - local key; - local blockCipher; - local padding; - local inputQueue; - local outputQueue; - local iv; - - public.setKey = function(keyBytes) - key = keyBytes; - return public; - end - - public.setBlockCipher = function(cipher) - blockCipher = cipher; - return public; - end - - public.setPadding = function(paddingMode) - padding = paddingMode; - return public; - end - - public.init = function() - inputQueue = Queue(); - outputQueue = Queue(); - iv = nil; - return public; - end - - public.update = function(messageStream) - print("Updateing decipher with messagestream") - local byte = messageStream(); - while (byte ~= nil) do - inputQueue.push(byte); - if(inputQueue.size() >= blockCipher.blockSize) then - local block = Array.readFromQueue(inputQueue,blockCipher.blockSize); - - if(iv == nil) then - iv = block; - print("Setting iv to ") - PrintTable(iv) - else - local out = block; - out = blockCipher.decrypt(key,out); - out = Array.XOR(iv,out); - Array.writeToQueue(outputQueue,out); - iv = block; - end - end - byte = messageStream(); - end - return public; - end - - public.finish = function() - paddingStream = padding(blockCipher.blockSize,inputQueue.getHead()); - public.update(paddingStream); - - return public; - end - - public.getOutputQueue = function() - return outputQueue; - end - - public.asHex = function() - return Stream.toHex(outputQueue.pop); - end - - public.asBytes = function() - return Stream.toArray(outputQueue.pop); - end - - public.asString = function() - return Stream.toString(outputQueue.pop) - end - - return public; - -end - -return CBC; |
