Sfoglia il codice sorgente

Rebuilt 64bit winaos

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7658 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 anni fa
parent
commit
5f918214c1
100 ha cambiato i file con 43 aggiunte e 25 eliminazioni
  1. 2 2
      source/Builds.Tool
  2. 2 2
      source/Fox.Tool
  3. BIN
      win64/bin/A2Sequencers.GofWw
  4. BIN
      win64/bin/ADVAPI32.GofWw
  5. BIN
      win64/bin/AFM.GofWw
  6. BIN
      win64/bin/AMD64Decoder.GofWw
  7. BIN
      win64/bin/ARMDecoder.GofWw
  8. BIN
      win64/bin/ASMAMD64.GofWw
  9. BIN
      win64/bin/ASN1.GofWw
  10. BIN
      win64/bin/ActiveTimers.GofWw
  11. BIN
      win64/bin/AlmSmtpReceiver.GofWw
  12. BIN
      win64/bin/AnimationCodec.GofWw
  13. BIN
      win64/bin/Archives.GofWw
  14. BIN
      win64/bin/Attributes.GofWw
  15. BIN
      win64/bin/Autostart.GofWw
  16. BIN
      win64/bin/BIT.GofWw
  17. BIN
      win64/bin/BMPCodec.GofWw
  18. BIN
      win64/bin/Base64.GofWw
  19. BIN
      win64/bin/Beep.GofWw
  20. BIN
      win64/bin/BeepTest.GofWw
  21. BIN
      win64/bin/BenchSyntaxHighlighter.GofWw
  22. BIN
      win64/bin/BenchTCP.GofWw
  23. BIN
      win64/bin/BenchXML.GofWw
  24. BIN
      win64/bin/BimboMail.GofWw
  25. BIN
      win64/bin/BimboScanner.GofWw
  26. BIN
      win64/bin/Bimso.GofWw
  27. BIN
      win64/bin/Bin2Hex.GofWw
  28. BIN
      win64/bin/BinToCode.GofWw
  29. BIN
      win64/bin/BitSets.GofWw
  30. BIN
      win64/bin/BootConsole.GofWw
  31. BIN
      win64/bin/BootManager.GofWw
  32. BIN
      win64/bin/BootShell.GofWw
  33. BIN
      win64/bin/CATServer.GofWw
  34. BIN
      win64/bin/CLUTs.GofWw
  35. BIN
      win64/bin/CPUID.GofWw
  36. BIN
      win64/bin/CRC.GofWw
  37. BIN
      win64/bin/CSS2.GofWw
  38. BIN
      win64/bin/CSS2Parser.GofWw
  39. BIN
      win64/bin/CSS2Properties.GofWw
  40. BIN
      win64/bin/CSS2Scanner.GofWw
  41. BIN
      win64/bin/CSV.GofWw
  42. BIN
      win64/bin/Caches.GofWw
  43. BIN
      win64/bin/CharacterLineup.GofWw
  44. BIN
      win64/bin/Checksum.GofWw
  45. BIN
      win64/bin/Clipboard.GofWw
  46. BIN
      win64/bin/Clock.GofWw
  47. BIN
      win64/bin/Codecs.GofWw
  48. BIN
      win64/bin/ColorModels.GofWw
  49. BIN
      win64/bin/CommandLine.GofWw
  50. BIN
      win64/bin/Commands.GofWw
  51. BIN
      win64/bin/Compiler.GofWw
  52. 2 1
      win64/bin/Compiler.SymWw
  53. BIN
      win64/bin/CompilerInterface.GofWw
  54. BIN
      win64/bin/ComplexNumbers.GofWw
  55. BIN
      win64/bin/ComponentInfo.GofWw
  56. BIN
      win64/bin/ComponentViewer.GofWw
  57. BIN
      win64/bin/Configuration.GofWw
  58. BIN
      win64/bin/ContextualDependency.GofWw
  59. BIN
      win64/bin/CryptoAES.GofWw
  60. 4 14
      win64/bin/CryptoAES.SymWw
  61. BIN
      win64/bin/CryptoARC4.GofWw
  62. 1 1
      win64/bin/CryptoARC4.SymWw
  63. BIN
      win64/bin/CryptoBase64.GofWw
  64. BIN
      win64/bin/CryptoBigNumbers.GofWw
  65. BIN
      win64/bin/CryptoBlowfish.GofWw
  66. BIN
      win64/bin/CryptoCAST.GofWw
  67. BIN
      win64/bin/CryptoCSPRNG.GofWw
  68. BIN
      win64/bin/CryptoCiphers.GofWw
  69. BIN
      win64/bin/CryptoDES.GofWw
  70. 16 0
      win64/bin/CryptoDES.SymWw
  71. BIN
      win64/bin/CryptoDES3.GofWw
  72. 1 1
      win64/bin/CryptoDES3.SymWw
  73. BIN
      win64/bin/CryptoDSA.GofWw
  74. BIN
      win64/bin/CryptoDiffieHellman.GofWw
  75. BIN
      win64/bin/CryptoHMAC.GofWw
  76. BIN
      win64/bin/CryptoHashes.GofWw
  77. BIN
      win64/bin/CryptoIDEA.GofWw
  78. BIN
      win64/bin/CryptoKeccakF1600.GofWw
  79. BIN
      win64/bin/CryptoKeccakSponge.GofWw
  80. BIN
      win64/bin/CryptoMD5.GofWw
  81. BIN
      win64/bin/CryptoPrimes.GofWw
  82. BIN
      win64/bin/CryptoRSA.GofWw
  83. BIN
      win64/bin/CryptoSHA1.GofWw
  84. BIN
      win64/bin/CryptoSHA256.GofWw
  85. BIN
      win64/bin/CryptoSHA3.GofWw
  86. BIN
      win64/bin/CryptoTestBigNumbers.GofWw
  87. BIN
      win64/bin/CryptoTestCiphers.GofWw
  88. 2 0
      win64/bin/CryptoTestCiphers.SymWw
  89. BIN
      win64/bin/CryptoTestDH.GofWw
  90. BIN
      win64/bin/CryptoTestDSA.GofWw
  91. BIN
      win64/bin/CryptoTestHMAC.GofWw
  92. BIN
      win64/bin/CryptoTestHashes.GofWw
  93. BIN
      win64/bin/CryptoTestRSA.GofWw
  94. BIN
      win64/bin/CryptoTwofish.GofWw
  95. 13 4
      win64/bin/CryptoTwofish.SymWw
  96. BIN
      win64/bin/CryptoUtils.GofWw
  97. BIN
      win64/bin/CyberbitNetInstall.GofWw
  98. BIN
      win64/bin/CyrillicUtilities.GofWw
  99. BIN
      win64/bin/DES.GofWw
  100. BIN
      win64/bin/DNS.GofWw

+ 2 - 2
source/Builds.Tool

@@ -85,9 +85,9 @@ SOLARIS32G -- 32 bit solaris a2 using generic object files
 Win64G -- work in progress
 Win64G -- work in progress
 ================
 ================
 	
 	
-	Release.Build WinAosG64 ~
+	Release.Build --path=NewAos/ WinAosG64 ~
 
 
-	StaticLinker.Link --fileFormat=PE64CUI --fileName=oberon64.exe --extension=GofWw --displacement=401000H  
+	StaticLinker.Link --path=./NewAos/ --fileFormat=PE64CUI --fileName=oberon64.exe --extension=GofWw --displacement=401000H  
 		Runtime Trace Kernel32 
 		Runtime Trace Kernel32 
 		Heaps Modules Objects Kernel
 		Heaps Modules Objects Kernel
 		KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets 
 		KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets 

+ 2 - 2
source/Fox.Tool

@@ -1,6 +1,6 @@
 Fox - Flexible Oberon Cross Compiler
 Fox - Flexible Oberon Cross Compiler
 Build and Test Tool
 Build and Test Tool
-(c) Felix Friedrich (fof), ETH Zürich, 2008-2016
+(c) Felix Friedrich (fof), ETH Zürich, 2008-2018
 Conceptual design of the compiler has been worked out together with Florian Negele.
 Conceptual design of the compiler has been worked out together with Florian Negele.
 
 
 Heaps.SetYoung 
 Heaps.SetYoung 
@@ -11,7 +11,7 @@ Compiler.Compile --noInterfaceCheck
 	SystemTools.DoCommands
 	SystemTools.DoCommands
 	SystemTools.Timer start ~
 	SystemTools.Timer start ~
 
 
-	Compiler.Compile -p=Win32G *)
+	Compiler.Compile *)
 
 
 	BitSets.Mod ObjectFile.Mod GenericLinker.Mod StaticLinker.Mod
 	BitSets.Mod ObjectFile.Mod GenericLinker.Mod StaticLinker.Mod
 	FoxBasic.Mod  FoxProgTools.Mod  FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod
 	FoxBasic.Mod  FoxProgTools.Mod  FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod

BIN
win64/bin/A2Sequencers.GofWw


BIN
win64/bin/ADVAPI32.GofWw


BIN
win64/bin/AFM.GofWw


BIN
win64/bin/AMD64Decoder.GofWw


BIN
win64/bin/ARMDecoder.GofWw


BIN
win64/bin/ASMAMD64.GofWw


BIN
win64/bin/ASN1.GofWw


BIN
win64/bin/ActiveTimers.GofWw


BIN
win64/bin/AlmSmtpReceiver.GofWw


BIN
win64/bin/AnimationCodec.GofWw


BIN
win64/bin/Archives.GofWw


BIN
win64/bin/Attributes.GofWw


BIN
win64/bin/Autostart.GofWw


BIN
win64/bin/BIT.GofWw


BIN
win64/bin/BMPCodec.GofWw


BIN
win64/bin/Base64.GofWw


BIN
win64/bin/Beep.GofWw


BIN
win64/bin/BeepTest.GofWw


BIN
win64/bin/BenchSyntaxHighlighter.GofWw


BIN
win64/bin/BenchTCP.GofWw


BIN
win64/bin/BenchXML.GofWw


BIN
win64/bin/BimboMail.GofWw


BIN
win64/bin/BimboScanner.GofWw


BIN
win64/bin/Bimso.GofWw


BIN
win64/bin/Bin2Hex.GofWw


BIN
win64/bin/BinToCode.GofWw


BIN
win64/bin/BitSets.GofWw


BIN
win64/bin/BootConsole.GofWw


BIN
win64/bin/BootManager.GofWw


BIN
win64/bin/BootShell.GofWw


BIN
win64/bin/CATServer.GofWw


BIN
win64/bin/CLUTs.GofWw


BIN
win64/bin/CPUID.GofWw


BIN
win64/bin/CRC.GofWw


BIN
win64/bin/CSS2.GofWw


BIN
win64/bin/CSS2Parser.GofWw


BIN
win64/bin/CSS2Properties.GofWw


BIN
win64/bin/CSS2Scanner.GofWw


BIN
win64/bin/CSV.GofWw


BIN
win64/bin/Caches.GofWw


BIN
win64/bin/CharacterLineup.GofWw


BIN
win64/bin/Checksum.GofWw


BIN
win64/bin/Clipboard.GofWw


BIN
win64/bin/Clock.GofWw


BIN
win64/bin/Codecs.GofWw


BIN
win64/bin/ColorModels.GofWw


BIN
win64/bin/CommandLine.GofWw


BIN
win64/bin/Commands.GofWw


BIN
win64/bin/Compiler.GofWw


+ 2 - 1
win64/bin/Compiler.SymWw

@@ -1,5 +1,5 @@
 MODULE Compiler;
 MODULE Compiler;
-	IMPORT Basic := FoxBasic, Scanner := FoxScanner, Parser := FoxParser, SemanticChecker := FoxSemanticChecker, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Streams, Commands, Diagnostics, Options, Kernel, Printout := FoxPrintout, Backend := FoxBackend, Strings, Global := FoxGlobal, Frontend := FoxFrontend, Files;
+	IMPORT Basic := FoxBasic, Scanner := FoxScanner, Parser := FoxParser, SemanticChecker := FoxSemanticChecker, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Streams, Commands, Diagnostics, Options, Kernel, Printout := FoxPrintout, Backend := FoxBackend, Strings, Global := FoxGlobal, Frontend := FoxFrontend, Files, Machine;
 CONST 
 CONST 
 	Print* = 0; 
 	Print* = 0; 
 	Silent* = 1; 
 	Silent* = 1; 
@@ -46,5 +46,6 @@ VAR
 	PROCEDURE ^ AddPlatform*(context: Commands.Context); 
 	PROCEDURE ^ AddPlatform*(context: Commands.Context); 
 	PROCEDURE ^ SetDefaultPlatform*(context: Commands.Context); 
 	PROCEDURE ^ SetDefaultPlatform*(context: Commands.Context); 
 	PROCEDURE ^ GetDefaultPlatform(VAR name: ARRAY OF CHAR): BOOLEAN; 
 	PROCEDURE ^ GetDefaultPlatform(VAR name: ARRAY OF CHAR): BOOLEAN; 
+	PROCEDURE ^ SetupDefaults; 
 BEGIN
 BEGIN
 END Compiler.
 END Compiler.

BIN
win64/bin/CompilerInterface.GofWw


BIN
win64/bin/ComplexNumbers.GofWw


BIN
win64/bin/ComponentInfo.GofWw


BIN
win64/bin/ComponentViewer.GofWw


BIN
win64/bin/Configuration.GofWw


BIN
win64/bin/ContextualDependency.GofWw


BIN
win64/bin/CryptoAES.GofWw


+ 4 - 14
win64/bin/CryptoAES.SymWw

@@ -12,10 +12,10 @@ CONST
 TYPE 
 TYPE 
 	RTable = ARRAY 256 OF SET; 
 	RTable = ARRAY 256 OF SET; 
 
 
+	RKeys = ARRAY (4 * (MaxRounds + 1)) OF SET; 
+
 	Cipher* = OBJECT (Ciphers.Cipher)
 	Cipher* = OBJECT (Ciphers.Cipher)
 	TYPE 
 	TYPE 
-		Key = ARRAY (4 * (MaxRounds + 1)) OF SET; 
-
 		Block = ARRAY 4 OF SET; 
 		Block = ARRAY 4 OF SET; 
 
 
 		Ind4 = RECORD 
 		Ind4 = RECORD 
@@ -23,7 +23,7 @@ TYPE
 		END; 
 		END; 
 	VAR 
 	VAR 
 		rounds: SHORTINT; 
 		rounds: SHORTINT; 
-		key, dkey: Key; 
+		key, dkey: RKeys; 
 		iv: Block; 
 		iv: Block; 
 
 
 		PROCEDURE ^ InitKey*(CONST src: ARRAY OF CHAR; keybits: LONGINT); 
 		PROCEDURE ^ InitKey*(CONST src: ARRAY OF CHAR; keybits: LONGINT); 
@@ -43,19 +43,9 @@ TYPE
 		PROCEDURE ^ Init128(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init128(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init192(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init192(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init256(CONST src: ARRAY OF CHAR): SHORTINT; 
 		PROCEDURE ^ Init256(CONST src: ARRAY OF CHAR): SHORTINT; 
-		PROCEDURE ^ InvertKey; 
+		PROCEDURE ^ InvertKeys; 
 		PROCEDURE ^  & Init*; 
 		PROCEDURE ^  & Init*; 
 	END Cipher; 
 	END Cipher; 
-
-	ConstBuffer = OBJECT 
-	VAR 
-		buf: ARRAY 2048 OF CHAR; 
-		ib: LONGINT; 
-
-		PROCEDURE ^  & Initialize; 
-		PROCEDURE ^ Append(CONST str: ARRAY OF CHAR); 
-		PROCEDURE ^ GetInt(): LONGINT; 
-	END ConstBuffer; 
 VAR 
 VAR 
 	e0, e1, e2, e3, e4: RTable; 
 	e0, e1, e2, e3, e4: RTable; 
 	d0, d1, d2, d3, d4: RTable; 
 	d0, d1, d2, d3, d4: RTable; 

BIN
win64/bin/CryptoARC4.GofWw


+ 1 - 1
win64/bin/CryptoARC4.SymWw

@@ -4,7 +4,7 @@ CONST
 TYPE 
 TYPE 
 	Cipher* = OBJECT (Ciphers.Cipher)
 	Cipher* = OBJECT (Ciphers.Cipher)
 	VAR 
 	VAR 
-		s: ARRAY 256 OF CHAR; 
+		s: ARRAY 256 OF LONGINT; 
 		i, j: LONGINT; 
 		i, j: LONGINT; 
 
 
 		PROCEDURE ^  & Init*; 
 		PROCEDURE ^  & Init*; 

BIN
win64/bin/CryptoBase64.GofWw


BIN
win64/bin/CryptoBigNumbers.GofWw


BIN
win64/bin/CryptoBlowfish.GofWw


BIN
win64/bin/CryptoCAST.GofWw


BIN
win64/bin/CryptoCSPRNG.GofWw


BIN
win64/bin/CryptoCiphers.GofWw


BIN
win64/bin/CryptoDES.GofWw


+ 16 - 0
win64/bin/CryptoDES.SymWw

@@ -1,11 +1,20 @@
 MODULE CryptoDES;
 MODULE CryptoDES;
 	IMPORT S := SYSTEM, U := CryptoUtils, Ciphers := CryptoCiphers;
 	IMPORT S := SYSTEM, U := CryptoUtils, Ciphers := CryptoCiphers;
 CONST 
 CONST 
+	Mask01 = S.VAL(SET, 0AAAAAAAAH); 
+	Mask02 = S.VAL(SET, 858993459); 
+	Mask04 = S.VAL(SET, 252645135); 
+	Mask08 = S.VAL(SET, 16711935); 
+	Mask16 = S.VAL(SET, 65535); 
 TYPE 
 TYPE 
 	Sandbox = ARRAY 64 OF SET; 
 	Sandbox = ARRAY 64 OF SET; 
 
 
 	BitSwap = ARRAY 16 OF SET; 
 	BitSwap = ARRAY 16 OF SET; 
 
 
+	Ind4* = RECORD 
+		a-, b-, c-, d-: LONGINT; 
+	END; 
+
 	Cipher* = OBJECT (Ciphers.Cipher)
 	Cipher* = OBJECT (Ciphers.Cipher)
 	VAR 
 	VAR 
 		ske, skd: ARRAY 32 OF SET; 
 		ske, skd: ARRAY 32 OF SET; 
@@ -24,6 +33,13 @@ VAR
 	sb1-, sb2-, sb3-, sb4-, sb5-, sb6-, sb7-, sb8-: Sandbox; 
 	sb1-, sb2-, sb3-, sb4-, sb5-, sb6-, sb7-, sb8-: Sandbox; 
 	LHs, RHs: BitSwap; 
 	LHs, RHs: BitSwap; 
 
 
+	PROCEDURE  - Split*(x: SET; VAR i4: Ind4);
+	BEGIN
+		i4.a := (S.VAL(LONGINT, x) MOD 64); 
+		i4.b := ((S.VAL(LONGINT, x) DIV 256) MOD 64); 
+		i4.c := ((S.VAL(LONGINT, x) DIV 65536) MOD 64); 
+		i4.d := ((S.VAL(LONGINT, x) DIV 16777216) MOD 64)
+	END Split; 
 	PROCEDURE ^ NewCipher*(): Ciphers.Cipher; 
 	PROCEDURE ^ NewCipher*(): Ciphers.Cipher; 
 	PROCEDURE ^ IP*(VAR x, y: SET); 
 	PROCEDURE ^ IP*(VAR x, y: SET); 
 	PROCEDURE ^ FP*(VAR x, y: SET); 
 	PROCEDURE ^ FP*(VAR x, y: SET); 

BIN
win64/bin/CryptoDES3.GofWw


+ 1 - 1
win64/bin/CryptoDES3.SymWw

@@ -1,5 +1,5 @@
 MODULE CryptoDES3;
 MODULE CryptoDES3;
-	IMPORT Ciphers := CryptoCiphers, U := CryptoUtils, DES := CryptoDES, S := SYSTEM;
+	IMPORT Ciphers := CryptoCiphers, U := CryptoUtils, D := CryptoDES;
 CONST 
 CONST 
 TYPE 
 TYPE 
 	Cipher* = OBJECT (Ciphers.Cipher)
 	Cipher* = OBJECT (Ciphers.Cipher)

BIN
win64/bin/CryptoDSA.GofWw


BIN
win64/bin/CryptoDiffieHellman.GofWw


BIN
win64/bin/CryptoHMAC.GofWw


BIN
win64/bin/CryptoHashes.GofWw


BIN
win64/bin/CryptoIDEA.GofWw


BIN
win64/bin/CryptoKeccakF1600.GofWw


BIN
win64/bin/CryptoKeccakSponge.GofWw


BIN
win64/bin/CryptoMD5.GofWw


BIN
win64/bin/CryptoPrimes.GofWw


BIN
win64/bin/CryptoRSA.GofWw


BIN
win64/bin/CryptoSHA1.GofWw


BIN
win64/bin/CryptoSHA256.GofWw


BIN
win64/bin/CryptoSHA3.GofWw


BIN
win64/bin/CryptoTestBigNumbers.GofWw


BIN
win64/bin/CryptoTestCiphers.GofWw


+ 2 - 0
win64/bin/CryptoTestCiphers.SymWw

@@ -7,6 +7,7 @@ CONST
 	PROCEDURE ^ Ctr1*(context: Commands.Context); 
 	PROCEDURE ^ Ctr1*(context: Commands.Context); 
 	PROCEDURE ^ Ecb2*(CONST modname, input, output, key: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Ecb2*(CONST modname, input, output, key: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Cbc2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Cbc2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
+	PROCEDURE ^ DecryptCbc2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Ctr2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ Ctr2*(CONST modname, input, output, key, iv: ARRAY OF CHAR; datalen, keybits: LONGINT); 
 	PROCEDURE ^ MeasureTime*(context: Commands.Context); 
 	PROCEDURE ^ MeasureTime*(context: Commands.Context); 
 	PROCEDURE ^ DesEcb2*; 
 	PROCEDURE ^ DesEcb2*; 
@@ -19,5 +20,6 @@ CONST
 	PROCEDURE ^ IdeaCbc2*; 
 	PROCEDURE ^ IdeaCbc2*; 
 	PROCEDURE ^ AesCbc2*; 
 	PROCEDURE ^ AesCbc2*; 
 	PROCEDURE ^ AesCtr2*; 
 	PROCEDURE ^ AesCtr2*; 
+	PROCEDURE ^ CbcRandom*(context: Commands.Context); 
 BEGIN
 BEGIN
 END CryptoTestCiphers.
 END CryptoTestCiphers.

BIN
win64/bin/CryptoTestDH.GofWw


BIN
win64/bin/CryptoTestDSA.GofWw


BIN
win64/bin/CryptoTestHMAC.GofWw


BIN
win64/bin/CryptoTestHashes.GofWw


BIN
win64/bin/CryptoTestRSA.GofWw


BIN
win64/bin/CryptoTwofish.GofWw


+ 13 - 4
win64/bin/CryptoTwofish.SymWw

@@ -2,11 +2,15 @@ MODULE CryptoTwofish;
 	IMPORT S := SYSTEM, Ciphers := CryptoCiphers, U := CryptoUtils;
 	IMPORT S := SYSTEM, Ciphers := CryptoCiphers, U := CryptoUtils;
 CONST 
 CONST 
 	N = 16; 
 	N = 16; 
+	FDBK = 361; 
+	Fdbk2 = S.VAL(SET, (FDBK DIV 2)); 
+	Fdbk4 = S.VAL(SET, (FDBK DIV 4)); 
+	Byte0 = S.VAL(SET, 255); 
+	S14d = S.VAL(SET, 333); 
+	S0a6 = S.VAL(SET, 166); 
 TYPE 
 TYPE 
 	Block = ARRAY 4 OF SET; 
 	Block = ARRAY 4 OF SET; 
 
 
-	LI = LONGINT; 
-
 	SKey = ARRAY 4 OF SET; 
 	SKey = ARRAY 4 OF SET; 
 
 
 	Cipher* = OBJECT (Ciphers.Cipher)
 	Cipher* = OBJECT (Ciphers.Cipher)
@@ -25,14 +29,19 @@ TYPE
 		PROCEDURE ^  & Init*; 
 		PROCEDURE ^  & Init*; 
 	END Cipher; 
 	END Cipher; 
 VAR 
 VAR 
-	tab: ARRAY 2 OF ARRAY 256 OF SET; 
+	tab0: ARRAY 256 OF SET; 
+	tab1: ARRAY 256 OF SET; 
 
 
 	PROCEDURE ^ NewCipher*(): Ciphers.Cipher; 
 	PROCEDURE ^ NewCipher*(): Ciphers.Cipher; 
 	PROCEDURE ^ m1(x: LONGINT): SET; 
 	PROCEDURE ^ m1(x: LONGINT): SET; 
 	PROCEDURE ^ mx(x: LONGINT): SET; 
 	PROCEDURE ^ mx(x: LONGINT): SET; 
 	PROCEDURE ^ my(x: LONGINT): SET; 
 	PROCEDURE ^ my(x: LONGINT): SET; 
 	PROCEDURE ^ split(x: LONGINT; VAR v: SKey); 
 	PROCEDURE ^ split(x: LONGINT; VAR v: SKey); 
-	PROCEDURE ^ f32(x: LONGINT; CONST k32: ARRAY OF LONGINT; keybits: LONGINT): LONGINT; 
+	PROCEDURE  - Int(x: SET): LONGINT;
+	BEGIN
+		RETURN S.VAL(LONGINT, x)
+	END Int; 
+	PROCEDURE ^ F32(x: SET; CONST k32: ARRAY OF LONGINT; keybits: LONGINT): LONGINT; 
 	PROCEDURE ^ Encode(k0, k1: LONGINT): LONGINT; 
 	PROCEDURE ^ Encode(k0, k1: LONGINT): LONGINT; 
 	PROCEDURE ^ Init0; 
 	PROCEDURE ^ Init0; 
 BEGIN
 BEGIN

BIN
win64/bin/CryptoUtils.GofWw


BIN
win64/bin/CyberbitNetInstall.GofWw


BIN
win64/bin/CyrillicUtilities.GofWw


BIN
win64/bin/DES.GofWw


BIN
win64/bin/DNS.GofWw


Some files were not shown because too many files changed in this diff