cyberchef 9.34.2 → 9.36.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.
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Base45 tests.
3
+ *
4
+ * @author Thomas Weißschuh [thomas@t-8ch.de]
5
+ *
6
+ * @copyright Crown Copyright 2021
7
+ * @license Apache-2.0
8
+ */
9
+
10
+ import TestRegister from "../../lib/TestRegister.mjs";
11
+
12
+ const defaultB45Alph = "0-9A-Z $%*+\\-./:";
13
+
14
+ TestRegister.addTests([
15
+ {
16
+ name: "To Base45: nothing",
17
+ input: "",
18
+ expectedOutput: "",
19
+ recipeConfig: [
20
+ {
21
+ op: "To Base45",
22
+ args: [defaultB45Alph],
23
+ },
24
+ ],
25
+ },
26
+ {
27
+ name: "To Base45: Spec encoding example 1",
28
+ input: "AB",
29
+ expectedOutput: "BB8",
30
+ recipeConfig: [
31
+ {
32
+ op: "To Base45",
33
+ args: [defaultB45Alph],
34
+ },
35
+ ],
36
+ },
37
+ {
38
+ name: "To Base45: Spec encoding example 2",
39
+ input: "Hello!!",
40
+ expectedOutput: "%69 VD92EX0",
41
+ recipeConfig: [
42
+ {
43
+ op: "To Base45",
44
+ args: [defaultB45Alph],
45
+ },
46
+ ],
47
+ },
48
+ {
49
+ name: "To Base45: Spec encoding example 3",
50
+ input: "base-45",
51
+ expectedOutput: "UJCLQE7W581",
52
+ recipeConfig: [
53
+ {
54
+ op: "To Base45",
55
+ args: [defaultB45Alph],
56
+ },
57
+ ],
58
+ },
59
+ {
60
+ name: "From Base45: nothing",
61
+ input: "",
62
+ expectedOutput: "",
63
+ recipeConfig: [
64
+ {
65
+ op: "From Base45",
66
+ args: [defaultB45Alph],
67
+ },
68
+ ],
69
+ },
70
+ {
71
+ name: "From Base45: Spec decoding example 1",
72
+ input: "QED8WEX0",
73
+ expectedOutput: "ietf!",
74
+ recipeConfig: [
75
+ {
76
+ op: "From Base45",
77
+ args: [defaultB45Alph],
78
+ },
79
+ ],
80
+ },
81
+ {
82
+ name: "From Base45: Invalid character",
83
+ input: "!",
84
+ expectedOutput: "Character not in alphabet: '!'",
85
+ recipeConfig: [
86
+ {
87
+ op: "From Base45",
88
+ args: [defaultB45Alph],
89
+ },
90
+ ],
91
+ },
92
+ {
93
+ name: "From Base45: Invalid triplet value",
94
+ input: "ZZZ",
95
+ expectedOutput: "Triplet too large: 'ZZZ'",
96
+ recipeConfig: [
97
+ {
98
+ op: "From Base45",
99
+ args: [defaultB45Alph],
100
+ },
101
+ ],
102
+ },
103
+ ]);
@@ -11,7 +11,7 @@ TestRegister.addTests([
11
11
  {
12
12
  name: "All casings of test",
13
13
  input: "test",
14
- expectedOutput: "test\nTest\ntEst\nTEst\nteSt\nTeSt\ntESt\nTESt\ntesT\nTesT\ntEsT\nTEsT\nteST\nTeST\ntEST\nTEST\n",
14
+ expectedOutput: "test\nTest\ntEst\nTEst\nteSt\nTeSt\ntESt\nTESt\ntesT\nTesT\ntEsT\nTEsT\nteST\nTeST\ntEST\nTEST",
15
15
  recipeConfig: [
16
16
  {
17
17
  "op": "Get All Casings",
@@ -22,7 +22,7 @@ TestRegister.addTests([
22
22
  {
23
23
  name: "All casings of t",
24
24
  input: "t",
25
- expectedOutput: "t\nT\n",
25
+ expectedOutput: "t\nT",
26
26
  recipeConfig: [
27
27
  {
28
28
  "op": "Get All Casings",
@@ -33,7 +33,7 @@ TestRegister.addTests([
33
33
  {
34
34
  name: "All casings of null",
35
35
  input: "",
36
- expectedOutput: "\n",
36
+ expectedOutput: "",
37
37
  recipeConfig: [
38
38
  {
39
39
  "op": "Get All Casings",
@@ -0,0 +1,91 @@
1
+ /**
2
+ * SIGABA machine tests
3
+ *
4
+ * @author hettysymes
5
+ * @copyright hettysymes 2020
6
+ * @license Apache-2.0
7
+ */
8
+ import TestRegister from "../../lib/TestRegister.mjs";
9
+
10
+ TestRegister.addTests([
11
+ {
12
+ name: "SIGABA: encrypt test 1",
13
+ input: "HELLO WORLD TESTING THE SIGABA MACHINE",
14
+ expectedOutput: "ULBECJCZJBJFVUDWAVRGRBMPSQHOTTNVQEESKN",
15
+ recipeConfig: [
16
+ {
17
+ "op": "SIGABA",
18
+ "args": [
19
+ "BHKWECJDOVAYLFMITUGXRNSPZQ", true, "G",
20
+ "CDTAKGQOZXLVJYHSWMIBPRUNEF", false, "L",
21
+ "WAXHJZMBVDPOLTUYRCQFNSGKEI", false, "I",
22
+ "HUSCWIMJQXDALVGBFTOYZKRPNE", false, "T",
23
+ "RTLSMNKXFVWQUZGCHEJBYDAIPO", false, "B",
24
+ "GHAQBRJWDMNZTSKLOUXYPFIECV", false, "N",
25
+ "VFLGEMTCXZIQDYAKRPBONHWSUJ", true, "Q",
26
+ "ZQCAYHRJNXPFLKIOTBUSVWMGDE", false, "B",
27
+ "EZVSWPCTULGAOFDJNBIYMXKQHR", false, "J",
28
+ "ELKSGDXMVYJUZNCAROQBPWHITF", false, "R",
29
+ "3891625740", "3",
30
+ "6297135408", "1",
31
+ "2389715064", "8",
32
+ "9264351708", "6",
33
+ "9573086142", "6",
34
+ "Encrypt"
35
+ ]
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ name: "SIGABA: encrypt test 2",
41
+ input: "PCRPJZWSPNOHMWANBFBEIVZOXDQESPYDEFBNTHXLSICIRPKUATJVDUQFLZOKGHHHDUDIBRKUHVCGAGLBWVGFFXNDHKPFSPSCIIPCXUFRRHNYWIJFEJWQSGMSNJHWSLPKVXHUQUWIURHDIHIUTWGQFIYLTKEZAUESWYEKIWXUSSXWXBEHCXCUDQWKCISVPKXJVPOIJZWTUGKAORBMKBAQUZOPTSUSYZRROWQUYKNCLHVIHEGWCCONGVHEKCEXVYIPNILIXTXDELNGLJGMEQKKQJWZLPNXPOGIOSVAEAJYKWYJXXGKKPLVYAZGDCMNHMPLCYWDQSRBEMVVVZVFYJMRYGHJOTDOEQVRQOVXOGOVYGTXETFHAYELRYVDGWOFVGAOWPMHQYRZMNXVTAHWSKZLJDFVQPZGMHZWFNOBHSZHEDAEXIFCEEJYZDOEFOQWCXTKPJRUEITKHVCITCLKBUFNAFBYXELAYPBRGGGOCCAGLXXJXTSWCJHMHQPVUIBAGBDKAGEEEPKRGGICJQXSYHBNNAKGYODRAUWAEYHWCKHEQIBAONWQJYQCIFKDTOCTJMBJULWKMSNNMPXINHZQWUMJQLQKIPVZVRGYPCJJZMENWTFTUSPCSPRXHMZPCHCNQTUDCOUJHRKYQIUWWVEVVRYFDIYRQISNGPMQLNMCNMVBEWHNCUODHAGEVEUMKVZLEIKYAMPGVVSBYNRJMFCATDXTQCYXIBCXXKYEYHHYERQGQWZTWCEJBFQLRFFCIVVSZUKGLOTLNGLQNTIKTBBWVFMONUFKRLCJASEKUEEDDQDIVQMFRSJRNHYZJODFHSCJSDAIRUXOSDNFUFUFMNZYQIEGRUXKUPCHENUEZHRKYHDRJYSHLZNYRBWVXORMJMJRIRNSAJQRUMPCXUDFYRGKEAXQXJHPEWNIYIDURDGWIFEMSOFYYCFRZGMZXJNTLTJBBSZIULQSOMEVGCTCVXUHTIEHSPOPQYCJLPAJAPQPAQXE",
42
+ expectedOutput: "GMEXPPCMFGKUVGXZHVTCKXRSTJUYWNOKFVELWAHHSJBXGOEXCMLOVSIMCDMGEYMWWTFDUMCDUJEZITNPVVBGQDJEVHJXSKJAAUZWBELMSPUTXCUYPDTJCQXEBGWPWRSQLSNFMASCTJZDSFNKDDTAXLRGUPKCBNXMZPADJSFGGNYKRPYBNTYPTGVPACBEINILNACWFVKMJPGCEZFROEYYKTGYSQYMFSGVDOJJONNYEYSCCIXWLKUSJZDRVAQSNUWHMDJVDNNMPGOYRGQRSBGSPQKGCTFZQWSOXBWSQZDCRQJQAWZDPQEILGMMABIMCDPNSKAFCLPQGIRJCMGQREBEUHBYREXFABFMVZTZBDUMASVNUMHIYRSZLGNZFMVAIABLCUZLJLKKZPWEXDHYZFVSNRLCLNDRKLKSWRHQVQJRTHCNFZXDEXSLAXXOGMFVSGCJGAWOLGDMTLWSFNTCUVCCEACINRZAZZOGLEHHXLPHVKILBBJDPOOCILQKKGODSXOBDPZZDXHJLLBOBVFCHJVMUBUZZIKGCWGCYGXVEHHIJGPEQERWEZLILQNHPHALFKFMGADNELGBKILKIUETGDCBQUEOECWVFNOXTJKUYPWBNEKYSIKMVSAMBZGLIKDAOELRSTKFASEKABTUCPSFEGXXQGDFPSPVOLBHGLZSLLWCABSRKZDQQRKVCKXDGTIHPDNMPDZEXYFYKXZTPJPLYOFNLWAGKJEOHOYLMZELXIDWWNXPKEPUCKNNNHJLFYHPQNHMMCGMUPHSUSYYIVWTIMFKKKTFPGFTLTWWSQBRBMGBTZXPVULKNZIIKVTYLJFISGPTLZFTCLGNZOMVKZOIMUDGXRDDSVFRHRYWBEWHYLCUISYMRWAZZAQPJYXZQQKZLILOSHXUTQJFPTXQSREKSUDZTLGUDLUGOJMQHJRJHXCHQTKJULTWWQOXIRFRQEYBPJPEKXFIRMNATWNFBADOSIJVZYRYDBHDAEDJUVDHLDAU",
43
+ recipeConfig: [
44
+ { "op": "SIGABA",
45
+ "args": [
46
+ "YCHLQSUGBDIXNZKERPVJTAWFOM", true, "A",
47
+ "INPXBWETGUYSAOCHVLDMQKZJFR", false, "B",
48
+ "WNDRIOZPTAXHFJYQBMSVEKUCGL", false, "C",
49
+ "TZGHOBKRVUXLQDMPNFWCJYEIAS", false, "D",
50
+ "YWTAHRQJVLCEXUNGBIPZMSDFOK", true, "E",
51
+ "QSLRBTEKOGAICFWYVMHJNXZUDP", false, "F",
52
+ "CHJDQIGNBSAKVTUOXFWLEPRMZY", false, "G",
53
+ "CDFAJXTIMNBEQHSUGRYLWZKVPO", true, "H",
54
+ "XHFESZDNRBCGKQIJLTVMUOYAPW", false, "I",
55
+ "EZJQXMOGYTCSFRIUPVNADLHWBK", false, "J",
56
+ "7591482630", "0",
57
+ "3810592764", "1",
58
+ "4086153297", "2",
59
+ "3980526174", "3",
60
+ "6497135280", "4",
61
+ "Encrypt"]
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ name: "SIGABA: decrypt test",
67
+ input: "AKDHFWAYSLHJDKXEVMJJHGKFTQBZPJPJILOVHMBYOAGBZVLLTQUOIKXFPUFNILBDPCAELMAPSXTLMUEGSDTNUDWGZDADBFELWWHKVPRZNDATDPYEHIDMTGAGPDEZYXFSASVKSBMXVOJQXRMHDBWUNZDTIIIVKHJYPIEUHAJCNBXNLGVFADEWIKXDJZBUTGOQBCQZWYKRVEENWRWWRYDNOAPGMODTPTUJZCLUCRDILJABNTBTWUEIJSJRQBUVCOUJJDWFMNNUHXBDFYXLGUMXQEAWSVHBXQGEOOGPYRVOAJLAIYIOHHEXACDTAWWCBGQRNPERSIKHTXPXKBUNACZLFZTRBMBBDDGKNBIQMFHZROCZZBGNZSJKDRRWPEQHLCFADNPWPWSLPIFNKBWQPMARUERGWUUODXSCOJQECGHIZRFRNRSXWSFWKISHHTUFRVXLHCQWGBMRDHCYDSVNIDDRSTODCGJSSBLUYOBGEWFOVKOZBJTYCAKMZECUGLJGTSZJNBOLTMUZRRSIGGRQHLRPMGLINASSMZOBNACKUMSFNIZAUFCPFXXOOTJQWWLZOFLGZLHJCWZJCRJKVOUDLNMKQATGVTOFHACAEKFLRWRTTMVRXHYGOTYPNBMUSKDAKXFCICUOVSWXGPQOYUUWTWRPQMEQCSDJMMJKELIHGEDYKWOVHVPUAIBFGAODXODXVFIIZIGWRZSBTIGXVHFABMMOPGVMLGHQQXNOEJRDLOBGUOWSELBHERZFSBLUODMOGIBNVGVGQYDBTKLOPNKZZNGLTTGZYYXIBAHZJDCILZXKNSJDHXWTYQLFHTUINTYSBPIXOPLOQHSAHGQPYUWYNPKMRBBBYIICCBBJRKWVLBIDBBEKJCXHLPUBMIGBUFYDPOCSRUNZOKMKJHMYFJZWFNHQZOGGRTNNUVLMRLDSAJIECTYCJKBYVNAXGCMGNVFJEDSATZQDQTYRBPLZKHAXMOVJZEDKINXKBUVWXXHTYUFO",
68
+ expectedOutput: "KTSOYDGMLPMVXEAJIATXCNQFXHBNCBXIJOCQGCQBRQSBYFOOEVPVXACBMIUIRNVMJHREKRHBSXJFSMWCKTTCYXJOFSJCQECXXCHTEGPEYSMYDHCSMODUAVBNLILYUIBBIXJCXXNQPCERRSMJTPQLMOXSKTRPWOFUSWXOYRJLBIJGIOYTEAEJEGGYAGSXNHNQTETANPWEGATHSBFLHCVHVIJUAKDVGQCWUSIFFFVAJYPJAFUYDXSLGPGESOUAYXBQIIOXWTXNOXLNCGWSUKVIBMOUGNHORYLSNVNNJLKKFDUAEISOLBLCXYHMDGVBVVVIKDLTMTDVWWJBXWXROVTJBXXKXLEWTTISKIUMYSACVUGGNANMCGUMFNQUXDLTHJNYTFIQEPKQQQSSROYJOILJYQXICXACWGOHCSHENXJILOMIIFCIOUDXDCINIVKIRJCVHWXSFQXMNRBJJWTPXNJADEOPEJBLKHKXNTORIRVRLXUXXAMKMODBXNLQCVJXVOTBRHXBBVJHPFEQFCRXYRRXHXPTXXSUESUTHUGOWQYQPQFPXQPVGEIRPQNKXXMBHIPECRUWFEWJUTYIKSMJSRQIQAIAMXTGDXSJIABHIGKUPJBCHWMVYTMQNQYGDHCNMBSVTPXNFRELFXXQYIOLCDEXDXDVSINICOXRMNSPICPQMOBIDJCNBJKXFAVMUXOXHERJIBIXLMXXULDXKXXHAQDXEXIWXOEEUGKSUGCMRWJDPYCYKXTPCOXMURAJCPRXKFJAJALERWRHVMFHOGMFHXGSXQDPJCJNXRQFGHKRCYTEBJDHPCMYFEAPWSVVMMBVUJJMCAAYURHUPVQVJYDCSNMQEMNIFEXYXIIXBVRVILXAUCBDXRJHGPKPYXHPPPNVSBBCDRLVVIYPKAKYIXTJVYDGVPHXULWMADBEICNIFKWUOOHEFNANDKOXMCVBVORLQYNXLULOEGVGWNKNMOHYVRSYSOVYGAKCGAWKGAIAQNQR",
69
+ recipeConfig: [
70
+ { "op": "SIGABA",
71
+ "args": [
72
+ "YCHLQSUGBDIXNZKERPVJTAWFOM", true, "A",
73
+ "INPXBWETGUYSAOCHVLDMQKZJFR", false, "B",
74
+ "WNDRIOZPTAXHFJYQBMSVEKUCGL", false, "C",
75
+ "TZGHOBKRVUXLQDMPNFWCJYEIAS", false, "D",
76
+ "YWTAHRQJVLCEXUNGBIPZMSDFOK", true, "E",
77
+ "QSLRBTEKOGAICFWYVMHJNXZUDP", false, "F",
78
+ "CHJDQIGNBSAKVTUOXFWLEPRMZY", false, "G",
79
+ "CDFAJXTIMNBEQHSUGRYLWZKVPO", true, "H",
80
+ "XHFESZDNRBCGKQIJLTVMUOYAPW", false, "I",
81
+ "EZJQXMOGYTCSFRIUPVNADLHWBK", false, "J",
82
+ "7591482630", "0",
83
+ "3810592764", "1",
84
+ "4086153297", "2",
85
+ "3980526174", "3",
86
+ "6497135280", "4",
87
+ "Decrypt"]
88
+ }
89
+ ]
90
+ }
91
+ ]);