Password Manager

The Documentation will be put on the web in stages.

The password manager can handle passwords that access very sensitive material and passwords that can access not so sensitive material.

Sensitive Material
Examples
  • Password to bank account that transfer funds
  • Password to offshore bank accounts
  • Password to written contracts for vast sums of money
  • Password to solicitor client communications
  • Passwords to sites which hold credit card information
  • Password to second Password Manager Data File
  1. Password manager file saved to a ram disk (function in program)
  2. Password manager file renamed (function in program)
  3. Renamed Password manager file copied elsewhere on computer and then securely deleted (function in program)
  • Using program there is reduced probability of compromise.
  • Functions are in program.
  • Functions may not be available on operating system of computer
Not So Sensitive Material Examples
  • Password to Facebook account
  • Password to online forums
  • Password to buying sites that do not hold credit card details
  1. Password data file "password.dat" saved somewhere without the need to carry out extra precautions.  Renaming, copying and securely deleting of password data file "password.dat" is not needed.

Encrypt a file
  • Once a password data file has been created you can use a password inside to encrypt a file

Decrypt a file
  • Having encrypted a file with a password data file you can use the same password that encrypted to decrypt the file



Sensitive Material

Examples

There has been a growth in SSD Hard Drives or Hard Drives with SSD Cache.  With a hard drive it is relatively easy to over  write Data and know that you have over written it.  With a SSD Drive or a hard drive with SSD Cache there is no guarantee that unsecure data is over written.  Operating systems with disk drive journalling systems can create sensitive data leaks.  For sensitive data passwords it becomes necessary and imperative to create a small ramDisk with a FAT file system to temporary hold data before copying it elsewhere.

 This program can act as a password manager for 60 passwords.  Each password has a 210 byte data structure.  60 times 210 + 800x1024x1024 (size of program) is less than 1MB.   It is thus advisable to have a ramdisk of not less than 1MB.  Add space to test facilities the program provides it probable advisable to have a ramdisk of 20MB.  Both Linux and Windows have the means to provide ramdisks.

For Linux:

For Windows:


Menu Entry
  • Keyboard
  1. Type "Alt+R"
  2. Type "S"
  3. Type "2"
  • Mouse
  1. Click on "cRrypto-Secure"
  2. Click on "Single Password list"
  3. Click on "2 New Password List"
Opening Screen
  1. Enter "bank account" in the Edit Box (O)
    • Actually anything can be entered here
  2. Click on "Add new Code to List" Button (N)


A) Password Entry Edit Box
(B) Lower cursor position for (A)
(C) Higher cursor position for (A)
(D) Button to put window focus on (A) work on password 1


A2) Password Entry Edit Box 2
(B2) Lower cursor position for (A2)
(C2) Higher cursor position for (A2)
(D2) Button to put window focus on (A2) work on password 2

A3) Password Entry Edit Box 3
(B3) Lower cursor position for (A3)

(C3) Higher cursor position for (A3)
(D3) Button to put window focus on (A3) work on password 3

(E) Show Hide Password Button replaces passwords in (A), (A2) and (A3) with "*"
(F) Clear Passsword from (A) Button
(G) Clear ClipBoard Button
(H) Paste Contents of ClipBoard into (A) button
(I) KeyBoard Entry Type - Drop down List
(J) Show Virtual KeyBoard button
(K) Entry to modify Virtual KeyBoard
(L) Place Password in (A) , (A2) or (A3) onto ClipBoard depending on which focus button (D), (D2) or (D3) has been pressed
(M) Button to select KeyBoard type from (I) dropdown selection
(N) Show entry of KeyMod (K)
(O) Cancel Passwords Entry and return to "Opening Screen"
(PN) Dropdown List to select maximum number of Characters in (A) and (A2).  Maximum number of characters in A3 is never greater than 16
(PD) Dropdown List to select type of random password
(PB) Button to calculate random keyword according to criteria in (PD)

  1. Select "Caps, Non-Caps & Numbers" in drop down list (PD)
  2. Select 20 characters in drop down list (PN)


  1. Click on (PB)
    1. creates 20 character random password in (A) and (A2)
    2. creates 16 character random password in (A3)


  1. Press (F)
    1. Clear Password from (A)
    2. This is for login User Name
  2. Select "Alphabet KeyBoard" in drop down list (I)
  3. Click on (M)
    1. "Virtual KeyBoard" now becomes Alphabet KeyBoard
  4. Click on (J)
    1. Keys of "Virtual KeyBoard" are now seen


  1. Type in 9 character user name "Username1" using "Virtual KeyBoard"
    1. User Name appears in (A)
    2. Length of User Name appears in (P).
    3. Cursor position appears in (B) and (C).
    4. User Name cannot be recorded in either KeyBoard logger or clipBoard memory.


  1. Click on "Focus" button (D2) for Password 2 Edit Box (A2)
  2. Select 21 characters in drop down list (PN)
    1. Have 20 random characters consisting of Caps, Non-Caps and Numbers.
    2. Want to add "?" from Alphabet KeyBoard Virtual KeyBoard to make 21 characters.
    3. Have Character Limit defined by (PN) when using Virtual KeyBoard.
  3. Place cursor near centre of Password 2 Edit Box (A2).
  4. Click on "?" row 2 column 11 of Virtual KeyBoard
    1. Password Size Box 2 shows 21 characters
    2. Cursor position appears in (B2) and (C2).


  1. Click on "Enter Password" Button (PE).

Click on "BANK ACCOUNT" in (List of Passwords).


  1. We have "User Name" in Password Name (A)
  2. We have User Name for BANK ACCOUNT in Password 1 (C) with Length of 9 characters size in (D)
  3. Password of "BANK ACCOUNT" in Password 2 (E) with length of 21 characters size shown in (F)
  4. AES of 16 characters is present but this is not used
  5. Characters of Bank Account are hidden
  1. Type in "offshore bank account" in the Edit Box (O)"



  1. Click on "Add new Code to List" Button (N)
  • Password to bank account that transfer funds
  • Password to offshore bank accounts
  • Password to second Password Manager Data File


  1. Select "ASCII 33 to 125" in drop down list (PD)
    1. ASCII 32 is "space key" and may not be recognised as a legimate character for a password
    2. ASCII characters above 125 may not be recognised as a legitimate character for a password
  2. Select 30 characters in drop down list (PN)
  3. Click on (PB)
    1. creates 30 character random password in (A) and (A2)
    2. creates 16 character random password in (A3)
  4. Press (F)
    1. Clear Password from (A)
    2. This is for login User Name
  5. Select "Alphabet KeyBoard" in drop down list (I)
  6. Click on "Alphabet KeyBoard" button (M)
    1. "Virtual KeyBoard" now becomes Alphabet KeyBoard
  7. Click on (J)
  8. Keys of "Virtual KeyBoard" are now seen


  1. Use "Virtual KeyBoard" to enter in 20 character User Name "LongUsernameName1234" in (A)


  1. Click on "Enter Password" button (PE)


  1. Click on "OFFSHORE BANK ACCOUNT"
    1. We have "OFFSHORE BANK ACCOUNT" in Password Name (A) of OFFSHORE BANK ACCOUNT
    2. "OFFSHORE BANK ACCOUNT" User name in Password 1 (C)
    3.  Length 20 characters in (D)
    4.  Password of "OFFSHORE BANK ACCOUNT" in Password 2 (E)
    5. Length 30 characters in (F)
    6.  AES of 16 characters is present but this is not used
    7. The pastword "OFFSHORE BANK ACCOUNT" is not known.


  1. Type in "long password" in the Edit Box (O)"
  2. Click on "Add new Code to List" Button (N)

  1. Click on "50 Random" button (PB)


  1. Click on "Enter Password" button (PE)


  1. Click on "Save Encryption Codes" button (J)


  1. Select Ram Drive if one is present otherwise directory save password list file
    1. Ram Drives do not preserve information
  2. Click on "Save Directory 1" button
    1. Can press "Alt+1" on keyboard instead


  1. Click on "Process -3" button
    1. Can press "Alt+3" button on keyboard instead
Tutorial continues next to next image

Long Password

What follows next is the entry of a long password to encrypt password data.  This password cannot be given to anyone by coercion means because the password is not known.  What is known is the process to produce the password.

The file "password sensitive.txt" gives instructions to get a 50 character random password.
"m6bP+Nd P4p$!r_D1G" is the password used.

The process instructions are:
Keymod
a
row 1 column 1 to 20 20 keys
Keymod
a5z5
row 1 column 1 to 20 20 keys 40 total
Keymod
y
row 3 column 5 to row 9 column 5 47 total
row 9 column 432 50 total
The entry in the Keymod jumbles up the keys

The jumbling code for a key from an entry in KeyMod is written in c and Windows APi. It is:
    *lVar.d = String[DCHARKEY+AddressKeyPos];
    int j;
    ZeroMemory(&String[DCHARKEY+180], 8);    //    make sure string has same contents for SHA1
as determined by NSA
    j = GetDlgItemText(hDlg, IDC_KEYMOD, &String[DCHARKEY+180], 8);    //    7 char max 7 char is zero
   
    // j = strlen(&String[DCHARKEY+180]);
    if (j > 0)
    {
        SHA1(&String[DCHARKEY+190], (unsigned char *) &String[DCHARKEY+180], 6);  // SHA1 as determined by NSA
        unsigned int i;
        unsigned char c;
        i = *lVar.d;

        j = AddressKeyPos % 20;
        c = String[DCHARKEY+190+j];
        i += (unsigned int) c;

        if (String[DCHARKEY-1] == 'T' || String[DCHARKEY-1] == 'A')
        {
            if (String[DCHARKEY-1] == 'T')
            {
                while (i > '~')
                {
                    i -= '~';
                }
                while (i < '!')
                {
                    i += '!';
                }
            }

            if (String[DCHARKEY-1] == 'A')
            {
                //    i = '!'; i< ('!'+179);
                if (i < '!')
                {
                    i %= '!';
                    i += '!';
                }
         
                if (i > 255)
                {
                    i %= 30;
                    i = i - 30;
                }

                if (i > 126 && i < 161)
                {
                    //    this is unidentifiable char
                    i += 36;
                }
            }
        }
        else
        {
            //    max 255 min 0
            i %= 255;
            if (i == 0 || i == 9 || i == 12 || i == 13 || i == 10)
            {
                i += 14;
            }
        }
        *lVar.d = i;
    }
 

Two example password management files are:

"password.dat" and  "secret password.hide"  The files contain the same unencrypted password data.  They are different in content because when the data was encrypted different random seed data was added.  The files were encrypted using the password method given below.

The password is entered using the virtual keyboard.  It is important to click on the keyboard selection button (M) to ensure that the keyboard being used is the one you want.  In the image below the keyboard is actually the alphabet keyboard.  Pressing the keyboard selection button (M) will change the keyboard to Old KeyBoard.

When entering characters by using the mouse to click lots of keys it is easy to accidentally mis-click.  It is important to keep a check on how many keys have been entered in the password edit box (A).



  1. Click on KeyMod "Show" button (N)


  1. Click on "Old KeyBoard" button
    1. This is important to make sure you are using "Old KeyBoard"
    2. Can of course use any keyboard, but wrong keyboard will result in wrong password
    3. KeyBoard will show "O" at (U)
  2. Click on KeyMod Edit Box (K) and type in "a"
    1. If paranoid can use alphabet keyBoard for "a" or clipBoard
  3. Click on keys 1 to 20 on row 1
    1. as shown in password sensitive.txt
    2. See arrow
    3. Check that you have 20 keys in (P)


  1. Click on KeyMod Edit Box (K) and type in "a5z5"
    1. "If paranoid can use alphabet keyBoard for "a5z5" or clipBoard
  2. Click on keys 1 to 20 on row 1
    1. as shown in password sensitive.txt
    2. See arrow
    3. Check that you have 40 keys in (P)


  1. Click on KeyMod Edit Box (K) and type in "y"
    1. "If paranoid can use alphabet keyBoard for "y" or clipBoard
  2. Click on keys 5 on rows 3 to 9
    1. as shown in password sensitive.txt
    2. See arrow
  3. Click on keys 4 to 2 row 9
    1. as shown in password sensitive.txt
    2. See arrow
    3. Check that you have 50 keys in (P)
  4. Click on "Enter Password" button (PE)





  1. Click on "Old KeyBoard" button
  2. Click on KeyMod Edit Box (K) and type in "a"
    1. If paranoid can use alphabet keyBoard for "a" or clipBoard
  3. Click on keys 1 to 20 on row 1
    1. as shown in password sensitive.txt
    2. See arrow
    3. Check that you have 20 keys in (P)


  1. Click on KeyMod Edit Box (K) and type in "a5z5"
    1. "If paranoid can use alphabet keyBoard for "a5z5" or clipBoard
  2. Click on keys 1 to 20 on row 1
    1. as shown in password sensitive.txt
    2. See arrow
    3. Check that you have 40 keys in (P)


  1. Click on KeyMod Edit Box (K) and type in "y"
    1. "If paranoid can use alphabet keyBoard for "y" or clipBoard
  2. Click on keys 1 to 20 on row 1
    1. as shown in password sensitive.txt
    2. See arrow
    3. Check that you have 50 keys in (P)
  3. Click on "Enter Password" button (PE)


  • The password list is now saved in "G\password.dat.
  • The Data consists of 560 Bytes
  • The size of encryption is 469 Bytes
    • Before encryption is done the data is compressed to remove redundancies
  • The size if 84% of original

 Source File:    Data
Source File Size:    560
New Encrypted File:    G:\password.dat
Encrypted File Size:    469
Compression Ratio:    0.84
  1. Click on "Put on ClipBoard" button
    1.  Data on clipBoard is displayed in cell to the left

Renaming Password Data File

We have produced a file containing sensitive passwords.  We want to rename it.  If we have put this file in a ram drive then there will be no trace of it when the computer is switched off.


  • By Mouse Click
  1. Click on Utilities
  2. Click on "9 Files - (Single  Directory)
  3. Click on "4 Rename"
  • By KeyBoard
  1. Type "alt+U"
  2. Type "9"
  3. Type "4"





The Dialog Box shown will not be used in this tutorial.

The Dialog Box has the following function abilities:
  • Leave the function
  • Select the listed files by
    • extention
    • prefix
    • size
    • directory
  • Select the listed files by
    • prefix range
    • size range
    • cursor range


  1. Click on "Hide Dialog Box" button (A)
    1. This will hide the dialog box

In Listed files there is one file
  • (B) is drive of file at cursor
  • (C) is sub directory of file at cursor
  • (D) is the name of file at cursor
  • (F) is the File Size of file at cursor
  1. In "Directory File Listing" Click on password.dat to select it


  1. Edit Box (E) type in "secret password.hide"


  1. Click on "Selected File to New Name" button (G)
    1. "Rename Dialog Box" appears


  1. In "Rename Dialog Box" click on "Yes" button
    1. This will rename the password.dat file to "secret password.hide"
    2. The renamed file will appear in "Directory File Listing"


  1. In List Box with top entry "Index by Name" click on "Leave"
    1. "Leave Function" Dialog Box appears


  1. In "Leave Function" Dialog Box click on "Yes" button

Copy and Securely Delete File

  1. Have renamed file. 
  2. Need to copy file somewhere else with date of creation preserved
  3. Securely delete file
Secure delete algorithm is as follows:
  1. Count characters in file name
  2. Replace all characters in file name with character "a"
    1. this will over write the FAT location with new name (unless using SSD disk)
  3. Overwrite contents of file with random characters
  4. Set file size to zero Bytes
  5. Set File date to "21-12-1980 20:00
  6. Delete file


Can use keyboard or mouse
  • By Mouse Click
  1. Click on Utilities
  2. Click on "9 Files - (Single  Directory)
  3. Click on "1 Dated or Selected Directory"
  • By KeyBoard
  1. Type "alt+U"
  2. Type "9"
  3. Type "1"


Can use keyboard or mouse
  • By Mouse Click
  1. Click on "Selected Directory" button
  • By Keyboard
  1. type "Alt+1"


Can use keyboard or mouse

  •     By Mouse Click
  1.     Click on "Process" button

  •     By Keyboard
  1.     type "Alt+3"


The Dialog Box shown will not be used in this tutorial.

The Dialog Box has the following function abilities:

  •     Leave the function
  •     Select the listed files by
    • extention
    • prefix
    • size
    • directory
  •     Select the listed files by
    • prefix range
    • size range
    • cursor range


  1. Click on "Hide Dialog Box" button (A)
    1. This will hide the dialog box



In Listed files there is one file

  • (B) is drive of file at cursor
  • (C) is sub directory of file at cursor
  • (D) is the name of file at cursor
  • (E) is a List Box giving a selection of functions that can be carried out
  • (F) is the File Size of file at cursor
  • (G) is the total size occupied by the file in the file system
    • File Systems allocate sectors for file data
    • Here the sector size is 2048 Bytes
  • (H) is a List Box giving a selection of functions that can be carried out
  • (I) Clicking on the button will carry out the function selected in List Box (G)
  • (J) causes a directory for copying files to be selected by folder or date
  • (K) Directory to copy files to
    • Directory may or may not yet exist
  • (L) Number of selected files
  • (M) Total size of selected files
  • (N) Total Size occupied by files on Drive
  • (O) button to put cursor focus on (Directory File Listing)

  1. In "Directory File Listing" Click on password.dat to select it
  2. Click on (Change to Selection" button (J)
    1. Button wording of (J) changes to "Change to Date"
    2. "Date" button under button (I) changes to "Selection"


  1. Click on "Selection" button under (I)


  • By Mouse Click
  1. Select required directory to copy to by clicking on "Select Directory 1" button
  2. Click on "Process -3" button
    1. Have "E\New Folder" in (K) see image below
  • By Keyboard
  1. Press "Alt+1"
  2. Press "Alt+3"
    1. Have "E\New Folder" in (K) see image below
  1. In List Box (E) select "Copy Files and Secure Delete without slack"
  2. Press "Copy Files and Secure Delete without slack Ordinary Copy - No Structure" button (I)
    1. Dialog Box "Ordinary Copy E Drive - No Directory Structure" appears


  1. In Dialog Box "Ordinary Copy E Drive - No Directory Structure" click on "Yes" button
    1. Message Box appears listing what has been carried out
1 File(s) Copied File Contents Over Write 1 times then file(s) truncated, renamed and deleted
Time taken 0.562 seconds

Change in Available Disk Space to
G:
is -2,048 Bytes
New Disk Space is 103,565,312 Bytes

Disk copied To
Change in Available Disk Space to
E:\New Folder
is 4,096 Bytes
New Disk Space is 1,003,577,344 Bytes

469 Bytes of file data copied
469 Bytes of file data overwritten
469 Bytes of files deleted

  1. Click on "Put on ClipBoard" button to make a copy of what has been done.
    1. What is copied to clipboard is shown on 1st cell of the this row.
  2. Click on "OK" button
    1. There was only one file item in the "Directory File Listing" and this file has been deleted.  Leaving no files in "Directory File Listing"


  1. Click on "OK" button
    1. To return to opening screen.







Not So Sensitive Material

This uses the same procedure as Sensitive Data to create and store passwords.  The need to temporary store the encrypted file in a ram disk is not required. The steps of renaming, copying and then securely deleting password data file is not required.