-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
4326 lines (3896 loc) · 192 KB
/
Copy pathChangeLog
File metadata and controls
4326 lines (3896 loc) · 192 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Sun Apr 8 18:37:00 CDT 2018 wart@kobold.org
* Add --with-dictionary configure option to specify the default
dictionary location (defaults to /usr/share/dict)
* Allow invalid words in new word splitter, if no other matches found
* Set proper freeProc when using Tcl_SetResult with static strings
* Add 'memtest' Makefile target to run test suite through valgrind
* Add more encoding/restoring tests, and cleaned up lots of bugs found
with the new tests.
* Reimplement lookupByPattern in C for speed
* Better pkgIndex.tcl management at configure, build, test, and install
time.
Rebase tclAppInit.c to prevent core dump on startup of the tcipher shell
* Install binary programs. Default exec_prefix to prefix.
* Propagate error back to the caller if a scoring tree dump script throws
an error
Fri Mar 30 11:11:00 CDT 2018 wart@kobold.org
* Released 1.6.3
* Use new rules when linking with Tcl stubs and Tcl 8.6
* Ensure const qualifiers aren't disobeyed.
* Cleaned up lots of compiler warnings
* Fixed core dump when setting foursquare ciphers that include a 'j'
* Preparing for 1.6.3 release, the first one after moving the sources
to Github.
Sun Apr 4 22:28:46 PDT 2010 wart@kobold.org
* hillclimb.c: Add missing argument to Tcl_AppendResult()
* Fix memory corruption due to premature freeing of memory.
Mon Mar 31 13:07:11 PDT 2008 wart@kobold.org
* Makefile.in: Add lethist and solvemysz utilities. Added quagmire
cipher type.
* tests/quagmire.test:
* quagmire.c: Add initial support for decoding quagmire I and II ciphers.
* configure:
* configure.in: Re-enable check for getenv() so that we can use
the CIPHERTOOL_DICTIONARY environment variable to specify the
dictionary location.
* hillclimbCiphers.tcl: Add getK1FullKeyList for single-word key
restores.
* progs/hillclimb: Use the cipher-specific restore procedure
* progs/slidesolve: Add -scoretype command line argument
* library/utils.tcl: remove function that saves in the old format
* library/dictionary.tcl: Fix bug that would throw an error if
lookupByPattern found no matches.
* hillclimb.c:
* cipherInit.c: Add method for swapping letters in the same keysquare
row/column
* tests/dictionary.test:
* dictionaryCmds.c: Throw an error if a word with the wrong length is found
in a dictionary file.
Sun Mar 16 17:59:09 PDT 2008 wart@kobold.org
* progs/keysearch:
* progs/keysearch:
* progs/k4search:
* progs/k3search: Better handling of the dictionary
* tests/*.test: Add tests for setting ciphertext with uppercase letters.
* tests/homophonic.test:
* homophonic.c: Add -solvemethod configuration to allow both a quick
(frequency fitting) solve algorithm as well as a thorough (brute force
through all possible keys) solve algorithm.
* tests/wordtree.test:
* wordtreeCmd.c: Add a 'splitbest' function that gives better results
when trying to split plaintext into valid words.
* library/dictionary.tcl:
* progs/patsplit: use new 'wordtree splitbest' function to split
plaintext into real words.
* wordtree.h:
* wordtree.c:
* ngramScore.c:
* wordtreeScore.c: Change method signature to make it more flexible
* aristocrat.c:
* caesar.c:
* cipherUtil.c: Convert ciphertext from upper to lower case
* tests/trifid.test:
* tests/bifid.test:
* trifid.c:
* bifid.c: Allow empty second argument to restore
* tests/score.test:
* score.c: Assume the initial default scoring object has been initialized
* tests/gromark.test:
* gromark.c: Add extra checks for validity of the restore key
* progs/ctool:
* library/ctool.tcl: Add 'save as' menu item
* Makefile.in:
* cipherInit.c:
* library/hillclimb.tcl:
* library/hillclimbCiphers.tcl:
* hillclimb.h:
* hillclimb.c: Reimplement some of the hillclimber functions in C
for performance.
* progs/hillclimb: Fix bug when score type was not set.
Mon Mar 10 20:55:13 PDT 2008 wart@kobold.org
* Released 1.6.2
* columnar.c:
* tests/columnar.test:
* vvb.c:
* tests/vvb.test: When encoding, set the period based on the length
of the key
* tests/twosquare.test:
* tests/foursquare.test:
* tests/playfair.test:
* twosquare.c:
* playfair.c: Add cryptographic nulls to plaintext where necessary
when encoding.
* tests/cadenus.test:
* cadenus.c: Generate key order automatically from key when encoding
* tests/score.test:
* score.h:
* score.c: Throw an error if the scoring table has not been initialized
with at least one value. This will make it more clear to users who
keep getting a value of '0.0'.
* cipherUtil.c: Add convenience function for converting 'j' to 'i' in
keysquare-based ciphers
* dictionaryInit.c: Change default dictionary location
* progs/tkcrithm: Give a decent error message if 'solve' is pressed when
there is nothing to solve for.
* progs/grandpresol: Use cmdline package for command line argument
processing.
* library/hillclimb.tcl:
* library/hillclimbCiphers.tcl:
* progs/hillclimb: Added -churn command line flag for looping the
hillclimber through all possible substititions of the most common
letter of a simple substitution cipher.
Wed Mar 5 05:11:19 PST 2008 wart@kobold.org
* bacon.c: Fix core dump at the end of autosolving
* progs/*: Use vanilla tclsh interpreter instead of custom tcipher shell
Sat Mar 1 21:10:25 PST 2008 wart@kobold.org
* progs/hillclimb: Improve usefullness of secondary scoring functionality
Sat Mar 1 09:10:47 PST 2008 wart@kobold.org
* ciphertool.desktop:
* tkcrithm.desktop: Fix desktop file version
* Makefile.in: Add some profiling files to the clean target
* nitrans.c: Minor code cleanup. Add ability to read both vertically
and horizontally.
* tests/nitrans.test:
* tests/score.test:
* score.c: Add 'type' subcommand for introspecting a score object's type
* library/hillclimb.tcl: Add preliminary support for multiple scoring
functions to be used.
* progs/hillclimb: Add '-seedmutate', '-deadhills', '-finescoretype'
command line options. Keep some simple statistics on the uniqueness
of the hilltops found.
* library/scoretypes.tcl: Split the comboscore type into 3 different
scoring functions so that it can be easily used with di-, tri-, and
tetra-grams.
Sun Jan 22 23:57:43 PST 2006 wart@kobold.org
* amsco.c: Terminate a string with a null character.
* bacon.c: Remove meaningless strncpy.
* bazeries.c:
* bifid.c:
* bigbifid.c:
* cadenus.c:
* digrafid.c:
* gromark.c:
* trifid.c:
* homophonic.c:
* vvb.c: Clear up minor memory leak.
* morbit.c: Cleaned up a handful of memory bugs.
* tests/amsco.test: Fix misnumbered test case.
Tue Jan 17 22:28:06 PST 2006 wart@kobold.org
* Released 1.6.1
* INSTALL: Added instructions for installing and building an installer
on Windows.
* cipher.spec.in: parameterize the version in the source url.
* install.nsi.in:
* configure.in:
* configure: Fix the windows install script based on the latest TEA
updates.
Mon Jan 16 22:28:02 PST 2006 wart@kobold.org
* tclAppInit.c: Merge changes from the Tcl core.
* cipherInit.c: Use macro for the package name. Fix mismatch
of command deletion functions.
* wordtreeCmd.c: Fix pointer type mismatch in the wordtree command delete
function.
* score.c: Prevent double-free of the initial score command.
* pkgIndex.tcl.in:
* config/tcl.m4:
* Makefile.in:
* configure.in: New TEA 3.4-compatible build files.
* progs/tkcrithm: Added a missing "package require Crithm_gui"
* cipher.spec.in: Added desktop integration files.
Sat Jan 14 22:33:51 PST 2006 wart@kobold.org
* config/tcl.m4: Fix quoting bug. Added logic for configuring
on Mac OS-X.
* aclocal.m4: Regenerated.
* progs/keysquaresearch: Change default step interval.
Tue Jan 3 08:39:43 PST 2006 wart@kobold.org
* ciphertool.desktop:
* tkcrithm.desktop: Added desktop integration files.
Sun Nov 20 12:31:34 PST 2005 wart@kobold.org
* tests/scoredata.test:
* tests/keygen.test: Update tests to reflect new scoring values.
* tests/nitrans.test: Update tests to reflect new valid characters.
* tests/grille.test:
* grille.c: Add support for odd-width grille ciphers.
* progs/autokeysol: Set period to length of keyword, if one is provided.
Print out plaintext with spaces if -addspace was used.
* progs/dumproute: Use better command line processing.
* route.test:
* route.c: Add support for -stepinterval, -stepcommand, and -bestfitcommand
options.
* tests/ragbaby.test:
* ragbaby.c: Fix bug when decoding ciphertext that contains a 'j' or 'x'.
* lethist.c: Added support for alphanumeric ciphertext [a-z0-9]
Wed Nov 9 10:47:08 PST 2005 wart@kobold.org
* progs/portaxsolve: Better command line processing. Fix processing
of the last row of ciphertext.
* progs/Makefile.in:
* progs/checkerboard2pat: Utility for converting a checkerboard cipher to
a patristocrat.
* progs/genboard: Added support for checkerboard ciphers.
* config/tcl.m4:
* configure: Prelimimary support for building on Mac OS X.
Tue Nov 8 14:19:13 PST 2005 wart@kobold.org
* progs/hillclimb: Change default command line values.
* keygen.c: Changed algorithm for calculating the 'ordervalue' of
a key.
* progs/key2col:
* progs/k4search: Refactored code to make use of new library functions.
* tests/util.test: Update to reflect new error message. Added tests for
aristocrat key to columnar cipher conversion.
* library/utils.tcl: Added procedure for converting an aristocrat cipher
key to a columnar cipher object.
* Makefile.in:
* progs/txt2crithm: Added command line tool for converting text
descriptions of equations to crithm autosolver scripts.
* library/crithm.tcl: Added procedure for generating nonzero constraints.
Applied various optimizations to the generated code so that it will
execute faster. Allow the use of ^ as an exponentiation operator.
* library/crithm_gui.tcl: Allow the use of ^ as an exponentiation
operator. Move to a gui package.
* pkgIndex.tcl.in: Split crithm package into a gui and non-gui package.
* aristocrat.c: Add '=' as a valid character. Remove compiler warning.
* crithmCmd.c: Reset value after freeing memory.
* swagman.c:
* score.c:
* pollux.c:
* nitrans.c:
* nicodemus.c:
* ngramScore.c:
* myszcowski.c:
* morbit.c:
* digram.c:
* columnar.c:
* cadenus.c:
* bacon.c:
* amsco.c: Remove compiler warning.
Wed Nov 2 21:25:22 PST 2005 wart@kobold.org
* library/crithm.tcl: Add support for more complex expressions
in the left and right hand sides of equations, including
support for exponentiation.
* tests/route.test:
* route.c: Fix compiler warning. Fix core dump when trying to solve
route ciphers before setting the width.
* vvb.c: Fix compiler warning.
Sat Oct 29 19:09:18 PDT 2005 wart@kobold.org
* progs/hillclimb: Added additional command line arguments for fine
tuning the hill climbing algorithm.
* progs/csolve: Change default step interval for grille ciphers.
Mon Oct 17 18:29:04 PDT 2005 wart@kobold.org
* config/tcl.m4: Add /usr/lib64 to the list of search paths
for tclConfig.sh.
* tests/phillips.test:
* phillips.c: Allow varying number of phillips blocks, from 1 to 20.
* nitrans.c: Allow the characters 0-9 in nitrans ciphers for
assistence with 6x6 keysquares.
* doc/Hillclimb/package.tml: Document the -neighborproc setting.
* library/hillclimbCiphers.tcl: Fix invalid ragbaby seed key.
* progs/bazsol:
* progs/cmbifidsolve:
* progs/csolve:
* progs/patsearch:
* progs/fmorsekeysearch:
* progs/ragbabysearch: Support the use of custom score commands
on the command line.
* progs/keysquaresearch: Support the use of custom score commands
on the command line. Fix route setting for bigbifid ciphers.
* progs/hillclimb: Allow the user to override the default phillips
setting of 8 blocks. Allow the user to set the chance of mutation
from the best key instead of the local maximum.
Wed Apr 20 14:22:51 PDT 2005 wart@kobold.org
* progs/geneticsearch: Added a first draft of a genetic search
for solving aristocrats.
* progs/hillclimb: Added a comboweight argument for customizing
a comboscore scoring function. Use a random mutation amount when
jumping around the keyspace.
* library/scoreTypes.tcl: Move score initialization code to the
specific score method so that the individual score functions in
a combination scoring function don't get initalized too early (and end
up using the wrong dictionary directory). Added a comboweight
parameter to weight the value of the wordtree in a combo scoring
function.
* library/hillclimbCiphers.tcl: Added procedures for mating keys
using one or two crossover points.
* library/hillclimb.tcl: Added 'scoreKey' method so that keys
can be scored without the caller needing to access the specific
decipher procedure and cipher objects.
* library/ctool.tcl: Attempt to locate spaces in words when saving
a cipher.
* library/geneticPerm.tcl:
* pkgIndex.tcl.in:
* Makefile.in: Added first draft of a genetic agorithm library.
Thu Apr 14 13:06:27 PDT 2005 wart@kobold.org
* progs/hillclimb: Updated copyright date.
* progs/pathilltipsearch: Allow custom scoring functions.
* library/scoretypes.tcl: Weight the wordtree score heavily in the
comboscore scoring function.
* library/scoredata.tcl: Add package require for the Dictionary package
so that we can initialize the wordtree scoring objects.
* library/hillclimb.tcl: Better initialization of starting values
for hill climbing.
* wordtreeScore.c: Include 2-letter words in the score.
Wed Apr 13 21:58:08 PDT 2005 wart@kobold.org
* progs/hillclimb: Allow the use of custom scoring functions.
* Makefile.in:
* pkgIndex.tcl.in:
* library/scoretypes.tcl: Added a custom scoring command that combines
a digramlog score with a wordtree score.
Wed Apr 13 15:31:29 PDT 2005 wart@kobold.org
* library/dictionary.tcl: Add an argument to createWordTree to
load words into an existing tree.
* library/scoredata.tcl: Load wordtrees from the current dictionary.
* library/utils.tcl: Clarify the error message if a save file contains
duplicate entries.
Sun Mar 6 18:22:34 PST 2005 wart@kobold.org
* progs/ctool: Change interpreter from 'wish8.3' to 'wish'.
* library/crithm.tcl:
* progs/key2col: Change interpreter from 'tclsh8.3' to 'tcipher'
* configure:
* configure.in: Bumped release from '4' to '5'.
* cipher.spec.in: Use Fedora-style spec file.
Thu Nov 25 18:26:10 PST 2004 wart@kobold.org
* library/utils.tcl: Don't listify the keyword when writing out
a cipher save file.
* library/crithm_gui.tcl: Change '-col' to '-column' to avoid
ambiguity.
* library/baconian.tcl: Don't choke on extra characters in the ciphertext
file.
* library/*.tcl:
* progs/*: Added RCS keyword macros to the files so that we can
track version numbers of the installed files.
* progs/pathilltipsearch: Add missing 'package require dictionary'
* progs/genboard: Added 6x6 foursquare to board generator.
* progs/autokeysol: Better command line processing.
Tue Sep 7 19:01:01 PDT 2004 wart@kobold.org
* Makefile.in: Fix dependency to prevent problems when running
a parallel make. Remove extra mkinstalldirs step that wasn't obeying
an alternate DESTDIR setting. Separate out the dist: and rpm: targets
so that a tar archive can be built separately from the RPMs. Don't
install the header files since they really aren't useful after
the software has been built. Add '/share/' to the doc path.
Sun Sep 5 22:33:53 PDT 2004 wart@kobold.org
* library/hillclimb.tcl: Make sure a known tip location is used if
specified.
* progs/slidesolve: Better command line processing.
* progs/keysquaresearch: Minor progress output formatting fix.
* cipher.spec.in: Templatized the rpm spec file so that the version
number is only set in the configure script.
* cipher.spec: Removed after templatization.
* Makefile.in: Use spec file from the build directory.
Mon Aug 30 17:01:55 PDT 2004 wart@kobold.org
* config/tcl.m4: Look for libraries in additional locations for
64-bit platforms.
* configure: Regnerated after change to tcl.m4.
* solvemysz.c: Fix compiler warnings on 64-bit platforms.
* Makefile.in: Don't bother rebuilding the source rpms when
building the platform-optimized packages.
Mon Aug 30 14:03:28 PDT 2004 wart@kobold.org
* cipher.spec: Remove hardcoded path to the tcl installation. Fedora
Core 2 now provides a usable tclConfig.sh in the tcl-devel package.
* Makefile.in: Set the LD_LIBRARY_PATH before generating the
documentation so that the cipher shell can find the correct tcl
shared library.
* aristocrat.c: Add '*' to the list of allowed characters.
* library/utils.tcl: Use new cipher loading routine.
* progs/fmorsekeysearch: Better command line processing. Remove
duplicate output lines.
* progs/keysquaresearch: Allow the step interval to be set on the
command line. Use a step interval of 0 to print all attempted
keys (very verbose!). Change write-in route of key, not the read-out
route.
* progs/trifidkeysearch: Remove duplicate command line option. Add
a few comments.
* route.c: Fix minor caching bug.
* progs/nicsolve: Added missing "package require Dictionary".
* nicodemus.c: Add '-keyword' option for getting the keyword.
* tests/nicodemus.test: Added test for -key and -keyword.
* library/utils.tcl: Fix typo when saving the keyword.
* library/crithm.tcl: Updated the save file format.
* library/dictionary.tcl: Removed unused code.
* library/hillclimb.tcl: Updated comments.
* library/hillclimbCiphers.tcl: Add sample code showing how to
restrict aristocrat keys to not allow a letter to stand for itself.
* progs/bazsol: Don't default the start value to '0'. Obey the
-dictionary command line option.
* progs/csolve: Better handling of default step interval so that
it can be overridden with all cipher types.
* progs/tkcrithm: Minor ui improvements.
Sat May 29 16:58:01 PDT 2004 wart@kobold.org
* dictionaryInit.c: Store the default dictionary in a global location
where it can be accessed by the cipher objects.
* dictionaryCmds.h:
* dictionaryCmds.c: Export the lookupByLength() function.
* bacon.c: Refactored the dictionary management to use the internal
dictionary management functions.
* tests/baconian.test: Use a private dictionary for the baconian
encoding tests.
Mon May 10 00:35:00 PDT 2004 zander@zanderland.org
* bacon.c: Encoding function now uses random 5 letter words.
* grandpre.c: Added encoding function.
* tests/baconian.test: Modified encoding tests.
* tests/grandpre.test: Added encoding tests.
Fri May 7 09:55:00 PDT 2004 zander@zanderland.org
* homophonic.c: Added encoding function.
* tests/homophonic.test: Added encoding tests.
* tests/pollux.test: Improved encoding tests.
Thu May 6 16:06:37 PDT 2004 wart@kobold.org
* progs/<many scripts>: Better detection of the dictionary directory.
Wed May 5 20:21:00 PDT 2004 zander@zanderland.org
* pollux.c: Added encoding function.
* ragbaby.c: Added encoding function.
* tests\pollux.test: Added encoding tests.
* tests\ragbaby.test: Added encoding tests.
Wed May 5 10:20:38 PDT 2004 wart@kobold.org
* configure.in:
* configure: Check for the existence of getenv() or its Windows
equivalent.
* dictionaryInit.c: Set the default dictionary location to the value
stored in the CIPHERTOOL_DICTIONARY environment variable. Fallback to
$HOME/share/dict if CIPHERTOOL_DICTIONARY is not defined. Fallback to
/usr/share/dict if HOME is not defined.
* progs/patsearch: Use a command line option to override the default
dictionary directory.
Tue May 4 21:49:00 PDT 2004 zander@zanderland.org
* fmorse.c: Small changes to comments.
* morbit.c: Added the encoding function.
* tests/fmorse.test: Added empty plaintext test and a return value test.
* tests/morbit.test: Added many encoding tests.
Tue May 4 16:42:00 PDT 2004 wart@kobold.org
* progs/<many scripts>: Tweak the behaviour when -h, -help, or -? are used
as command line options. We no longer print the Tcl stack trace, just
the usage string.
* library/utils.tcl: Fix readCiphertext so that it properly handles
files with no final line terminator.
* tests/utils.test: Added test for the abovementioned readCiphertext
behaviour.
Tue May 4 14:33:00 PDT 2004 zander@zanderland.org
* fmorse.c: Fixed a bug I accidently introduced earlier and
made EncodeFmorse set the internal key correctly.
* morse.c: Fixed the null termination bug more generally.
* morseCommand.c: Fixed a malloc/ckfree conflict.
* tests/fmorse.test: Added some encoding tests.
Sun May 2 19:30:19 PDT 2004 wart@kobold.org
* progs/csolve: Fix incorrect usage string.
* morse.c: Initialize the first character of the resulting morse
text to the NULL character so that a zero-length input string will
translate into a zero length morse code string.
* morseCommand.c: New logic for determining the direction of the morse
code translation/encoding. Use the new StringToMorse function for
the plaintext -> morse code translation.
* tests/morse.test: Added additional morse code translation tests.
* nicodemus.c:
* tests/nicodemus.test: Added encoding function.
* bazeries.c: Fixed an off-by-one error that was causing a seg fault.
* solver.c:
* solvemysz.c: Use the new save file format when printing the final
solution.
* library/utils.tcl: Remove extra period from some save file keys.
Thu Apr 29 15:18:00 PDT 2004 zander@zanderland.org
* morse.c:
* morse.h: Added text->morse conversion function.
* fmorse.c: Simplified the code.
Mon Apr 19 18:59:38 PDT 2004 wart@kobold.org
* cadenus.c:
* tests/cadenus.test:
* nitrans.c:
* tests/nitrans.test: Added encoding function.
* myszcowski.c: Better error checking all over the place. Added "shift"
subcommand for moving a column. Added encoding function.
* tests/myszcowski.test: Added test suite for the myszcowski cipher type.
* amsco.c:
* tests/amsco.test:
* columnar.c:
* tests/columnar.test: Added encoding function. Allow the period to be
set before the ciphertext.
* bacon.c:
* tests/bacon.test: Allow restoring from a single argument. Preliminary support for encoding.
* route.c:
* tests/route.test: Added encoding function. Modified key semantics so
that the read/write routes apply to the plaintext, not the ciphertext.
Sat Apr 17 08:32:08 PDT 2004 wart@kobold.org
* keygen.c:
* keygen.h: Move a useful shared definition to the header file.
* bazeries.c:
* tests/bazeries.test:
* digrafid.c:
* tests/digrafid.test:
* trifid.c:
* tests/trifid.test: Added encoding function.
Mon Apr 12 10:10:05 PDT 2004 wart@kobold.org
* gromark.c:
* gromark.test:
* phillips.c:
* phillips.test: Added encoding function.
* vvb.c:
* tests/vvb.test: Don't special case the porta encoding anymore since
it can be done using the same general methods as vigenere etc.
Sat Apr 10 18:45:21 PDT 2004 wart@kobold.org
* cipher.h: Added #defines that can be used to signal encoding or
decoding modes for a cipher function.
* playfair.c:
* tests/playfair.test:
* tests/bigplayfair.test: Added encoding function.
Fri Apr 9 18:31:05 PDT 2004 wart@kobold.org
* tests/aristocrat.test: Updated encoding test to test the behaviour
when there are spaces in the plaintext.
* aristocrat.c: Added additional error checking during encoding.
* twosquare.c:
* tests/twosquare.test:
* tests/foursquare.test:
* bigbifid.c:
* tests/bigbifid.test:
* bifid.c:
* tests/bifid.test: Added encoding function.
* vvb.c: Minor memory cleanup.
* tests/vvb.test: Additional encoding error tests.
Fri Apr 9 10:56:46 PDT 2004 wart@kobold.org
* tests/caesar.test:
* caesar.c: Minor updates to the caesar encode function.
Fri Apr 6 10:49:59 PDT 2004 wart@kobold.org
* cipher.h: Added hook for encoding functions.
* tests/vvb.test:
* vvb.c: Added encoding function.
* tests/aristocrat.test:
* aristocrat.c: Added encoding function.
* Makefile.in: Added "rpmopt" and "rpmall" targets for automating
the building of cpu-optimized rpm packages.
Sun Apr 4 18:58:41 PDT 2004 wart@kobold.org
* progs/keysquaresearch:
* progs/patsearch:
* progs/fmorsekeysearch:
* progs/nicsolve:
* progs/hillclimb:
* progs/bazsol:
* progs/trifidkeysearch:
* progs/nicodemussolve:
* progs/pathilltipsearch:
* progs/patwordbrute:
* progs/quag1topat:
* progs/ragbabysearch:
* progs/tkpatwordbrute:
* progs/csolve: Save solutions using the new cipher file format.
* progs/key2col: Use the new cipher reading/writing routines during
the type conversion.
* library/utils.tcl: Added procedure for writing a cipher to a file
using the new file format.
* library/ctool.tcl: Load saved ciphers using new cipher file format.
Save ciphers using new cipher file format.
Sun Apr 4 11:44:31 PDT 2004 wart@kobold.org
* utils.tcl:
* tests/utils.test: Add procedures for reading new save file format,
along with unit tests.
* myszcowski.c: Clean up restore command arguments.
* route.c:
* tests/route.test: Implemented the missing 'restore' command.
* homophonic.c:
* tests/homophonic.test:
* twosquare.c:
* tests/twosquare.test:
* pollux.c:
* tests/pollux.test:
* morbit.c:
* tests/morbit.test:
* ragbaby.c:
* tests/ragbaby.test: Allow spaces in the restoration key.
* grandpre.c:
* tests/grandpre.test:
* gromark.c:
* tests/gromark.test: Refactored save format.
Tue Mar 30 16:07:20 PST 2004 wart@kobold.org
* Released 1.6.0
* Makefile.in: Add "wininstall" target for generating the windows
installer.
* install_custompage_1.ini:
* install.nsi.in: New windows installation script.
Mon Mar 29 17:40:52 PST 2004 wart@kobold.org
* dictionaryInit.c:
* dictionaryCmds.c: Remove compile warning when building against Tcl 8.4.
* ngramScore.c:
* wordtreeScore.c:
* wordtree.c:
* wordtreeCmds.c:
* dictionaryCmds.c:
* cipherInit.c: Cleaned up wordtree creating/deletion code.
* doc/index.tml:
* doc/lethist.tml: Added documentation for the new lethist program.
* configure.in:
* configure:
* install.nsi.in: Use correct path separator for the installation prefix
on Windows.
* doc/gendocs.tcl: Added package require of the cipher extension
so that this script can be run in a vanilla Tcl shell.
* bifid.c:
* trigramScore.c:
* amsco.c: Fix compiler warnings.
Sun Mar 28 16:41:26 PST 2004 wart@kobold.org
* tests/score.test:
* tests/scoredata.test: More thorough test cleanup.
* ngramScore.c:
* wordtreeScore.c: Fix minor memory leak when creating/deleting score
items.
Sat Mar 27 18:14:36 PST 2004 wart@kobold.org
* cipher.spec:
* configure.in:
* configure: Bumped version to 1.6.0 in preparation for next release.
* Makefile.in:
* lethist.c: Added utility histogramming program.
* homophonic.c: Added "-keyword" option.
* data/sample_aristocrat.txt:
* data/sample_aristocrat_solution.txt:
* data/sample_bifid.txt:
* data/sample_bifid_solution.txt:
* data/sample_columnar.txt:
* data/sample_columnar_solution.txt: Sample ciphers so that new users
have a place to start playing with ctool.
Mon Mar 22 09:52:59 PST 2004 wart@kobold.org
* Makefile.in:
* library/4gramcountData.tcl:
* library/5gramlogData.tcl:
* library/5gramcountData.tcl: Removed some of the new scoring tables
to make a smaller installation package.
* progs/trifidkeysearch:
* progs/patsearch:
* progs/nicsolve: Better handling of the space-separated solution.
* progs/digrafidsolve:
* progs/pathilltipsearch:
* progs/bazsol:
* progs/ragbabysearch: Better command line processing.
* progs/hillclimb:
* progs/csolve: Don't print to that silly *.csol file anymore.
* tests/nicodemus.test: Fix syntax error.
* doc/cipher/package.tml:
* doc/cipher/twosquare.tml:
* doc/cipher/foursquare.tml:
* doc/cipher/bigplayfair.tml: Added new cipher type documentation.
* doc/cipher/bazeries.tml: Cleaned up documentation.
Wed Mar 17 18:13:09 PST 2004 wart@kobold.org
* progs/csolve:
* progs/nicsolve:
* progs/patsearch:
* progs/hillclimb:
* progs/keysquaresearch: Support the use of ngram scoring tables.
* Makefile.in:
* library/4gramlogData.tcl:
* library/4gramcountData.tcl:
* library/5gramlogData.tcl:
* library/5gramcountData.tcl: Added new 4,5-gram scoring data tables.
* ngramScore.c: Fix some unnecessary typecasting.
* wordtree.c: Set the return measure to the measure of the current
node *always*.
* tests/score.test: Added test for ngram value bug.
* tests/scoredata.test:
* library/scoredata.tcl: Load an appropriate ngram table based on the
element size of the input scoring table.
Wed Mar 17 16:17:23 PST 2004 wart@kobold.org
* languages.h:
* germanFrequencies.h: Removed unnecessary language file.
* digram.h: Removed unused digram scoring tables.
* Makefile.in: Remove dependencies on language files.
* cipher.h: Remove include of language headers.
* cipher.c:
* cipherUtil.c: Fix the cipher language to "english" until we determine
that we need to support multiple languages for each cipher instance.
* digram.c: Move statistics tables out of the header file.
* stat.c: Removed dependency on language headers. Removed deprecated code.
* tests/*.test: Removed the language tests. Languages are no longer
associated with the cipher instances, they are only used to select
the appropriate scoring table.
* tests/route.test: Added test for route write cache bug.
* route.c: Fixed route write caching bug.
* progs/keysquaresearch: Key routes should be written in using each
route, not read out.
* progs/hillclimb: Added -langauge option.
* progs/progkeysol: Fix bug where the progression index was always
reported as '1', even if it was using the correct value.
Tue Mar 16 23:40:44 PST 2004 wart@kobold.org
* config/tcl.m4:
* configure: Added additional paths for locating tcl libraries/headers
in their default locations in Debian Linux.
Tue Mar 16 16:41:40 PST 2004 wart@kobold.org
* config/tcl.m4: Remove the special windows build flag as the offending
file (tetragram.c) has been removed.
* configure: Regenerated due to change in source macro file.
* tests/grille.test:
* grille.c: Clarified error message when grille length is invalid.
* digram.c: Fixed bug when calling "get_digram_value()" when the
default score type was for trigrams.
* cipher.spec: Bumped release version for private testing release.
* progs/nicsolve: Better command line processing.
* tests/scoredata.test:
* library/scoredata.tcl: Added "language" argument to the loadData
procedure to enable loading scoring tables in alternate languages.
* doc/Scoredata/package.tml: Updated documentation for the new language
argument to loadData.
* progs/patsearch:
* progs/keysquaresearch:
* progs/csolve: Added -language option for foreign language ciphers.
* doc/nicsolve.tml:
* doc/patsearch.tml:
* doc/keysquaresearch.tml:
* doc/csolve.tml: Added description for new -language option.
* doc/cipher/package.tml: Added entries for foursquare and twosquare
ciphers.
* library/digramlogData_gaines.tcl:
* library/digramcountData_gaines.tcl:
* Makefile.in: Added new scoring tables based on the digram frequencies
in Helen Gaine's book "Cryptanalysis".
Mon Mar 15 15:55:47 PST 2004 wart@kobold.org
* library/hillclimb.tcl:
* progs/hillclimb: Added the ability to set the scoring method on the
command line.
* progs/csolve:
* progs/keysquaresearch:
* progs/patsearch: Minor usage string fixes.
* tests/stat.test:
* Makefile.in:
* nitrans.c:
* stat.c:
* trigram.c:
* trigram.h:
* tetragram.c:
* tetragram.h: Removed obsolete tri/tetra-gram files.
* doc/cipher/package.tml:
* doc/cipher/stat.tml: Removed referneces to nonexistent "stat *gram"
commands.
* doc/cipher/key.tml: Added the "generate: subcommand.
* doc/keysquaresearch.tml:
* doc/patsearch.tml:
* doc/csolve.tml: Updated documentation to reflect new usage instructions.
* doc/index.tml: Minor updates.
* doc/standardopts.tcl: Added note about unused "-language" option.
* digram.c: Removed obsolete scoring function.
Mon Mar 15 14:37:57 PST 2004 wart@kobold.org
* doc/Crithm/package.tml: Added documentation for the Crithm package
commands.
* doc/genscores.tml: Added documentation for the new genscores program.
* scoreInt.h:
* score.h:
* score.c: Added functions for performing scoring using the default
score method, even if the default method was changed in a Tcl script.
Moved default score data to a new header file.
* wordtreeScore.c:
* wordtreeCmd.c:
* wordtree.c:
* wordtree.h:
* tetragram.c:
* trigram.c:
* stat.c:
* ragbaby.c:
* playfair.c:
* phillips.c:
* ngramScore.c:
* morse.c:
* keygen.c:
* gromark.c:
* grandpre.c:
* fmorse.c:
* digramScore.c:
* digram.h:
* digrafid.c:
* dictionaryInit.c:
* dictionaryCmds.c:
* dictionary.c:
* cipherInit.c:
* cipher.h:
* caesar.c:
* bifid.c:
* bazeries.c: Clean up compiler warnings.
* vvb.c:
* swagman.c:
* route.c:
* railfence.c:
* pollux.c:
* nitrans.c:
* nicodemus.c:
* myszcowski.c:
* morbit.c:
* grille.c:
* digram.c:
* columnar.c:
* cadenus.c:
* bacon.c:
* aristocrat.c:
* amsco.c: Switch to use the new default score command instead of
the old digram/trigram functions. Clean up compiler warnings.
* Makefile.in: Added header files to list of sources. Added new
scoring data files to list of sources. Updated header dependencies.
* progs/slidesolve:
* progs/slidebrute:
* progs/runningkey:
* progs/runkey:
* progs/ragbabysearch:
* progs/progkeysol:
* progs/portaxsolve:
* progs/portaxbrute:
* progs/nicsolve:
* progs/nicodemussolve:
* progs/maxrunkey:
* progs/kshunt:
* progs/hillclimb:
* progs/grandpresol:
* progs/fmorsekeysearch:
* progs/bazsol:
* progs/autokeysol:
* progs/autokeybrute: Replace old plaintext scoring call "stat *gram"
with new scoring methods.
* progs/trifidkeysearch:
* progs/patsearch:
* progs/keysquaresearch:
* progs/csolve: Added the ability to set the scoring method on the
command line.
* trigramScore.c: Fix bad logic when detecting valid trigram characters.
* tests/score.test: Added test for scoring with illegal trigram
characters.
* library/digramlogData.tcl:
* library/trigramlogData.tcl: Regenerate tables without
double-normalization.
* library/scoredata.tcl: Fix path to score data files.
* library/patword.tcl:
* library/utils.tcl: Use the 'score' command to get the plaintext score
value instead of the 'stat' command.
* tests/nicodemus.test:
* tests/score.test:
* tests/stat.test: Updated with changes from the new scoring tables.
Thu Mar 11 13:41:59 PST 2004 wart@kobold.org
* Makefile.in: Use the new cipher shell to build the documentation
so that the version number isn't hard coded into the documentation
source files.
* cipher.h: Minor documentation fixes.
* caesar.c: Better deallocation of return value.
* progs/genboard: Minor code reformatting.
* progs/genscores: Removed the -nonormalize option.
* progs/patsearch: Use the default scoring table.
* library/hillclimbCiphers.tcl: Minor comment fix.
Wed Mar 10 22:48:10 PST 2004 wart@kobold.org
* doc/*: Lots and lots of reorganizing and updating of documentation.
Tue Mar 9 11:55:15 PST 2004 wart@kobold.org
* configure:
* configure.in: No longer patch ctool when running configure.
* Makefile.in: ctool is now installed just as any other program.
* progs/ctool.in: Renamed to ctool.
* progs/ctool: Renamed from ctool.in. It's no longer necessary to
patch this file when running configure.
* progs/genscores: Set the element size for ngrams.
* score.c: Don't dump ngrams with a value of 0.
Mon Mar 8 17:50:09 PST 2004 wart@kobold.org
* data/sample_cipher.txt:
* data/sample_cipher_solution.txt: Added sample ciphertext for future
tutorials.
Sun Mar 7 17:00:06 PST 2004 wart@kobold.org
* library/scoredata.tcl: Allow the use of "-" as an output file.
* progs/genscores: Added program for generating scoring tables from
text files.
* Makefile.in: Added genscores to list of installed programs.
* library/digramlogData.tcl:
* library/digramcountData.tcl:
* library/trigramlogData.tcl:
* library/trigramcountData.tcl: New scoring tables based on the standard
Frankenstein text.
Sun Mar 7 13:41:31 PST 2004 wart@kobold.org
* Makefile.in: Added script files for reading/writing scoring data.
* digramScore.c: Reuse the same score item for both digram logs and
digram counts. Added function for dumping the digram scores.
* trigramScore.c: Reuse the same score item for both trigram logs and
trigram counts. Added function for dumping the trigram scores.
* ngramScore.c: Reuse the same score item for both ngram logs and
ngram counts. Added function for dumping the ngram scores.
* wordtreeScore.c: Added function for dumping the ngram scores. Added
normalizer that takes the square of the word length, ignoring any
previous value set.
* score.h:
* score.c: Added a no-op score dump function. Added a utility function
for dumping a scoring table from a wordtree. Added the "dump" subcommand.
* wordtree.c: Fixed bug relating to the addition of duplicate words into
the word tree. Fixed bug when returning the value of an attempt to
match words to the start of a string.
* library/scoredata.tcl: Added "saveData" procedure for saving a scoring
table to a file.
* tests/score.test: Added tests for the "dump" subcommand.
* tests/scoredata.test: Added tests for the "saveData" procedure.
* tests/wordtree.test: Added test for duplicate words in the word tree.
Thu Mar 4 16:08:20 PST 2004 wart@kobold.org
* dictionaryCmds.c:
* stat.c:
* wordtreeScore.c:
* wordtreeCmd.c:
* wordtree.h:
* wordtree.c: Add support for a "measure" of each word in the wordtree.
This makes the wordtree more useful for frequency counts.
* Makefile.in:
* score.c:
* ngramScore.c: Added ngramlog and ngramcount scoring methods.
* score.test:
* scoredata.test: Tests for new ngram scoring method.
* digramScore.c:
* trigramScore.c:
* score.h: Added null normalizer.
* library/scoredata.tcl: Allow the user to customize the allowed set
of characters that can be used in the scoring tables.
Wed Mar 3 22:59:07 PST 2004 wart@kobold.org
* digramScore.c: Remove typecast since function call is actually a macro.
* score.c:
* tests/score.test: Added "isinternal" subcommand for testing if a
command is a C-based scoring method or not.
* pkgIndex.tcl.in:
* library/scoredata.tcl:
* tests/scoredata.test:
* library/trigramlogData.tcl: Added utility procedures for loading
frequency data from a text and data files.
Wed Mar 3 17:18:21 PST 2004 wart@kobold.org
* score.c:
* score.h:
* trigramScore.c:
* Makefile.in:
* tests/score.test: Added new trigramlog and trigramcount scoring methods.
Wed Mar 3 09:02:32 PST 2004 wart@kobold.org
* progs/massadd.tcl: Utility for creating word lists suitable for use
as a ciphertool dictionary from a single large word list.
Tue Mar 2 13:17:18 PST 2004 wart@kobold.org
* score.h:
* score.c: