HackSlasher wrote: |
Any chance on setting an ambient friction level? That could be useful in some servers... ![]() |
Cyan~Fire wrote: |
The only problem is that your code is in a different language than Continuum. |
Qndre wrote: |
it has a key length of 48960 bit - that's very strong |
Qndre wrote: |
Priit won't implement such a function in his client although I've already written a piece of code which would do it. |
Mr Ekted wrote: |
Yes, as if someone could even come close to writing drop-in code for a system they have never seen. |
Qndre wrote: |
Priit won't implement such a function in his client although I've already written a piece of code which would do it. |
Mine GO BOOM wrote: |
So you know, key length is not a good indicator of the strength of an encryption. |
Mine GO BOOM wrote: |
it is possible, though improbable, that Qndre can succeed |
Qndre wrote: |
...something like x squared... |
Mine GO BOOM wrote: |
at least can make a Hello World in C that doesn't require a 11meg runtime file download. |
Mr Ekted wrote: |
[..]
Note that multiplication in encryption is bad. Every time either value has a lower bit of zero, you are forcing zeros to shift into the right side. So after 8 multiplies, the lower byte is all zero, effectively reducing the key size. I suggest you stick with addition/subtraction, xor, and table lookups. |
Qndre wrote: |
[..]
The biggest problem at the moment is that I forgot how to convert a Long to a String (something with RtlMoveMemory kernel function but I don't know how exactly it works). |
Cyan~Fire wrote: |
Instead of checking to see if the keystream is repeating itself (which will turn out very flawed), you should design a formula that will prevent it from doing so. It will be much easier than trying to sync random changes between client and server. |
Mr Ekred wrote: |
In BASIC? You want to take a long, and turn it into a string with 4 bytes the same as they are in the long? |
Qndre wrote: |
I've written a very cool new protocol and I'm just modifying the subgame2 to support it. The additional features in this protocol will be great. Everthing which is unsupported at the moment will run through a 0x00FE (additional features packet) or 0x00FF (META encryption keychange packet). This will make subgame supporting kinds of DLL plugins and keep new capabilities open (like third dimension coordinates or so). |
Code: Show/Hide 0x00FE - Additional Features Packet (METASPACE only) Offset Length Parameter 0 2 Header (0x00FE) 2 2 Feature ID 4 ... Parameters of the new feature 0x00FF - META Encryption Keychange Packet (METASPACE only) Offset Length Parameter 0 2 Header (0x00FF) 2 2 16-bit key seed |
Smong wrote: |
He's just using a proxy ATM, but I expect he will try and make something like fix.dll after a lot of roundabout question asking. |
Quote: |
[..] My server system (or the proxy/plugin between an existing subgame2 and METASPACE) [..] |
Cyan~Fire wrote: |
I'm confused though. If you're just going to be using a proxy, then it'll still appear as VIE to subgame... |
nintendo64 wrote: |
[..] Here are some links, Qndre, in case you want to have more functionality on Subgame2. http://its.mine.nu/html/re/essays/dracon-add.html http://its.mine.nu/html/re/essays/dracon-add2.html -nintendo64 |
Cyan~Fire wrote: |
I really doubt whether anyone will want to run a Qndre-hacked subgame2 for their server. Also, I really doubt whether many zone sysops will care enough about your client to personally add users to the VIP list. |
Qndre wrote: |
And that's what they won't do because they have armageddon-like panic of cheaters. |
Mr Ekted wrote: |
Changing the key on the fly means there could be many packets that do not properly decrypt. Do you plan to allow either key for a period of time after the key change is sent? |
Mr Ekted wrote: |
Changing the key on the fly means there could be many packets that do not properly decrypt. |
Mr Ekted wrote: |
If the encryption method is sound, trust it to stand on its own. If you need to change keys because the first key isn't good enough, then the second one isn't good enough either. |
Code: Show/Hide Sent ("Byte #" and "Key for Byte #") Key: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 Data:01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 Recieved Key: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 Data:07 01 02 03 04 05 06 08 15 16 17 09 10 11 12 13 14 18 19 20 22 21 - DECRYPTION WILL FAIL - |
Qndre wrote: |
Someone told me that CONT also changes the "scrty1" after some time or after some bytes sent. Client has to send the new key about 20 packets before it's used and server should use it if this "key-latency-period" (20 packets or so) is over.
... CONT also changes the key in-session. And the encryption not bad only because it does. But changing the key will prevent it from being calculated using a known-plaintext attack (feedback doesn't really prevent keys from being attacked). |
Mine GO BOOM wrote: |
[..] What did you learn from the last time? Don't trust what everyone says 100%. Whomever told you this knows very little about the encryption Continuum uses. I suggest you look into this a bit more, and you'll see that Continuum in fact uses the same key the whole time, and doesn't change as long as your connected. [..] |
Mr Ekted wrote: |
It is possible to design an encryption algorithm that can be restarted at the beginning of every UDP packet, that is also very resistant to plain text attack. Think about the way hashes work: every bit of the input affects every bit of the output. |
Qndre wrote: |
My chat-friend just found some code/data inside CONT which could be able to do so. But he wasn't sure if this code is used. |
Mr Ekted wrote: |
Also, if your algorithm is greater than 56-bit symmetric key, and you plan on having it available (download source or binaries) on servers in the US, you basically need NSA "permission". This is seriously fucked up, but it's true. |
Mr Ekted wrote: |
Also, if your algorithm is greater than 56-bit symmetric key, and you plan on having it available (download source or binaries) on servers in the US, you basically need NSA "permission". This is seriously fucked up, but it's true. |
Qndre wrote: |
Do you think that VIE had a permission for their encryption (520 byte - 4160 bit) or Priit has a permission for his encryption (2x 80 byte - 1280 bit (2x because there is a 80 byte (640 bit) key for S2C and a 80 byte (640 bit) key C2S))? |
Mine GO BOOM wrote: |
[..]
VIE uses only a 4 byte encryption. [..] Still wondering where you get your numbers... |
Mr Ekted wrote: |
Qndre, it's the length of the key. If a 32-bit key creates the keystream, then there are only 2^32 possible keystreams. That is the point. This can be brute-forced by any desktop system in less than an hour if you know the algorithm. |
Qndre wrote: |
k |