1
$\begingroup$

I found (through some reverse-engineering) that the following encryption scheme is used in a commercial software that is quite widely used in Germany (Security by obscurity at its best).

I have the following two questions:

  1. Is this encryption scheme known in the literature, or is it a variation of a known scheme?
  2. Does anyone have any insights into how it might be implemented, other than using 20 different permutation tables?

The following plaintext/ciphertext (P/C) pairs should be sufficient to describe the encryption scheme (the scheme repeats itself every 10 bytes).

P: 00 00 00 00 00 00 00 00 00 00
C: B0 FA 92 F4 AB 54 3C 8A E3 A9

P: 01 01 01 01 01 01 01 01 01 01
C: B1 FB 93 F5 AA 55 3D 8B E2 A8

P: 02 02 02 02 02 02 02 02 02 02
C: B2 F8 90 F6 A9 56 3E 88 E1 AB

P: 03 03 03 03 03 03 03 03 03 03
C: B3 F9 91 F7 A8 57 3F 89 E0 AA

P: 04 04 04 04 04 04 04 04 04 04
C: B4 FE 96 F0 AF 50 38 8E E7 AD

P: 05 05 05 05 05 05 05 05 05 05
C: B5 FF 97 F1 AE 51 39 8F E6 AC

P: 06 06 06 06 06 06 06 06 06 06
C: B6 FC 94 F2 AD 52 3A 8C E5 AF

P: 07 07 07 07 07 07 07 07 07 07
C: B7 FD 95 F3 AC 53 3B 8D E4 AE

P: 08 08 08 08 08 08 08 08 08 08
C: B8 F2 9A FC A3 5C 34 82 EB A1

P: 09 09 09 09 09 09 09 09 09 09
C: B9 F3 9B FD A2 5D 35 83 EA A0

P: 0A 0A 0A 0A 0A 0A 0A 0A 0A 0A
C: BA F0 98 FE A1 5E 36 80 E9 A3

P: 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B
C: BB F1 99 FF A0 5F 37 81 E8 A2

P: 0C 0C 0C 0C 0C 0C 0C 0C 0C 0C
C: BC F6 9E F8 A7 58 30 86 EF A5

P: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
C: BD F7 9F F9 A6 59 31 87 EE A4

P: 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E
C: BE F4 9C FA A5 5A 32 84 ED A7

P: 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F
C: BF F5 9D FB A4 5B 33 85 EC A6

P: 10 10 10 10 10 10 10 10 10 10
C: A0 EA 82 E4 BB 44 2C 9A F3 B9

P: 20 20 20 20 20 20 20 20 20 20
C: 90 DA B2 D4 8B 74 1C AA C3 89

P: 30 30 30 30 30 30 30 30 30 30
C: 80 CA A2 C4 9B 64 0C BA D3 99

P: 40 40 40 40 40 40 40 40 40 40
C: F0 BA D2 B4 EB 14 7C CA A3 E9

P: 50 50 50 50 50 50 50 50 50 50
C: E0 AA C2 A4 FB 04 6C DA B3 F9

P: 60 60 60 60 60 60 60 60 60 60
C: D0 9A F2 94 CB 34 5C EA 83 C9

P: 70 70 70 70 70 70 70 70 70 70
C: C0 8A E2 84 DB 24 4C FA 93 D9

P: 80 80 80 80 80 80 80 80 80 80
C: 30 7A 12 74 2B D4 BC 0A 63 29

P: 90 90 90 09 90 90 90 90 90 90
C: 20 6A 02 FD 3B C4 AC 1A 73 39

P: A0 A0 A0 A0 A0 A0 A0 A0 A0 A0
C: 10 5A 32 54 0B F4 9C 2A 43 09

P: B0 B0 B0 B0 B0 B0 B0 B0 B0 B0
C: 00 4A 22 44 1B E4 8C 3A 53 19

P: C0 C0 C0 C0 C0 C0 C0 C0 C0 C0
C: 70 3A 52 34 6B 94 FC 4A 23 69

P: D0 D0 D0 D0 D0 D0 D0 D0 D0 D0
C: 60 2A 42 24 7B 84 EC 5A 33 79

P: E0 E0 E0 E0 E0 E0 E0 E0 E0 E0
C: 50 1A 72 14 4B B4 DC 6A 03 49

P: F0 F0 F0 F0 F0 F0 F0 F0 F0 F0
C: 40 0A 62 04 5B A4 CC 7A 13 59
$\endgroup$
5
  • $\begingroup$ Your question is off-topic here. I suggest that you ask this question to the software manufacturer directly. $\endgroup$ – Henrick Hellström Jan 11 '16 at 0:19
  • 2
    $\begingroup$ Although off-topic, this looks like XOR with your first C as the key. $\endgroup$ – yyyyyyy Jan 11 '16 at 0:20
  • $\begingroup$ Since I'm new here, I would like to learn why the question whether this is a known encryption scheme or rather something 'home-brewed' is considered off-topic. The question is directly related to cryptography, and it is neither "opinion-based", nor should it "require an extremely long answer". Asking the manufacturer will not be of any help regarding my questions because they believe in the security of their encryption. $\endgroup$ – andreas Jan 11 '16 at 1:47
  • $\begingroup$ @andreas I think your comment there should be posted on our meta site. That site is for asking questions about the site itself. $\endgroup$ – mikeazo Jan 11 '16 at 4:04
  • 1
    $\begingroup$ c[i] = p[i] xor key[i mod 10]. Using xor is a common choice for synchronous stream ciphers. A repeated key is used by the Vigenère cipher, though it's traditionally used with character-wise modular addition instead of bit-wise xor. $\endgroup$ – CodesInChaos Jan 11 '16 at 13:24

Browse other questions tagged or ask your own question.