1. #1
    U-Labs Plus-Mitglied

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard [Java] Packet-Verschlüsselung

    Ich wollte es eigentlich auf Banana-Coding releasen, aber ist ja zur Zeit (?) wegen eines Defaces down. Ist eigentlich nur für die Server-seitige Programmierung interessant, denn für den Client brauchen wir die Entschlüsselung, und die hab ich schon vor Ewigkeiten released. Ist vielleicht aber auch für andere interessant, DeKa hatte mich auch mal danach gefragt für seine Client Bridge, hier müssen die Pakete nach dem Entschlüsseln ja auch wieder verschlüsselt werden.

    Nach der Huffman-Kodierung folgt noch eine XOR-Verschlüsselung mit einem Key. Das Ganze ist so programmiert, dass der Key theoretisch unendlich lang sein könnte, besteht hier aber immer nur aus dem Char 'K'. Dadurch wird nur der Opcode verschlüsselt, und das nicht einmal random. Das Ganze bringt uns eigentlich nichts, aber egal, wir wollen cool sein und übernehmen es einfach mal so. Wer will kann ja auch einen Random Key generieren, aber auch das bringt nicht wirklich viel in Sachen Schutz gegen Packet Logger/Editoren.

    Code:
    byte[] bytes = Huffman.getEncoder().encode(packet, 0);
    
    if (key != null) {
    	for (int i = 0; i < key.length; i++) {
    		if (bytes.length <= i) {
    			break;
    		}
    
    		bytes[i] = (byte) (bytes[i] ^ key[i]);
    	}
    }
    Der Key wird dem Client mit dem Authentication-Packet (Opcode '(') übermittelt und wird danach festgelegt, sodass key hier im Code nicht mehr null ist.

    Edit: Wenn jemand einen Random Key generieren möchte, dann muss dieser getrimmt werden, entweder schon bei der Übergabe zum Client oder spätestens beim Festlegen.
    Geändert von Flav (22.04.2012 um 14:41 Uhr)

  2. The Following 2 Users Say Thank You to Flav For This Useful Post:

    Localhost (02.05.2012), Sky.NET (30.10.2012)

  3. #2
    U-Labs Routinier
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 497 Times in 239 Posts

    Standard AW: [Java] Packet-Verschlüsselung

    Nach der Huffman-Kodierung folgt noch eine XOR-Verschlüsselung mit einem Key.
    Nein. Vor der Huffman-Kodierung
    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  4. The Following User Says Thank You to Mentos For This Useful Post:

    Sky.NET (30.10.2012)

  5. #3
    U-Labs Plus-Mitglied

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard AW: [Java] Packet-Verschlüsselung

    Kommt jetzt etwas spät, weil ich eine Ewigkeit nicht aktiv war. Ob nach oder vor Huffman kommt natürlich ganz darauf an, ob du es aus Perspektive des Clients oder des Servers betrachtest.

  6. The Following User Says Thank You to Flav For This Useful Post:

    .Niklas (24.07.2013)

Ähnliche Themen

  1. Tor verschlüsselung und entschlüsselung
    Von Tony Montana im Forum Security
    Antworten: 1
    Letzter Beitrag: 01.07.2014, 11:49
  2. Verschlüsselung mithilfe Magnetkarten
    Von DANP im Forum Security
    Antworten: 1
    Letzter Beitrag: 29.12.2013, 02:14
  3. Verschenke EA Spiele-Packet
    Von Mentos im Forum Verschenke
    Antworten: 29
    Letzter Beitrag: 31.03.2013, 16:44
  4. [C#] Packet-Builder
    Von DeKaDeNz im Forum Sourcecode
    Antworten: 0
    Letzter Beitrag: 31.12.2011, 13:09
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191