Argon2id KDF support

This commit is contained in:
antelle 2020-12-03 20:22:33 +01:00
parent 2ed735ad95
commit 9e5fb90bd6
No known key found for this signature in database
GPG Key ID: 63C9777AAB7C563C
5 changed files with 18 additions and 10 deletions

View File

@ -189,8 +189,10 @@ class FileModel extends Model {
if (uuid) { if (uuid) {
uuid = kdbxweb.ByteUtils.bytesToBase64(uuid); uuid = kdbxweb.ByteUtils.bytesToBase64(uuid);
switch (uuid) { switch (uuid) {
case kdbxweb.Consts.KdfId.Argon2: case kdbxweb.Consts.KdfId.Argon2d:
return 'Argon2'; return 'Argon2d';
case kdbxweb.Consts.KdfId.Argon2id:
return 'Argon2id';
case kdbxweb.Consts.KdfId.Aes: case kdbxweb.Consts.KdfId.Aes:
return 'Aes'; return 'Aes';
} }
@ -212,7 +214,8 @@ class FileModel extends Model {
} }
uuid = kdbxweb.ByteUtils.bytesToBase64(uuid); uuid = kdbxweb.ByteUtils.bytesToBase64(uuid);
switch (uuid) { switch (uuid) {
case kdbxweb.Consts.KdfId.Argon2: case kdbxweb.Consts.KdfId.Argon2d:
case kdbxweb.Consts.KdfId.Argon2id:
return { return {
parallelism: kdfParameters.get('P').valueOf(), parallelism: kdfParameters.get('P').valueOf(),
iterations: kdfParameters.get('I').valueOf(), iterations: kdfParameters.get('I').valueOf(),
@ -698,8 +701,11 @@ class FileModel extends Model {
case 'Aes': case 'Aes':
this.db.setKdf(kdbxweb.Consts.KdfId.Aes); this.db.setKdf(kdbxweb.Consts.KdfId.Aes);
break; break;
case 'Argon2': case 'Argon2d':
this.db.setKdf(kdbxweb.Consts.KdfId.Argon2); this.db.setKdf(kdbxweb.Consts.KdfId.Argon2d);
break;
case 'Argon2id':
this.db.setKdf(kdbxweb.Consts.KdfId.Argon2id);
break; break;
default: default:
throw new Error('Bad KDF name'); throw new Error('Bad KDF name');

View File

@ -165,7 +165,8 @@
<label for="settings__file-kdf">{{res 'setFileKdfParams'}}</label> <label for="settings__file-kdf">{{res 'setFileKdfParams'}}</label>
<select class="settings__select input-base" id="settings__file-kdf" {{#ifneq formatVersion 4}}disabled{{/ifneq}}> <select class="settings__select input-base" id="settings__file-kdf" {{#ifneq formatVersion 4}}disabled{{/ifneq}}>
<option value="Aes" {{#ifeq kdfName 'AES'}}selected{{/ifeq}}>AES</option> <option value="Aes" {{#ifeq kdfName 'AES'}}selected{{/ifeq}}>AES</option>
{{#ifeq formatVersion 4}}<option value="Argon2" {{#ifeq kdfName 'Argon2'}}selected{{/ifeq}}>Argon2</option>{{/ifeq}} {{#ifeq formatVersion 4}}<option value="Argon2d" {{#ifeq kdfName 'Argon2d'}}selected{{/ifeq}}>Argon2d</option>{{/ifeq}}
{{#ifeq formatVersion 4}}<option value="Argon2id" {{#ifeq kdfName 'Argon2id'}}selected{{/ifeq}}>Argon2id</option>{{/ifeq}}
</select> </select>
{{#if keyEncryptionRounds}} {{#if keyEncryptionRounds}}
<label for="settings__file-key-rounds">{{res 'setFileRounds'}}:</label> <label for="settings__file-key-rounds">{{res 'setFileRounds'}}:</label>

6
package-lock.json generated
View File

@ -9783,9 +9783,9 @@
} }
}, },
"kdbxweb": { "kdbxweb": {
"version": "1.10.0", "version": "1.11.0",
"resolved": "https://registry.npmjs.org/kdbxweb/-/kdbxweb-1.10.0.tgz", "resolved": "https://registry.npmjs.org/kdbxweb/-/kdbxweb-1.11.0.tgz",
"integrity": "sha512-wreNdagE2L1x2LWGWEZiHAVgqVzmGHkMmKENGIZb+gQ53HRTl8bgTJ/jddUiCuBaWA7KJHd8xcdxpk4djzwRFw==", "integrity": "sha512-8jhyAU+X8Kk9zsQobwMwx6wFI6XJyMrWuPWq+PcWaYwBW3l9ruN91FbRWbLSQvKku3IRLgpMgCIqiWBS/tQjCQ==",
"requires": { "requires": {
"pako": "github:keeweb/pako#653c0b00d8941c89d09ed4546d2179001ec44efc", "pako": "github:keeweb/pako#653c0b00d8941c89d09ed4546d2179001ec44efc",
"text-encoding": "github:keeweb/text-encoding#4dfb7cb0954c222852092f8b06ae4f6b4f60bfbb", "text-encoding": "github:keeweb/text-encoding#4dfb7cb0954c222852092f8b06ae4f6b4f60bfbb",

View File

@ -66,7 +66,7 @@
"jquery": "3.5.1", "jquery": "3.5.1",
"json-loader": "^0.5.7", "json-loader": "^0.5.7",
"jsqrcode": "github:antelle/jsqrcode#0.1.3", "jsqrcode": "github:antelle/jsqrcode#0.1.3",
"kdbxweb": "1.10.0", "kdbxweb": "^1.11.0",
"load-grunt-tasks": "5.1.0", "load-grunt-tasks": "5.1.0",
"lodash": "^4.17.20", "lodash": "^4.17.20",
"marked": "^1.2.5", "marked": "^1.2.5",

View File

@ -1,6 +1,7 @@
Release notes Release notes
------------- -------------
##### v1.16.1 (TBD) ##### v1.16.1 (TBD)
`+` Argon2id KDF support
`-` fix #1637: git commit in the About box `-` fix #1637: git commit in the About box
`-` fixed some design glitches `-` fixed some design glitches