Example #1
0
File: OFB.cs Project: Ret4rd/MARS
        public async Task <byte[]> Encode(byte[] message)
        {
            var m = (byte[])message.Clone();
            var c = new List <byte>();

            byte[] prev = _c0;

            for (int i = 0; i < message.Length; i += _algorithm.Size)
            {
                await Task.Run(() => c.AddRange(_algorithm.EncodeBlock(prev)));

                prev = c.Skip(i).Take(_algorithm.Size).ToArray();
                for (int j = 0; j < _algorithm.Size; j++)
                {
                    c[i + j] ^= m[i + j];
                }
                form.progressBar.Value = (int)(i / (float)message.Length * 100);
            }

            return(c.ToArray());
        }
Example #2
0
File: ECB.cs Project: Ret4rd/MARS
        public async Task <byte[]> Encode(byte[] message)
        {
            var c = new List <byte>();

            for (int i = 0; i < message.Length; i += _algorithm.Size)
            {
                await Task.Run(() => c.AddRange(_algorithm.EncodeBlock(message.Skip(i).Take(_algorithm.Size).ToArray())));

                if (Thread.CurrentThread.ManagedThreadId == form.ThreadId)
                {
                    form.progressBar.Value = (int)(i / (float)message.Length * 100);
                }
            }


            return(c.ToArray());
        }