@ondoher/enigma 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,9 +88,22 @@ export const enigmaData = {
88
88
  key: 'RPR',
89
89
  encoded: 'PBQOMEWLLMJFBXKPZNBHRGLUGVHJBXYPSEACOXOTBQRWVTPVVYHLLDOCQQKIWVAMJNFADSUNAVMJGJIBMUGBWWRKJBZNHVELOGZHTISLTUWS',
90
90
  decoded: 'VERWALTUNGSAMTREICHSGERICHTARBEITSLAGERNICHTAUFSCHLAGENVCNSTDMQWZVGNVMBCPDGKPFQZWTRLDMFNGHSRDTFZGLDKCVLMNHGF',
91
-
92
91
  }
93
-
92
+ },
93
+ {
94
+ source: 'https://www.cryptomuseum.com/crypto/enigma/msg/p1030681.htm',
95
+ model: 'M4',
96
+ setup: {
97
+ reflector: 'Thin-C',
98
+ rotors: ['Beta', 'V', 'VI', 'VIII'],
99
+ ringSettings: 'EPEL',
100
+ plugs: 'AE BF CM DQ HU JN LX PR SZ VW'
101
+ },
102
+ message: {
103
+ key: 'CDSZ',
104
+ encoded: 'LANOTCTOUARBBFPMHPHGCZXTDYGAHGUFXGEWKBLKGJWLQXXTGPJJAVTOCKZFSLPPQIHZFXOEBWIIEKFZLCLOAQJULJOYHSSMBBGWHZANVOIIPYRBRTDJQDJJOQKCXWDNBBTYVXLYTAPGVEATXSONPNYNQFUDBBHHVWEPYEYDOHNLXKZDNWRHDUWUJUMWWVIIWZXIVIUQDRHYMNCYEFUAPNHOTKHKGDNPSAKNUAGHJZSMJBMHVTREQEDGXHLZWIFUSKDQVELNMIMITHBHDBWVHDFYHJOQIHORTDJDBWXEMEAYXGYQXOHFDMYUXXNOJAZRSGHPLWMLRECWWUTLRTTVLBHYOORGLGOWUXNXHMHYFAACQEKTHSJW',
105
+ decoded: 'KRKRALLEXXFOLGENDESISTSOFORTBEKANNTZUGEBENXXICHHABEFOLGELNBEBEFEHLERHALTENXXJANSTERLEDESBISHERIGXNREICHSMARSCHALLSJGOERINGJSETZTDERFUEHRERSIEYHVRRGRZSSADMIRALYALSSEINENNACHFOLGEREINXSCHRIFTLSCHEVOLLMACHTUNTERWEGSXABSOFORTSOLLENSIESAEMTLICHEMASSNAHMENVERFUEGENYDIESICHAUSDERGEGENWAERTIGENLAGEERGEBENXGEZXREICHSLEITEIKKTULPEKKJBORMANNJXXOBXDXMMMDURNHFKSTXKOMXADMXUUUBOOIEXKP'
106
+ }
94
107
  }
95
108
  ],
96
109
  sampleVerifiedMessages: [
@@ -136,7 +149,7 @@ export const enigmaData = {
136
149
  reflector: 'B'
137
150
  },
138
151
  message: {
139
- start: 'OEC',
152
+ key: 'OEC',
140
153
  encoded: 'WCOJLTOXJZSYRDRGPLWJJOXWFCCISIRBMEHOKYWDFNJFWXCWATBJJTJLTMEQMWBIFXVIBJJOPAYKSUZIFATKZLMMVHNIYOPHBYKBAAHCYPKELSEWGKBHAHROMIGPBRYQXFCRJGUXWHFKBGTECDZDZLWVIHXKOFBXWJKETDLBLWKDTPPFUFKPKMROJHZMDDBHTKXSWMPNRYOVWEEUIMKYBGVSQJCFNBKKLVYZGKQQRTMMPTWJAMJQPGDCGHLUNQKSVWOAALTXS',
141
154
  decoded: 'HOWDANGEROUSISITTHATTHISMANGOESLOOSEYETMUSTNOTWEPUTTHESTRONGLAWONHIMHESLOVEDOFTHEDISTRACTEDMULTITUDEWHOLIKENOTINTHEIRJUDGMENTBUTTHEIREYESANDWHERETISSOTHEOFFENDERSSCOURGEISWEIGHDBUTNEVERTHEOFFENCEAMINOTITHERIGHTOLDJEPHTHAHAHMYGOODLORDWHATHAVEISEENTONIGHTWHATGERTRUDE'
142
155
  }
@@ -152,7 +165,7 @@ export const enigmaData = {
152
165
  reflector: 'B'
153
166
  },
154
167
  message: {
155
- start: 'HMP',
168
+ key: 'HMP',
156
169
  encoded: 'PDWBCHJGYPCHHUXNDVUGEZSYIUATENCFMYUIQPWIBBIELWXUNAWZNPVNKTBOJTHEDWDJJKQEOEPSMJBRGTWJGNURUXXEFYGJKUSHYPFZIDEWODCRKXFFLQKVLRLXNIACDAZEIFJXTLZXUSJRLQIDBJTIDUAFRJAYTSNFBJBXKVLASUZQMPCJJLCOZDMDIRPEJANYQCIUPLAPSMQMXXXHSMMNEDCSDDILZOWGPXVWKWKHKYLXEOYFHMNBPURLKA',
157
170
  decoded: 'COMEHITHERGENTLEMENANDLAYYOURHANDSAGAINUPONMYSWORDNEVERTOSPEAKOFTHISTHATYOUHAVEHEARDSWEARBYMYSWORDAREYOUFAIRNOMOREBEDONEWESHOULDPROFANETHESERVICEOFTHEDEADTOSINGAREQUIEMANDSUCHRESTTOHERASTOPEACEPARTEDSOULSNIGGARDOFQUESTIONBUTOFOURDEMANDSMOSTFREEINHISREPLY'
158
171
  }
@@ -13,7 +13,7 @@ describe('Enigma Test Cases', function() {
13
13
  */
14
14
 
15
15
  function messageLoop(messages, which, cb) {
16
- messages.find(function(message) {
16
+ return messages.find(function(message) {
17
17
  var enigma = new Enigma({
18
18
  reflector: message.setup.reflector
19
19
  });
@@ -26,6 +26,7 @@ describe('Enigma Test Cases', function() {
26
26
 
27
27
  var toEncode = message.message[which]
28
28
  var encoded = enigma.encode(message.message.key,toEncode);
29
+
29
30
  return cb(message, encoded);
30
31
  })
31
32
  }
@@ -83,7 +84,7 @@ describe('Enigma Test Cases', function() {
83
84
  var messages = enigmaData.sampleFieldMessages;
84
85
 
85
86
  var fail = messageLoop(messages, 'decoded', function(message, decoded) {
86
- return decoded !== message.encoded;
87
+ return decoded !== message.message.encoded;
87
88
  })
88
89
 
89
90
  expect(fail).toBeUndefined();
@@ -93,7 +94,7 @@ describe('Enigma Test Cases', function() {
93
94
  var messages = enigmaData.sampleFieldMessages;
94
95
 
95
96
  var fail = messageLoop(messages, 'encoded', function(message, decoded) {
96
- return decoded !== message.decoded;
97
+ return decoded !== message.message.decoded;
97
98
  })
98
99
 
99
100
  expect(fail).toBeUndefined();
@@ -103,7 +104,7 @@ describe('Enigma Test Cases', function() {
103
104
  var messages = enigmaData.sampleVerifiedMessages;
104
105
 
105
106
  var fail = messageLoop(messages, 'decoded', function(message, decoded) {
106
- return decoded !== message.encoded;
107
+ return decoded !== message.message.encoded;
107
108
  })
108
109
 
109
110
  expect(fail).toBeUndefined();
@@ -113,7 +114,7 @@ describe('Enigma Test Cases', function() {
113
114
  var messages = enigmaData.sampleVerifiedMessages;
114
115
 
115
116
  var fail = messageLoop(messages, 'encoded', function(message, decoded) {
116
- return decoded !== message.decoded;
117
+ return decoded !== message.message.decoded;
117
118
  })
118
119
 
119
120
  expect(fail).toBeUndefined();
package/package.json CHANGED
@@ -1,13 +1,19 @@
1
1
  {
2
2
  "name": "@ondoher/enigma",
3
- "version": "0.1.0",
4
- "description": "",
3
+ "version": "0.1.1",
4
+ "description": "Tools and documentation to help in building and testing an Enigma Machine simulator.",
5
5
  "main": "./lib/index.js",
6
6
  "scripts": {
7
7
  "test": "jasmine"
8
8
  },
9
9
  "author": "Glenn Anderson",
10
10
  "license": "MIT",
11
+ "keywords": ["enigma", "enigma-machine", "enigma machine", "simulation", "cryptography"],
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/Ondoher/enigma.git"
15
+ },
16
+ "homepage": "https://github.com/Ondoher/enigma#readme",
11
17
  "type": "module",
12
18
  "devDependencies": {
13
19
  "jasmine": "^4.5.0",