fixed some naming

This commit is contained in:
Johannes Loher 2016-02-16 20:49:02 +01:00
parent 9b9e023e61
commit 791e048012

View file

@ -21,7 +21,7 @@ auto chacha20Cipher(R)(R range, ubyte[32] key, ubyte[8] nonce)
ubyte[8] nonce; ubyte[8] nonce;
ulong count; ulong count;
R range; R range;
ubyte[] salsaSection; ubyte[] chachaSection;
public: public:
this(R range, in ubyte[32] key, in ubyte[8] nonce) this(R range, in ubyte[32] key, in ubyte[8] nonce)
{ {
@ -29,28 +29,28 @@ auto chacha20Cipher(R)(R range, ubyte[32] key, ubyte[8] nonce)
this.key = key; this.key = key;
this.nonce = nonce; this.nonce = nonce;
this.count = 0; this.count = 0;
salsaSection = salsa20Exp(key, nonce ~ littleEndianInv(count)); chachaSection = chacha20Exp(key, nonce ~ littleEndianInv(count));
} }
bool empty() @property bool empty() @property
{ {
return range.empty || (count == ulong.max && salsaSection.empty); return range.empty || (count == ulong.max && chachaSection.empty);
} }
ubyte front() @property ubyte front() @property
{ {
assert(!empty); assert(!empty);
return range.front ^ salsaSection.front; return range.front ^ chachaSection.front;
} }
void popFront() void popFront()
{ {
assert(!empty); assert(!empty);
salsaSection.popFront(); chachaSection.popFront();
if(salsaSection.empty) if(chachaSection.empty)
{ {
++count; ++count;
salsaSection = salsa20Exp(key, nonce ~ littleEndianInv(count)); chachaSection = chacha20Exp(key, nonce ~ littleEndianInv(count));
} }
range.popFront(); range.popFront();
} }
@ -63,7 +63,7 @@ auto chacha20Cipher(R)(R range, ubyte[32] key, ubyte[8] nonce)
copy.key = key.dup; copy.key = key.dup;
copy.nonce = nonce.dup; copy.nonce = nonce.dup;
copy.count = count; copy.count = count;
copy.salsaSection = salsaSection.dup; copy.chachaSection = chachaSection.dup;
return copy; return copy;
} }
} }
@ -262,26 +262,26 @@ body
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
test0 = salsa20(test0); test0 = chacha20(test0);
ubyte[] test1 = [211,159, 13,115, 76, 55, 82,183, 3,117,222, 37,191,187,234,136, ubyte[] test1 = [211,159, 13,115, 76, 55, 82,183, 3,117,222, 37,191,187,234,136,
49,237,179, 48, 1,106,178,219,175,199,166, 48, 86, 16,179,207, 49,237,179, 48, 1,106,178,219,175,199,166, 48, 86, 16,179,207,
31,240, 32, 63, 15, 83, 93,161,116,147, 48,113,238, 55,204, 36, 31,240, 32, 63, 15, 83, 93,161,116,147, 48,113,238, 55,204, 36,
79,201,235, 79, 3, 81,156, 47,203, 26,244,243, 88,118,104, 54]; 79,201,235, 79, 3, 81,156, 47,203, 26,244,243, 88,118,104, 54];
test1 = salsa20(test1); test1 = chacha20(test1);
ubyte[] test2 = [ 88,118,104, 54, 79,201,235, 79, 3, 81,156, 47,203, 26,244,243, ubyte[] test2 = [ 88,118,104, 54, 79,201,235, 79, 3, 81,156, 47,203, 26,244,243,
191,187,234,136,211,159, 13,115, 76, 55, 82,183, 3,117,222, 37, 191,187,234,136,211,159, 13,115, 76, 55, 82,183, 3,117,222, 37,
86, 16,179,207, 49,237,179, 48, 1,106,178,219,175,199,166, 48, 86, 16,179,207, 49,237,179, 48, 1,106,178,219,175,199,166, 48,
238, 55,204, 36, 31,240, 32, 63, 15, 83, 93,161,116,147, 48,113]; 238, 55,204, 36, 31,240, 32, 63, 15, 83, 93,161,116,147, 48,113];
test2 = salsa20(test2); test2 = chacha20(test2);
ubyte[] test3 = [ 6,124, 83,146, 38,191, 9, 50, 4,161, 47,222,122,182,223,185, ubyte[] test3 = [ 6,124, 83,146, 38,191, 9, 50, 4,161, 47,222,122,182,223,185,
75, 27, 0,216, 16,122, 7, 89,162,104,101,147,213, 21, 54, 95, 75, 27, 0,216, 16,122, 7, 89,162,104,101,147,213, 21, 54, 95,
225,253,139,176,105,132, 23,116, 76, 41,176,207,221, 34,157,108, 225,253,139,176,105,132, 23,116, 76, 41,176,207,221, 34,157,108,
94, 94, 99, 52, 90,117, 91,220,146,190,239,143,196,176,130,186]; 94, 94, 99, 52, 90,117, 91,220,146,190,239,143,196,176,130,186];
foreach(i; 0..1000000) foreach(i; 0..1000000)
test3 = salsa20(test3); test3 = chacha20(test3);
assert(test0 == [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, assert(test0 == [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -338,7 +338,7 @@ body
foreach(i; 0..16) foreach(i; 0..16)
n[i] = cast(ubyte)(i + 1+ 100); n[i] = cast(ubyte)(i + 1+ 100);
assert(salsa20Exp(key, n) == [ 69, 37, 68, 39, 41, 15,107,193,255,139,122, 6,170,233,217, 98, assert(chacha20Exp(key, n) == [ 69, 37, 68, 39, 41, 15,107,193,255,139,122, 6,170,233,217, 98,
89,144,182,106, 21, 51,200, 65,239, 49,222, 34,215,114, 40,126, 89,144,182,106, 21, 51,200, 65,239, 49,222, 34,215,114, 40,126,
104,197, 7,225,197,153, 31, 2,102, 78, 76,176, 84,245,246,184, 104,197, 7,225,197,153, 31, 2,102, 78, 76,176, 84,245,246,184,
177,160,133,130, 6, 72,149,119,192,195,132,236,234,103,246, 74]); 177,160,133,130, 6, 72,149,119,192,195,132,236,234,103,246, 74]);