Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Another Long and Boring Post About Cryptography

24 views
Skip to first unread message

pro...@berkeley.edu

unread,
Jun 4, 2017, 7:05:49 PM6/4/17
to
(Hopefully it won't be wrapped too badly.)

Using a somewhat unorthodox method of encrypting numeric content, we encrypt the
input string by repetitively applying the same table, the purpose being to
determine which of the nine tables being tested (see below) yield more
'interesting' results. One such result is how many iterations are required with
each table before the original input string is matched again.

Here, we are only testing the following nine tables:

----\cmd\data\n2wx1.tbl:
1.seven 2.five 3.one 4.six 5.nine 6.eight 7.zero 8.four 9.two 0.three

----\cmd\data\n2wx2.tbl:
1.eight 2.five 3.four 4.nine 5.one 6.seven 7.six 8.three 9.two 0.zero

----\cmd\data\n2wx3.tbl:
1.nine 2.four 3.two 4.zero 5.seven 6.eight 7.three 8.one 9.five 0.six

----\cmd\data\n2wx4.tbl:
1.zero 2.six 3.eight 4.five 5.seven 6.one 7.three 8.two 9.four 0.nine

----\cmd\data\n2wx5.tbl:
1.one 2.nine 3.five 4.eight 5.two 6.three 7.four 8.seven 9.six 0.zero

----\cmd\data\n2wx6.tbl:
1.nine 2.five 3.seven 4.zero 5.eight 6.four 7.three 8.two 9.six 0.one

----\cmd\data\n2wx7.tbl:
1.five 2.six 3.nine 4.two 5.zero 6.eight 7.one 8.four 9.three 0.seven

----\cmd\data\n2wx8.tbl:
1.four 2.zero 3.one 4.seven 5.three 6.nine 7.eight 8.five 9.six 0.two

----\cmd\data\n2wx9.tbl:
1.seven 2.five 3.zero 4.two 5.eight 6.nine 7.one 8.six 9.three 0.four

Here's a test run of tcyclic:


C:\Users\JoeUser\temp>\cmd\demo\tcyclic
Please enter a numeric or mixed alphanumeric string to test
For example: account=88349WQM712003
Enter: Mister...@comcast.net 8778X1b73GblX45F63113
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 1:
[1.seven 2.five 3.one 4.six 5.nine 6.eight 7.zero 8.four 9.two 0.three ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 4004X7b01GblX69F81771
Mister...@comcast.net 6336X0b37GblX82F47007
Mister...@comcast.net 8118X3b10GblX45F60330
Mister...@comcast.net 4774X1b73GblX69F83113
Mister...@comcast.net 6006X7b01GblX82F41771
Mister...@comcast.net 8338X0b37GblX45F67007
Mister...@comcast.net 4114X3b10GblX69F80330
Mister...@comcast.net 6776X1b73GblX82F43113
Mister...@comcast.net 8008X7b01GblX45F61771
Mister...@comcast.net 4334X0b37GblX69F87007
Mister...@comcast.net 6116X3b10GblX82F40330
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 12th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 2:
[1.eight 2.five 3.four 4.nine 5.one 6.seven 7.six 8.three 9.two 0.zero ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 3663X8b64GblX91F74884
Mister...@comcast.net 4774X3b79GblX28F69339
Mister...@comcast.net 9669X4b62GblX53F72442
Mister...@comcast.net 2772X9b75GblX14F65995
Mister...@comcast.net 5665X2b61GblX89F71221
Mister...@comcast.net 1771X5b78GblX32F68558
Mister...@comcast.net 8668X1b63GblX45F73113
Mister...@comcast.net 3773X8b74GblX91F64884
Mister...@comcast.net 4664X3b69GblX28F79339
Mister...@comcast.net 9779X4b72GblX53F62442
Mister...@comcast.net 2662X9b65GblX14F75995
Mister...@comcast.net 5775X2b71GblX89F61221
Mister...@comcast.net 1661X5b68GblX32F78558
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 14th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 3:
[1.nine 2.four 3.two 4.zero 5.seven 6.eight 7.three 8.one 9.five 0.six ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 1331X9b32GblX07F82992
Mister...@comcast.net 9229X5b24GblX63F14554
Mister...@comcast.net 5445X7b40GblX82F90770
Mister...@comcast.net 7007X3b06GblX14F56336
Mister...@comcast.net 3663X2b68GblX90F78228
Mister...@comcast.net 2882X4b81GblX56F31441
Mister...@comcast.net 4114X0b19GblX78F29009
Mister...@comcast.net 0990X6b95GblX31F45665
Mister...@comcast.net 6556X8b57GblX29F07887
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 10th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 4:
[1.zero 2.six 3.eight 4.five 5.seven 6.one 7.three 8.two 9.four 0.nine ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 2332X0b38GblX57F18008
Mister...@comcast.net 6886X9b82GblX73F02992
Mister...@comcast.net 1221X4b26GblX38F96446
Mister...@comcast.net 0660X5b61GblX82F41551
Mister...@comcast.net 9119X7b10GblX26F50770
Mister...@comcast.net 4004X3b09GblX61F79339
Mister...@comcast.net 5995X8b94GblX10F34884
Mister...@comcast.net 7447X2b45GblX09F85225
Mister...@comcast.net 3553X6b57GblX94F27667
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 10th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 5:
[1.one 2.nine 3.five 4.eight 5.two 6.three 7.four 8.seven 9.six 0.zero ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 7447X1b45GblX82F35115
Mister...@comcast.net 4884X1b82GblX79F52112
Mister...@comcast.net 8778X1b79GblX46F29119
Mister...@comcast.net 7447X1b46GblX83F96116
Mister...@comcast.net 4884X1b83GblX75F63113
Mister...@comcast.net 8778X1b75GblX42F35115
Mister...@comcast.net 7447X1b42GblX89F52112
Mister...@comcast.net 4884X1b89GblX76F29119
Mister...@comcast.net 8778X1b76GblX43F96116
Mister...@comcast.net 7447X1b43GblX85F63113
Mister...@comcast.net 4884X1b85GblX72F35115
Mister...@comcast.net 8778X1b72GblX49F52112
Mister...@comcast.net 7447X1b49GblX86F29119
Mister...@comcast.net 4884X1b86GblX73F96116
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 15th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 6:
[1.nine 2.five 3.seven 4.zero 5.eight 6.four 7.three 8.two 9.six 0.one ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 2332X9b37GblX08F47997
Mister...@comcast.net 5775X6b73GblX12F03663
Mister...@comcast.net 8338X4b37GblX95F17447
Mister...@comcast.net 2772X0b73GblX68F93003
Mister...@comcast.net 5335X1b37GblX42F67117
Mister...@comcast.net 8778X9b73GblX05F43993
Mister...@comcast.net 2332X6b37GblX18F07667
Mister...@comcast.net 5775X4b73GblX92F13443
Mister...@comcast.net 8338X0b37GblX65F97007
Mister...@comcast.net 2772X1b73GblX48F63113
Mister...@comcast.net 5335X9b37GblX02F47997
Mister...@comcast.net 8778X6b73GblX15F03663
Mister...@comcast.net 2332X4b37GblX98F17447
Mister...@comcast.net 5775X0b73GblX62F93003
Mister...@comcast.net 8338X1b37GblX45F67117
Mister...@comcast.net 2772X9b73GblX08F43993
Mister...@comcast.net 5335X6b37GblX12F07667
Mister...@comcast.net 8778X4b73GblX95F13443
Mister...@comcast.net 2332X0b37GblX68F97007
Mister...@comcast.net 5775X1b73GblX42F63113
Mister...@comcast.net 8338X9b37GblX05F47997
Mister...@comcast.net 2772X6b73GblX18F03663
Mister...@comcast.net 5335X4b37GblX92F17447
Mister...@comcast.net 8778X0b73GblX65F93003
Mister...@comcast.net 2332X1b37GblX48F67117
Mister...@comcast.net 5775X9b73GblX02F43993
Mister...@comcast.net 8338X6b37GblX15F07667
Mister...@comcast.net 2772X4b73GblX98F13443
Mister...@comcast.net 5335X0b37GblX62F97007
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 30th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 7:
[1.five 2.six 3.nine 4.two 5.zero 6.eight 7.one 8.four 9.three 0.seven ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 4114X5b19GblX20F89559
Mister...@comcast.net 2552X0b53GblX67F43003
Mister...@comcast.net 6006X7b09GblX81F29779
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 4th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 8:
[1.four 2.zero 3.one 4.seven 5.three 6.nine 7.eight 8.five 9.six 0.two ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 5885X4b81GblX73F91441
Mister...@comcast.net 3553X7b54GblX81F64774
Mister...@comcast.net 1331X8b37GblX54F97887
Mister...@comcast.net 4114X5b18GblX37F68558
Mister...@comcast.net 7447X3b45GblX18F95335
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 6th iteration
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Testing Table 9:
[1.seven 2.five 3.zero 4.two 5.eight 6.nine 7.one 8.six 9.three 0.four ]

Mister...@comcast.net 8778X1b73GblX45F63113 <===== input

Mister...@comcast.net 6116X7b10GblX28F90770
Mister...@comcast.net 9779X1b74GblX56F34114
Mister...@comcast.net 3113X7b12GblX89F02772
Mister...@comcast.net 0770X1b75GblX63F45115
Mister...@comcast.net 4114X7b18GblX90F28778
Mister...@comcast.net 2772X1b76GblX34F56116
Mister...@comcast.net 5115X7b19GblX02F89779
Mister...@comcast.net 8778X1b73GblX45F63113 ##### MATCH ##### on 8th iteration


OK, so what's the significance of all this? Of this set of tables, Table 6 shows
the most interesting result: 30 iterations of the translation process are needed
in order to match the original input string.

For starters, we might want to consider using this technique with Table 6
(or some other interesting table) to encrypt and decrypt NUMERIC information
such as account numbers or credit card numbers.

For example, since we know that applying this same table 30 times yields the
original input, we can apply the table some lesser number of times to encrypt
and then apply the table (30-lessernumber) times to decrypt the information.

But not all of the 29 intermediary values yielded by this table may be equally
desirable....

Here is the file involved for anybody who might be interested in experimenting
with this technique. (On my system, N2X and W2N are separate files, but for the
sake of simplicity, I have combined everything into one file for this post.)


==========begin "c:\Cmd\demo\tcyclic.cmd" ==========
001. @echo off & setlocal enabledelayedexpansion enableextensions
002. set $I=
003. echo/Please enter a numeric or mixed alphanumeric string to test
004. echo/For example: account=88349WQM712003
005. set /p $I="Enter: "
006. if not defined $I set $I=account=88349WQM712003
007. call :HEADER
008. for /l %%g in (1,1,9) do call :MAIN %%g
009. endlocal & goto :EOF
010.
011. :::::::::::::
012. :MAIN
013. :::::::::::::
014.
015. echo/%sep%
016. set testin=%$I%
017. echo/
018. set /p table=<\cmd\data\n2wx%1.tbl
019. set display=!table! x
020. echo/Testing Table %1:
021. echo/[%display:~0,80%]
022. echo/ >>%outfile%
023. echo/
024. echo/!testin! ^<===== input
025. echo/
026. for /l %%i in (1,1,100) do (
027. call :N2X tbl=n2wx%1 testin
028. call :W2N testin
029. if {!testin!}=={!$I!} (
030. set which=%%i
031. set suffix=th
032. for %%Z in ( 1.st 2.nd 3.rd ) do (
033. if "!which!"=="%%~nZ" set suffix=%%~xZ
034. )
035. set suffix=!suffix:.=!
036. set msg=##### MATCH ##### on !which!!suffix! iteration
037. echo/!testin! !msg!
038. set display=!display! x
039. echo/ !display:~0,80! !msg! >> %outfile%
040. if [%1] leq [8] pause
041. goto :EOF
042. ) else (
043. echo/!testin!
044. )
045. )
046. goto :EOF
047.
048. :::::::::::::
049. :N2X
050. :::::::::::::
051.
052. setlocal enabledelayedexpansion enableextensions
053. set $I=%*
054. if /i "%$I:~0,4%" equ "tbl=" (
055. for /f "tokens=1* delims= " %%a in (
056. "%$I%"
057. ) do (
058. set %%a
059. set $I=%%b
060. )
061. )
062. if defined %$I% set $R=%$I%
063. if defined $R set $I=!%$I%!
064. if not defined tbl set "tbl=n2w"
065. set /p table=<\cmd\data\%tbl%.tbl
066. set $I=%$I:.=`%
067. for %%a in ( %table% ) do (set $I=!$I:%%~na=%%~xa!)
068. set $O=%$I:.=%
069. set $O=%$O:`=.%
070. :EXITN2X
071. if not defined $R goto :DISPN2X
072. endlocal & set %$R%=%$O%& goto :EOF
073. :DISPN2X
074. endlocal & echo/%$O% & goto :EOF
075.
076. :::::::::::::
077. :W2N
078. :::::::::::::
079.
080. setlocal enableextensions enabledelayedexpansion
081. set $I=%*
082. if defined %$I% set $R=%$I%
083. if defined $R set $I=!%$I%!
084. set $I=%$I:.=`%
085. for %%a in (
086. one.1 two.2 three.3 four.4 five.5 six.6 seven.7 eight.8 nine.9 zero.0
087. ) do (set $I=!$I:%%~na=%%~xa!)
088. set $O=%$I:.=%
089. set $O=%$O:`=.%
090. :EXITW2N
091. if not defined $R goto :DISPW2N
092. endlocal & set %$R%=%$O%& goto :EOF
093. :DISPW2N
094. endlocal & echo/%$O% & goto :EOF
095.
096. :::::::::::::
097. :HEADER
098. :::::::::::::
099.
100. set sep=
101. set outfile=%temp%\%~n0.log
102. for /l %%s in (1,1,80) do set sep=!sep!■
103. for /l %%s in (1,1,2) do (echo/!sep! >> %outfile%)
104. echo/%date% %time%>> %outfile%
105. echo/input: {%$I%}>> %outfile%
106. for /l %%s in (1,1,2) do (echo/!sep! >> %outfile%)
107. goto :EOF
==========end "c:\Cmd\demo\tcyclic.cmd" ==========

--
Phil Robyn


Mike Sanders

unread,
Jun 5, 2017, 1:41:35 PM6/5/17
to
pro...@berkeley.edu wrote:

> Using a somewhat unorthodox method of encrypting numeric content...

Ahh Suberb! Phil please, your're klling me - consider
a webpage too so we can browse & refer others to. =)

Keep sharing your brainfood in any event!

--
later on,
Mike

https://busybox.hypermart.net
0 new messages