Tuesday, March 17, 2020

Enigma UHR Switch Test Vectors

While working on an Arduino based Uhr Switch to be externally attached to an Enigma Machine Simulator, the need to verify the correctness of the implementation arose.
https://www.instagram.com/p/B9wicTznNrp/
https://www.instagram.com/explore/tags/megaenigma/

The UHR switch is described here:
https://www.cryptomuseum.com/crypto/enigma/uhr/index.htm

A reference implementation can be found here:
http://people.physik.hu-berlin.de/~palloks/js/enigma/enigma-u_v25_en.html

Most likely nobody needs these, but here they are just in case:

Enigma UHR Switch Test Vectors...

lower case strings come from Daniel Palloks Universal Enigma
http://people.physik.hu-berlin.de/~palloks/js/enigma/index_en.html

plug mappings are calculated by an Arduino sketch

Sample UHR strings calculated from plugs below
1a is letter A
1b is letter B
6a is letter K
6b is letter L
Letters UVWXYZ are not plugged

UHR 0 acts as normal plugs
UHR 4,8,12,etc are symmetrical substitutions
All other UHR values are asymmetric substitutions

letters like those on UHR:1 line 1  A->F N->E  are hand verified

11 22 33 44 55 66 77 88 99 1010
ab ab ab ab ab ab ab ab ab  a b
AB CD EF GH IJ KL MN OP QR  S T

UHR:0
abcdefghijklmnopqrstuvwxyz
badcfehgjilknmporqtsuvwxyz
1a->1b 7b->7a
2a->2b 1b->1a
3a->3b 8b->8a
4a->4b 6b->6a
5a->5b 2b->2a
6a->6b 9b->9a
7a->7b 5b->5a
8a->8b 3b->3a
9a->9b 10b->10a
10a->10b 4b->4a

UHR:1
abcdefghijklmnopqrstuvwxyz
fohkrapgjcnqbetsdilmuvwxyz   
1a->3b 7b->3a        A->F N->E
2a->4b 1b->8a        C->H B->O
3a->9b 8b->10a       E->R P->S
4a->8b 6b->9a
5a->5b 2b->6a
6a->7b 9b->5a
7a->1b 5b->2a
8a->10b 3b->1a
9a->2b 10b->7a
10a->6b 4b->4a

UHR:2
abcdefghijklmnopqrstuvwxyz
nslajctergpihkbmdofquvwxyz
1a->7b 7b->6a
2a->6b 1b->10a
3a->5b 8b->7a
4a->10b 6b->5a
5a->9b 2b->1a
6a->8b 9b->8a
7a->4b 5b->4a
8a->1b 3b->2a
9a->2b 10b->9a
10a->3b 4b->3a

UHR:3
abcdefghijklmnopqrstuvwxyz
jkrohstadglqfinepcbmuvwxyz
1a->5b 7b->5a
2a->9b 1b->6a
3a->4b 8b->3a
4a->10b 6b->9a
5a->2b 2b->8a
6a->6b 9b->2a
7a->3b 5b->4a
8a->7b 3b->10a
9a->8b 10b->7a
10a->1b 4b->1a

UHR:4
abcdefghijklmnopqrstuvwxyz
lmjotqrkpchabsdifgneuvwxyz
1a->6b 7b->10a
2a->5b 1b->7a
3a->10b 8b->5a
4a->9b 6b->1a
5a->8b 2b->8a
6a->4b 9b->4a
7a->1b 5b->2a
8a->2b 3b->9a
9a->3b 10b->3a
10a->7b 4b->6a

UHR:5
abcdefghijklmnopqrstuvwxyz
tqdgbkrchsnifmlopajeuvwxyz
1a->10b 7b->7a
2a->2b 1b->9a
3a->1b 8b->8a
4a->9b 6b->5a
5a->4b 2b->4a
6a->7b 9b->1a
7a->3b 5b->10a
8a->6b 3b->6a
9a->8b 10b->3a
10a->5b 4b->2a

UHR:6
abcdefghijklmnopqrstuvwxyz
pkrmfodibatsnqlgjehcuvwxyz
1a->8b 7b->9a
2a->9b 1b->6a
3a->3b 8b->4a
4a->2b 6b->10a
5a->1b 2b->7a
6a->10b 9b->3a
7a->7b 5b->1a
8a->6b 3b->8a
9a->5b 10b->2a
10a->4b 4b->5a

UHR:7
abcdefghijklmnopqrstuvwxyz
dctafklgpqjmhibonersuvwxyz
1a->2b 7b->5a
2a->10b 1b->2a
3a->3b 8b->8a
4a->6b 6b->7a
5a->8b 2b->1a
6a->5b 9b->3a
7a->4b 5b->9a
8a->1b 3b->6a
9a->7b 10b->10a
10a->9b 4b->4a

UHR:8
abcdefghijklmnopqrstuvwxyz
rgfedcbqtonmlkjshapiuvwxyz
1a->9b 7b->6a
2a->3b 1b->4a
3a->2b 8b->10a
4a->1b 6b->7a
5a->10b 2b->3a
6a->7b 9b->1a
7a->6b 5b->8a
8a->5b 3b->2a
9a->4b 10b->5a
10a->8b 4b->9a

UHR:9
abcdefghijklmnopqrstuvwxyz
lmnsdctkhijepobgrqfauvwxyz
1a->6b 7b->8a
2a->7b 1b->7a
3a->2b 8b->4a
4a->10b 6b->3a
5a->4b 2b->10a
6a->5b 9b->9a
7a->8b 5b->5a
8a->1b 3b->2a
9a->9b 10b->1a
10a->3b 4b->6a

UHR:10
abcdefghijklmnopqrstuvwxyz
dejclanofmhkpirqtsbguvwxyz
1a->2b 7b->5a
2a->5b 1b->3a
3a->6b 8b->9a
4a->7b 6b->6a
5a->3b 2b->2a
6a->4b 9b->10a
7a->8b 5b->7a
8a->9b 3b->1a
9a->10b 10b->4a
10a->1b 4b->8a

UHR:11
abcdefghijklmnopqrstuvwxyz
fmjcpqbgritsnahkdoleuvwxyz
1a->3b 7b->1a
2a->5b 1b->7a
3a->8b 8b->6a
4a->1b 6b->10a
5a->9b 2b->2a
6a->10b 9b->8a
7a->7b 5b->5a
8a->4b 3b->9a
9a->2b 10b->3a
10a->6b 4b->4a

UHR:12
abcdefghijklmnopqrstuvwxyz
jqlsngfihapcretkbmdouvwxyz
1a->5b 7b->3a
2a->6b 1b->9a
3a->7b 8b->6a
4a->3b 6b->2a
5a->4b 2b->10a
6a->8b 9b->7a
7a->9b 5b->1a
8a->10b 3b->4a
9a->1b 10b->8a
10a->2b 4b->5a

UHR:13
abcdefghijklmnopqrstuvwxyz
helofstmrabqnkdcjgpiuvwxyz
1a->4b 7b->6a    A->H N->K
2a->6b 1b->3a
3a->3b 8b->2a
4a->10b 6b->9a
5a->9b 2b->8a
6a->1b 9b->4a
7a->7b 5b->1a
8a->2b 3b->10a   O->D F->S
9a->5b 10b->5a
10a->8b 4b->7a

UHR:14
abcdefghijklmnopqrstuvwxyz
ropqhejgtsbadcfinklmuvwxyz
1a->9b 7b->2a
2a->8b 1b->8a
3a->4b 8b->5a
4a->5b 6b->1a
5a->10b 2b->9a
6a->1b 9b->6a
7a->2b 5b->10a
8a->3b 3b->3a
9a->7b 10b->7a
10a->6b 4b->4a

UHR:15
abcdefghijklmnopqrstuvwxyz
ribmncdsfohatklqpgjeuvwxyz
1a->9b 7b->6a
2a->1b 1b->5a
3a->7b 8b->9a
4a->2b 6b->1a
5a->3b 2b->7a
6a->4b 9b->4a
7a->10b 5b->8a
8a->6b 3b->2a
9a->8b 10b->3a
10a->5b 4b->10a

UHR:16
abcdefghijklmnopqrstuvwxyz
pihkjmtcbedqfonalsrguvwxyz
1a->8b 7b->8a
2a->4b 1b->5a
3a->5b 8b->1a
4a->10b 6b->9a
5a->1b 2b->6a
6a->2b 9b->10a
7a->3b 5b->3a
8a->7b 3b->7a
9a->6b 10b->4a
10a->9b 4b->2a

UHR:17
abcdefghijklmnopqrstuvwxyz
pajefgdinqhmlcrobstkuvwxyz
1a->8b 7b->2a
2a->5b 1b->1a
3a->3b 8b->8a
4a->2b 6b->7a
5a->7b 2b->3a
6a->4b 9b->10a
7a->6b 5b->9a
8a->9b 3b->4a
9a->1b 10b->6a
10a->10b 4b->5a

UHR:18
abcdefghijklmnopqrstuvwxyz
bgtirkfanclojmhspqdeuvwxyz
1a->1b 7b->7a
2a->10b 1b->4a
3a->9b 8b->10a
4a->3b 6b->8a
5a->7b 2b->5a
6a->6b 9b->9a
7a->5b 5b->2a
8a->4b 3b->6a
9a->8b 10b->3a
10a->2b 4b->1a

UHR:19
abcdefghijklmnopqrstuvwxyz
nohelcjitafkpgbsrmdquvwxyz
1a->7b 7b->4a
2a->4b 1b->8a
3a->6b 8b->10a
4a->5b 6b->6a
5a->10b 2b->3a
6a->3b 9b->7a
7a->8b 5b->1a
8a->1b 3b->2a
9a->9b 10b->9a
10a->2b 4b->5a

UHR:20
abcdefghijklmnopqrstuvwxyz
tsrqfenmlkjihgpodcbauvwxyz
1a->10b 7b->4a
2a->9b 1b->10a
3a->3b 8b->8a
4a->7b 6b->5a
5a->6b 2b->9a
6a->5b 9b->2a
7a->4b 5b->6a
8a->8b 3b->3a
9a->2b 10b->1a
10a->1b 4b->7a

UHR:21
abcdefghijklmnopqrstuvwxyz
rmjqlihatepcdsnkfobguvwxyz
1a->9b 7b->10a
2a->5b 1b->7a
3a->6b 8b->6a
4a->4b 6b->2a
5a->10b 2b->9a
6a->8b 9b->8a
7a->2b 5b->3a
8a->7b 3b->5a
9a->3b 10b->4a
10a->1b 4b->1a

UHR:22
abcdefghijklmnopqrstuvwxyz
fqdojchkpirgtebmlansuvwxyz
1a->3b 7b->3a
2a->2b 1b->9a
3a->5b 8b->7a
4a->4b 6b->4a
5a->8b 2b->8a
6a->9b 9b->1a
7a->10b 5b->5a
8a->1b 3b->2a
9a->6b 10b->10a
10a->7b 4b->6a

UHR:23
abcdefghijklmnopqrstuvwxyz
tqpkrofejabcnmdilshguvwxyz
1a->10b 7b->7a
2a->8b 1b->9a
3a->9b 8b->5a
4a->3b 6b->2a
5a->5b 2b->6a
6a->1b 9b->10a
7a->7b 5b->1a
8a->2b 3b->8a
9a->6b 10b->4a
10a->4b 4b->3a

UHR:24
abcdefghijklmnopqrstuvwxyz
dmjahsperctobqlgnifkuvwxyz
1a->2b 7b->9a
2a->5b 1b->7a
3a->4b 8b->4a
4a->8b 6b->8a
5a->9b 2b->1a
6a->10b 9b->5a
7a->1b 5b->2a
8a->6b 3b->10a
9a->7b 10b->6a
10a->3b 4b->3a

UHR:25
abcdefghijklmnopqrstuvwxyz
ripmtefqbglohkjancdsuvwxyz
1a->9b 7b->6a
2a->8b 1b->5a
3a->10b 8b->1a
4a->3b 6b->8a
5a->1b 2b->7a
6a->6b 9b->2a
7a->4b 5b->4a
8a->5b 3b->3a
9a->7b 10b->10a
10a->2b 4b->9a

UHR:26
abcdefghijklmnopqrstuvwxyz
lkrstqbcdafmnopehgjiuvwxyz
1a->6b 7b->8a
2a->9b 1b->6a
3a->10b 8b->3a
4a->1b 6b->7a
5a->2b 2b->10a
6a->3b 9b->4a
7a->7b 5b->1a
8a->8b 3b->9a
9a->4b 10b->5a
10a->5b 4b->2a

UHR:27
abcdefghijklmnopqrstuvwxyz
bgdqjerknmhilopatsfcuvwxyz
1a->1b 7b->8a
2a->2b 1b->4a
3a->5b 8b->1a
4a->9b 6b->5a
5a->7b 2b->9a
6a->4b 9b->10a
7a->6b 5b->7a
8a->8b 3b->3a
9a->10b 10b->2a
10a->3b 4b->6a

UHR:28
abcdefghijklmnopqrstuvwxyz
retgbidofqnspkhmjalcuvwxyz
1a->9b 7b->6a
2a->10b 1b->3a
3a->1b 8b->7a
4a->2b 6b->10a
5a->3b 2b->4a
6a->7b 9b->1a
7a->8b 5b->9a
8a->4b 3b->5a
9a->5b 10b->2a
10a->6b 4b->8a

UHR:29
abcdefghijklmnopqrstuvwxyz
bsfajqnipctkrghmledouvwxyz
1a->1b 7b->4a
2a->3b 1b->10a
3a->5b 8b->7a
4a->7b 6b->6a
5a->8b 2b->1a
6a->10b 9b->3a
7a->9b 5b->2a
8a->4b 3b->9a
9a->6b 10b->8a
10a->2b 4b->5a

UHR:30
abcdefghijklmnopqrstuvwxyz
dcfenglmjohqbitkrspauvwxyz
1a->2b 7b->5a
2a->3b 1b->2a
3a->7b 8b->6a
4a->6b 6b->9a
5a->5b 2b->3a
6a->4b 9b->10a
7a->1b 5b->8a
8a->10b 3b->4a
9a->9b 10b->1a
10a->8b 4b->7a

UHR:31
abcdefghijklmnopqrstuvwxyz
lsrqdahmtcpobefgjkniuvwxyz
1a->6b 7b->3a
2a->9b 1b->10a
3a->2b 8b->4a
4a->4b 6b->8a
5a->10b 2b->9a
6a->8b 9b->6a
7a->1b 5b->2a
8a->3b 3b->1a
9a->5b 10b->5a
10a->7b 4b->7a

UHR:32
abcdefghijklmnopqrstuvwxyz
fknslajihgbetcrqpodmuvwxyz
1a->3b 7b->2a
2a->7b 1b->6a
3a->6b 8b->9a
4a->5b 6b->3a
5a->4b 2b->10a
6a->1b 9b->8a
7a->10b 5b->4a
8a->9b 3b->1a
9a->8b 10b->7a
10a->2b 4b->5a

UHR:33
abcdefghijklmnopqrstuvwxyz
jkrchmbefodstqpilanguvwxyz
1a->5b 7b->9a
2a->9b 1b->6a
3a->4b 8b->5a
4a->1b 6b->10a
5a->3b 2b->2a
6a->2b 9b->1a
7a->10b 5b->8a
8a->8b 3b->7a
9a->6b 10b->4a
10a->7b 4b->3a

UHR:34
abcdefghijklmnopqrstuvwxyz
jihqpsrgtencfadobmlkuvwxyz
1a->5b 7b->1a
2a->4b 1b->5a
3a->8b 8b->8a
4a->9b 6b->2a
5a->10b 2b->9a
6a->7b 9b->7a
7a->3b 5b->3a
8a->2b 3b->10a
9a->1b 10b->6a
10a->6b 4b->4a

UHR:35
abcdefghijklmnopqrstuvwxyz
delitgfcbsnojqrmhapkuvwxyz
1a->2b 7b->9a
2a->6b 1b->3a
3a->10b 8b->7a
4a->3b 6b->8a
5a->1b 2b->5a
6a->7b 9b->1a
7a->5b 5b->10a
8a->9b 3b->4a
9a->4b 10b->6a
10a->8b 4b->2a

UHR:36
abcdefghijklmnopqrstuvwxyz
hopmrktansfqdibclejguvwxyz
1a->4b 7b->5a
2a->8b 1b->8a
3a->9b 8b->2a
4a->10b 6b->9a
5a->7b 2b->7a
6a->3b 9b->3a
7a->2b 5b->10a
8a->1b 3b->6a
9a->6b 10b->4a
10a->5b 4b->1a

UHR:37
abcdefghijklmnopqrstuvwxyz
dgtsnejolkfabipqhmrcuvwxyz
1a->2b 7b->5a
2a->10b 1b->4a
3a->7b 8b->9a
4a->5b 6b->1a
5a->6b 2b->10a
6a->3b 9b->7a
7a->1b 5b->6a
8a->8b 3b->3a
9a->4b 10b->2a
10a->9b 4b->8a

UHR:38
abcdefghijklmnopqrstuvwxyz
tmbkdifshqjolgnapcreuvwxyz
1a->10b 7b->4a
2a->1b 1b->7a
3a->2b 8b->1a
4a->3b 6b->8a
5a->4b 2b->6a
6a->5b 9b->2a
7a->6b 5b->9a
8a->7b 3b->5a
9a->8b 10b->3a
10a->9b 4b->10a

UHR:39
abcdefghijklmnopqrstuvwxyz
pkfsjinohergdctmbqlauvwxyz
1a->8b 7b->2a    A->P  N->C
2a->3b 1b->6a
3a->5b 8b->7a
4a->7b 6b->4a
5a->4b 2b->10a   I->H  D->S
6a->9b 9b->9a
7a->2b 5b->3a
8a->10b 3b->5a   O->T  F->I
9a->1b 10b->1a
10a->6b 4b->8a

No comments:

Post a Comment