RKM (Rane-Kim-Matsumoto) Key Recovery Mechanism
A recovery scheme, for private keys & un-resettable passwords, that is contextualizable to a person. (e.g. mapping to... private/security questions, biometric data, pictorial data, etc.)
Contextualization Schematics Diagram
Usage Documentation
Generating a Strongly Encrypted Questionnaire (Safe-to-store)
rkm.digest
(
{
private_key:(str), password:(str),
questions:(array(str)), answers:(array(str)),
false_positive_rate:(str,'33%'), batch_size:(+int,40000),
map_byte:(+int:(2~8)), salt_length:(+int:(16+)),
minimum_iteration_password:(+int,1),
minimum_iteration_mark:(+int,1),
minimum_iteration_answer:(+int,1)
},
{
callback:(func),
onprogress:(func)
}
);
//// private_key accepted format: base58 (bitcoin) && base62 (xgov) & hex (ethereum)// Minimum 1 Q&A required; maximum 16 pairs// questions, answers, passwords all support Unicode, foreign characters// default answer filter: toLowerCase then remove special chars and white spaces// // See example below for usage://rkm;
The function resolves to an output which is an encrypted questionnaire. The encrypted questionnaire does not store the answers inside (only questions, iteration numbers, and salt), and thus is a much safer way to store a recovery option. The hacker must provide the right decryption password, then, has to provide all the answers correctly simultaneously; otherwise the recovery will output a gibberish 32-byte private key that resembles nothing like the original private key (not even a little partial resemblance which gives out information).
-
This is certainly better than 16~32 random recovery phrases that one has to write down which is vulnerable to location/physical attack)
-
This is also superior to user-chosen seed words which is notoriously easier to brute-force.
LICENSE (Proprietary; For Audit-only Code Disclosure)
© 2018 Potion, all rights reserved.
Unauthorized copying of this file, via any medium is strictly prohibited.