protocol formatting test
other stuff too
This commit is contained in:
parent
3fb9399440
commit
c8bb3ceafd
6 changed files with 15 additions and 9 deletions
|
@ -34,10 +34,14 @@ All numbers, unless otherwise specified, are the string representation of a base
|
||||||
|
|
||||||
#### Server to Client
|
#### Server to Client
|
||||||
|
|
||||||
0. Login/registration request.
|
0. Diffie-Hellman key exchange
|
||||||
|
| Region | | | Length |
|
||||||
|
| ------ | --- | --- | ------ |
|
||||||
|
| test | a | b | c |
|
||||||
|
|
||||||
#### Client to Server
|
#### Client to Server
|
||||||
|
|
||||||
|
0. Diffie-Hellman key exchange
|
||||||
|
|
||||||
|
|
||||||
## Sockstamps
|
## Sockstamps
|
||||||
|
|
|
@ -32,7 +32,5 @@ namespace CircleScape.Encryption {
|
||||||
cipher[x] = state[(state[i] + state[j]) % 256];
|
cipher[x] = state[(state[i] + state[j]) % 256];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://bradconte.com/rc4_c
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,14 +4,18 @@ using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
using Square;
|
||||||
|
|
||||||
namespace CircleScape.Encryption {
|
namespace CircleScape.Encryption {
|
||||||
class KeyExchange {
|
class KeyExchange {
|
||||||
private BigInteger Secret;
|
private BigInteger Secret;
|
||||||
public BigInteger Generator { get; private set; }
|
public BigInteger Generator { get; private set; } = 2;
|
||||||
public BigInteger Modulus { get; private set; }
|
public BigInteger Modulus { get; private set; }
|
||||||
public BigInteger PrivateKey { get; private set; }
|
public BigInteger PrivateKey { get; private set; } = BigInteger.MinusOne;
|
||||||
|
|
||||||
// https://security.stackexchange.com/questions/45963/diffie-hellman-key-exchange-in-plain-english/45971#45971
|
public KeyExchange() {
|
||||||
|
Secret = RNG.NextPrime(512 / 8);
|
||||||
|
Modulus = RNG.NextPrime(512 / 8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ using Square;
|
||||||
namespace CircleScape {
|
namespace CircleScape {
|
||||||
class Entrypoint {
|
class Entrypoint {
|
||||||
static void Main(string[] args) {
|
static void Main(string[] args) {
|
||||||
var a = Square.Random.NextPrime(512 / 8);
|
var a = Square.RNG.NextPrime(512 / 8);
|
||||||
Console.WriteLine(a.ToString("X"));
|
Console.WriteLine(a.ToString("X"));
|
||||||
|
|
||||||
var server = new Kneesocks.Server<PendingConnection>(6770, PoolManager.Pending);
|
var server = new Kneesocks.Server<PendingConnection>(6770, PoolManager.Pending);
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace Square {
|
||||||
if(absValue < 25) return true;
|
if(absValue < 25) return true;
|
||||||
|
|
||||||
for(var i = 0; i < iterations; ++i) {
|
for(var i = 0; i < iterations; ++i) {
|
||||||
var rand = Random.NextBigInt(2, absValue - 2);
|
var rand = RNG.NextBigInt(2, absValue - 2);
|
||||||
if(!BigInteger.ModPow(rand, absValue - 1, absValue).IsOne) return false;
|
if(!BigInteger.ModPow(rand, absValue - 1, absValue).IsOne) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
|
||||||
namespace Square {
|
namespace Square {
|
||||||
public static class Random {
|
public static class RNG {
|
||||||
private static System.Random RandCtx = new System.Random();
|
private static System.Random RandCtx = new System.Random();
|
||||||
|
|
||||||
public static int Next() {
|
public static int Next() {
|
||||||
|
|
Loading…
Reference in a new issue