Subject: [Cfrg] Password - proof 36bit/round

From: Otto Ersek <[email-masked]>
Date: Wed, 2 Nov 2016 06:51:44 +0100

Hi,
I was asked to give a proof for the 36bits

Let us additionally implement a key-logger (a honest one this time) that 
keeps track of user input and appends to the modified text the hashed 
value of committed changes before final hashing.

I didn’t want to mention the key-logger in the original post because the 
ideas presented there were already difficult to digest. But let us use 
the tools that threaten passwords to make this stronger.

Proof:
Given a text of n characters (including spaces) one has n*(n+1)/2 
possibilities to select a consecutive sub-text (proof by induction)
But one has (since the key-logger is active) 2*n + 1 ways to paste the 
text back.
This gives a total of P = n*(n+1)* (2*n + 1)/2 possibilities °)
if n = 2^10 as requested then P > 2^30 thus in bits 30, additionally we 
pre/append a char from base64 that one accounts for the remaining 6

°) One could even eliminate the divisor: if the end of a selection 
selection is BEFORE the start then let’s paste in the clipboard the 
wrapped around text → another bit would be gained!

Bonus: For the next round these values increase since n increases by the 
count of the pasted chars.

Thus we have a simple drag & drop = copy & paste authentication
I this correct?
Otto