Tidied LS47 operations

This commit is contained in:
n1474335 2022-07-08 15:47:35 +01:00
parent 45ede4beaf
commit a6aa40db97
3 changed files with 7 additions and 9 deletions

View file

@ -102,10 +102,10 @@ function checkKey(key) {
counts[letters.charAt(i)] = 0;
for (const elem of letters) {
if (letters.indexOf(elem) === -1)
throw new OperationError("Letter " + elem + " not in LS47!");
throw new OperationError("Letter " + elem + " not in LS47");
counts[elem]++;
if (counts[elem] > 1)
throw new OperationError("Letter duplicated in the key!");
throw new OperationError("Letter duplicated in the key");
}
}
@ -120,7 +120,7 @@ function findPos (key, letter) {
const index = key.indexOf(letter);
if (index >= 0 && index < 49)
return [Math.floor(index/7), index%7];
throw new OperationError("Letter " + letter + " is not in the key!");
throw new OperationError("Letter " + letter + " is not in the key");
}
/**

View file

@ -20,8 +20,8 @@ class LS47Decrypt extends Operation {
this.name = "LS47 Decrypt";
this.module = "Crypto";
this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.\nThe LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()\nA LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption.";
this.infoURL = "https://gitea.blesmrt.net/exa/ls47/src/branch/master";
this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.<br>The LS47 alphabet consists of following characters: <code>_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()</code><br>An LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption.";
this.infoURL = "https://github.com/exaexa/ls47";
this.inputType = "string";
this.outputType = "string";
this.args = [
@ -44,7 +44,6 @@ class LS47Decrypt extends Operation {
* @returns {string}
*/
run(input, args) {
this.paddingSize = parseInt(args[1], 10);
LS47.initTiles();

View file

@ -20,8 +20,8 @@ class LS47Encrypt extends Operation {
this.name = "LS47 Encrypt";
this.module = "Crypto";
this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.\nThe LS47 alphabet consists of following characters: _abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()\nA LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption.";
this.infoURL = "https://gitea.blesmrt.net/exa/ls47/src/branch/master";
this.description = "This is a slight improvement of the ElsieFour cipher as described by Alan Kaminsky. We use 7x7 characters instead of original (barely fitting) 6x6, to be able to encrypt some structured information. We also describe a simple key-expansion algorithm, because remembering passwords is popular. Similar security considerations as with ElsieFour hold.<br>The LS47 alphabet consists of following characters: <code>_abcdefghijklmnopqrstuvwxyz.0123456789,-+*/:?!'()</code><br>A LS47 key is a permutation of the alphabet that is then represented in a 7x7 grid used for the encryption or decryption.";
this.infoURL = "https://github.com/exaexa/ls47";
this.inputType = "string";
this.outputType = "string";
this.args = [
@ -49,7 +49,6 @@ class LS47Encrypt extends Operation {
* @returns {string}
*/
run(input, args) {
this.paddingSize = parseInt(args[1], 10);
LS47.initTiles();