******************
* Project CODING *
******************
The project CODING covers the datasets described in the following
and assigned to the main categories
   - license,
   - documentation,
   - executable DOS programs ,
   - executable WINDOWS dialogue systems,      and
   - source codes and auxiliary files.
In detail:


License:
========
License agreement for a free license in main directory:
-------------------------------------------------------
  1. FREE_PRIVATE_LICENSE.pdf      - license agreement


Documentation:
==============
The documentation in directory "coding\beschreibungen" consists of the
following parts each as PDF file here for the general reader/user first:
-->basic documentation--------------------------------------------------
  1. Coding_Einfhrung_end.pdf    - motivation and outline
  2. Coding_Beschreibung_eng.pdf  - description of the program family
                                    CODING (user manual)

For the reader/user being technically and mathematically interested:
-->technical documentation------------------------------------------
  3. Coding.pdf (see  http://eprint.iacr.org/2013/742.pdf  too)
                 - abstract
                 - introduction/summary
                 - convergence of overlay operations at keys
                 - description of the algorithm
                 - examination of the safety of the algorithm in brief
                 - extension and application of the algorithm


Executable DOS Programs:
==>DOS systems==========
Moduls (in directory "coding"):
-------------------------------
  1. coding1.exe      - DOS program modul CODING1
                        (varBlk=1, safety=2, EndShift=0, ClearCore=1)
  2. coding2.exe      - DOS program modul CODING2
                        (varBlk=1, safety=2, EndShift=0, ClearCore=1)
  3. coding3.exe      - DOS program modul CODING3
                        (varBlk=1, safety=0, EndShift=0, ClearCore=1)


Executable WINDOWS Dialogue Systems:
==>WINDOWS systems==================
Moduls (in directory "coding-dialog"):
--------------------------------------
  1. coding1E.exe     - dialogue program modul CODING1 enlarged version
                        (varBlk=1, safety=2, EndShift=0, ClearCore=1)
  2. coding2E.exe     - dialogue program modul CODING2 enlarged version
                        (varBlk=1, safety=2, EndShift=0, ClearCore=1)
  3. coding3E.exe     - dialogue program modul CODING3 enlarged version
                        (varBlk=1, safety=2, EndShift=0, ClearCore=1)
  4. coding1S.exe     - dialogue program modul CODING1 simple version
                        (varBlk=1, safety=0, EndShift=0, ClearCore=1)
  5. coding2S.exe     - dialogue program modul CODING2 simple version
                        (varBlk=1, safety=0, EndShift=0, ClearCore=1)
  6. coding3S.exe     - dialogue program modul CODING3 simple version
                        (varBlk=1, safety=0, EndShift=0, ClearCore=1)

Help datasets of the subdirectories "HelpDbE" and "HelpDbD":
------------------------------------------------------------
  1. ActionHandling.html -----+
  2. AusFile.html             I
  3. CodArt.html              I
  4. CodArtS.html             I
  5. CodFile.html             I
  6. CodFileS.html            I
  7. CodDir.html              I
  8. Coding_Description.pdf   I  - user manual or comment of missing
  9. Common.html              I   \                          user manual
 10. CommonS.html             I
 11. CompFile.html            I
 12. ConfMemo.html            I
 13. DirectCodDat.html        I
 14. DirectKey.html           I
 15. DirectOvl.html           I
 16. DirectOvlDat.html        I
 17. DirectOvlDatS.html       I
 18. DtnFile.html             I
 19. ExpFile.html             I
 20. ExpFileS.html            I
 21. InitialKey.html           \ each with subdirectory and files in
 22. InitialKeyS.html          /    this subdirectory if necessary
 23. KeyDataset.html          I
 24. KeyDatasetS.html         I
 25. KeyHex.html              I
 26. KeyInfos.html            I
 27. KeyInfosS.html           I
 28. MessageMemo.html         I
 29. OvlCommon.html           I
 30. OvlDataset.html          I
 31. OvlMeta.html             I
 32. OvlRange.html            I
 33. ParCommon.html           I
 34. ParFile.html             I
 35. ParKey.html              I
 36. RandomKey.html           I
 37. Running.html             I
 38. LangBox.html             I
 39. Streaming.html           I
 40. StreamVal.html           I
 41. Logo.html                I
 42. TimeOut.html             I
 43. TimeOutN.html -----------+


Source Codes and Auxiliary Files:
==>Sources=======================
The source code consists of the following files (developed by
'FreePascal IDE Win32/i386, comp. vers. 2.4.0' and
'Lazarus, vers. 0.9.28.2 Beta')
I. For the kernel routines/DOS programs (in directory "coding\source"):
-----------------------------------------------------------------------
* 1. Coding1neu.pas   - kernel routine of the program CODING1
  2. S1COD1E.BYT      - program identification CODING1 English
  3. S2COD1E.BYT      - user commitment CODING1 English
  4. S1COD1D.BYT      - program identification CODING1 German
  5. S2COD1D.BYT      - user commitment CODING1 German

* 6. Coding2neu.pas   - kernel routine of the program CODING2
  7. S1COD2E.BYT      - program identification CODING2 English
  8. S2COD2E.BYT      - user commitment CODING2 English
  9. S1COD2D.BYT      - program identification CODING2 German
 10. S2COD2D.BYT      - user commitment CODING2 German

*11. Coding3neu.pas   - kernel routine of the program CODING3
 12. S1COD3E.BYT      - program identification CODING3 English
 13. S2COD3E.BYT      - user commitment CODING3 English
 14. S1COD3D.BYT      - program identification CODING3 German
 15. S2COD3D.BYT      - user commitment CODING3 German

 16. SBCODE.BYT       - command line parameter English using 'Safety'<2
 17. SBCODE2.BYT      - command line parameter English using 'Safety'>1
 18. SPCODE.BYT       - description of the transfer parameters English
                        using 'Safety'=0
 19. SPCODE1.BYT      - description of the transfer parameters English
                        using 'Safety'=1
 20. SPCODE2.BYT      - description of the transfer parameters English
                        using 'Safety'>1
 21. MT00COD.PAS      - message texts English
 22. SBCODD.BYT       - command line parameter German using 'Safety'<2
 23. SBCODD2.BYT      - command line parameter German using 'Safety'>1
 24. SPCODD.BYT       - description of the transfer parameters German
                        using 'Safety'=0
 25. SPCODD1.BYT      - description of the transfer parameters German
                        using 'Safety'=1
 26. SPCODD2.BYT      - description of the transfer parameters German
                        using 'Safety'>1
 27. MT01COD.PAS      - message texts German

 28. DIRACCES.PAS     - directory access routines
 29. GETTIME.PAS      - time string routines
 30. GETDATEL.PAS     - date string routines
 31. DOStoWIN.PAS     - translation from OEM- to ANSI- character set
 32. FormatLE.PAS     - line break with '%/' as subprogram addition of
                        'sysutils.Format'
 33. CodingIcon.rc    - ressource file of the application icon
 34. Coding.ico       - icon file

 35. SPCODE.TXT       - description of the transfer parameters English
                        for 'Safety'=0
 36. SPCODE1.TXT      - description of the transfer parameters English
                        for 'Safety'=1
 37. SPCODE2.TXT      - description of the transfer parameters English
                        for 'Safety'>1
 38. SPCODD.TXT       - description of the transfer parameters German
                        for 'Safety'=0
 39. SPCODD1.TXT      - description of the transfer parameters German
                        for 'Safety'=1
 40. SPCODD2.TXT      - description of the transfer parameters German
                        for 'Safety'>1

II. For the dialogue programs (in directory "coding-dialog\source"):
--------------------------------------------------------------------
  0.<see 1-34. above> - the kernel routine files described before

**1. codingE.lpi      - LAZARUS project file enlarged version
* 2. codingE.lpr      - main program of the dialogue applications
                        enlarged version
* 3. ucodingE.pas     - subprogram to treat the main dialogue mask
                        enlarged version
  4. ucodingE.lfm     - definition values of the main dialogue mask
                        enlarged version
  5. ucodingE.lrs     - ressource file of the main dialogue mask
                        enlarged version
  6. utimeoutE.pas    - subprogram to treat the time-out mask
                        enlarged version
  7. utimeoutE.lfm    - definition values of the time-out mask
                        enlarged version
  8. utimeoutE.lrs    - ressource file of the time-out mask
                        enlarged version
  9. MGReCODE.pas     - definition record of message text names
                        enlarged version
 10. MG00CODE.pas     - dialog message texts English enlarged version
 11. MG01CODE.pas     - dialog message texts German enlarged version

**12. codingS.lpi     - LAZARUS project file simple version
*13. codingS.lpr      - main program of the dialogue applications
                        simple version
*14. ucodingS.pas     - subprogram to treat the main dialogue mask
                        simple version
 15. ucodingS.lfm     - definition values of the main dialogue mask
                        simple version
 16. ucodingS.lrs     - ressource file of the main dialogue mask
                        simple version
 17. utimeoutS.pas    - subprogram to treat the time-out mask
                        simple version
 18. utimeoutS.lfm    - definition values of the time-out mask
                        simple version
 19. utimeoutS.lrs    - ressource file of the time-out mask
                        simple version
 20. MGReCODS.pas     - definition record of message text names
                        simple version
 21. MG00CODS.pas     - dialog message texts English simple version
 22. MG01CODS.pas     - dialog message texts German simple version

 23. uinfo.pas        - subprogram to treat the
                        program identification window
 24. uinfo.lfm        - definition values of the
                        program identification window
 25. uinfo.lrs        - ressource file of the
                        program identification window
 26. ucommit.pas      - subprogram to treat the user commitment mask
 27. ucommit.lfm      - definition values of the user commitment mask
 28. ucommit.lrs      - ressource file of the user commitment mask
 29. urefresh.pas     - subprogram to treat the refresh window
 30. urefresh.lfm     - definition values of the refresh window
 31. urefresh.lrs     - ressource file of the refresh window

*:  Before using the files I.1, I.6, I.11, and II.2, II.3, II.13, II.14
    you have to set compile parameters used in these files
    (first these parameters are set in such way that a dialogue system
     or CODING1 without test output for WINDOWS and a INTEL-similar
     processor is generated).
      The LAZARUS system generates a file 'Coding.exe' in any case so
    you have to rename this modul in accordance with the compile
    parameters to its destination name.
**: The parameters in the files II.1 and II.12
    have to be modified to the current path information !

III. Batch procedures (in directory "coding-dialog\source"):
------------------------------------------------------------
First the 1. line in each batch procedure has to be set to the dialogue
program directory (for use with DOS/Windows PowerShell):
  1. LoadCodE.bat     - copies the dialogue program files
                        of the enlarged version ("xx...E.yyy") to
                        the corresponding working files ("xx... .yyy")
  2. SaveCodE.bat     - saves the working files ("xx... .yyy") as
                        files of the enlarged version ("xx...E.yyy")
                        after copying these files too
                        ("xx...E.yyy.save"), deletes the working files
  3. LoadCodS.bat     - copies the dialogue program files
                        of the simple version ("xx...S.yyy") to
                        the corresponding working files ("xx... .yyy")
  4. SaveCodS.bat     - saves the working files ("xx... .yyy") as
                        files of the simple version ("xx...S.yyy")
                        after copying these files too
                        ("xx...S.yyy.save"), deletes the working files
  5. ClearCod.bat     - deletes all derived files genereted by the
                        LAZARUS system using source code files
  6. DelCod.bat       - deletes the working files ("xx... .yyy") and
                        all derived files
