浏览代码

Rebuilt 64bit winaos

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

二进制
win64/bin/A2Sequencers.GofWw


二进制
win64/bin/ADVAPI32.GofWw


二进制
win64/bin/AFM.GofWw


二进制
win64/bin/AMD64Decoder.GofWw


二进制
win64/bin/ARMDecoder.GofWw


二进制
win64/bin/ASMAMD64.GofWw


二进制
win64/bin/ASN1.GofWw


二进制
win64/bin/ActiveTimers.GofWw


二进制
win64/bin/AlmSmtpReceiver.GofWw


二进制
win64/bin/AnimationCodec.GofWw


二进制
win64/bin/Archives.GofWw


二进制
win64/bin/Attributes.GofWw


二进制
win64/bin/Autostart.GofWw


二进制
win64/bin/BIT.GofWw


二进制
win64/bin/BMPCodec.GofWw


二进制
win64/bin/Base64.GofWw


二进制
win64/bin/Beep.GofWw


二进制
win64/bin/BeepTest.GofWw


二进制
win64/bin/BenchSyntaxHighlighter.GofWw


二进制
win64/bin/BenchTCP.GofWw


二进制
win64/bin/BenchXML.GofWw


二进制
win64/bin/BimboMail.GofWw


二进制
win64/bin/BimboScanner.GofWw


二进制
win64/bin/Bimso.GofWw


二进制
win64/bin/Bin2Hex.GofWw


二进制
win64/bin/BinToCode.GofWw


二进制
win64/bin/BitSets.GofWw


二进制
win64/bin/BootConsole.GofWw


二进制
win64/bin/BootManager.GofWw


二进制
win64/bin/BootShell.GofWw


二进制
win64/bin/CATServer.GofWw


二进制
win64/bin/CLUTs.GofWw


二进制
win64/bin/CPUID.GofWw


二进制
win64/bin/CRC.GofWw


二进制
win64/bin/CSS2.GofWw


二进制
win64/bin/CSS2Parser.GofWw


二进制
win64/bin/CSS2Properties.GofWw


二进制
win64/bin/CSS2Scanner.GofWw


二进制
win64/bin/CSV.GofWw


二进制
win64/bin/Caches.GofWw


二进制
win64/bin/CharacterLineup.GofWw


二进制
win64/bin/Checksum.GofWw


二进制
win64/bin/Clipboard.GofWw


二进制
win64/bin/Clock.GofWw


二进制
win64/bin/Codecs.GofWw


二进制
win64/bin/ColorModels.GofWw


二进制
win64/bin/CommandLine.GofWw


二进制
win64/bin/Commands.GofWw


二进制
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.

二进制
win64/bin/CompilerInterface.GofWw


二进制
win64/bin/ComplexNumbers.GofWw


二进制
win64/bin/ComponentInfo.GofWw


二进制
win64/bin/ComponentViewer.GofWw


二进制
win64/bin/Configuration.GofWw


二进制
win64/bin/ContextualDependency.GofWw


二进制
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; 

二进制
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*; 

二进制
win64/bin/CryptoBase64.GofWw


二进制
win64/bin/CryptoBigNumbers.GofWw


二进制
win64/bin/CryptoBlowfish.GofWw


二进制
win64/bin/CryptoCAST.GofWw


二进制
win64/bin/CryptoCSPRNG.GofWw


二进制
win64/bin/CryptoCiphers.GofWw


二进制
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); 

二进制
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)

二进制
win64/bin/CryptoDSA.GofWw


二进制
win64/bin/CryptoDiffieHellman.GofWw


二进制
win64/bin/CryptoHMAC.GofWw


二进制
win64/bin/CryptoHashes.GofWw


二进制
win64/bin/CryptoIDEA.GofWw


二进制
win64/bin/CryptoKeccakF1600.GofWw


二进制
win64/bin/CryptoKeccakSponge.GofWw


二进制
win64/bin/CryptoMD5.GofWw


二进制
win64/bin/CryptoPrimes.GofWw


二进制
win64/bin/CryptoRSA.GofWw


二进制
win64/bin/CryptoSHA1.GofWw


二进制
win64/bin/CryptoSHA256.GofWw


二进制
win64/bin/CryptoSHA3.GofWw


二进制
win64/bin/CryptoTestBigNumbers.GofWw


二进制
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.

二进制
win64/bin/CryptoTestDH.GofWw


二进制
win64/bin/CryptoTestDSA.GofWw


二进制
win64/bin/CryptoTestHMAC.GofWw


二进制
win64/bin/CryptoTestHashes.GofWw


二进制
win64/bin/CryptoTestRSA.GofWw


二进制
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

二进制
win64/bin/CryptoUtils.GofWw


二进制
win64/bin/CyberbitNetInstall.GofWw


二进制
win64/bin/CyrillicUtilities.GofWw


二进制
win64/bin/DES.GofWw


二进制
win64/bin/DNS.GofWw


部分文件因为文件数量过多而无法显示