Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

Today’s Cryptogram

Posted on 03/09/2020 3:33:25 AM PDT by nikos1121

Today’s Cryptogram

T NOPK TOCHHC KBED HGTZ T TODHOC DP CP, FLD

VDAPORHA DBEO EZZ WJ EYDHADBPLRBDV TV WJ YLAJ,

YLAJ DBED FATORV LIPO WPADEZV DBH RAHEDHVD HGTZV.

- HLATITCHV

Yesterday’s Cryptogram

OFWWLRMKK LK ULVM F VLKK. CIT QTKS KOFPM LS SI MRYIC LS. —NMPRFPE QMUSXMP


TOPICS: Chit/Chat
KEYWORDS: todayscryptogram
Navigation: use the links below to view more comments.
first previous 1-2021-35 last
To: nikos1121

HLATITCHV, you menda deese.


21 posted on 03/09/2020 6:21:56 AM PDT by Lonesome in Massachussets (Every election, more or less, is an advance auction of stolen goods. - H. L. Mencken)
[ Post Reply | Private Reply | To 1 | View Replies]

To: nikos1121

3. Hal’s Helper


22 posted on 03/09/2020 6:34:00 AM PDT by Ozymandias Ghost
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121
Usually Hal's Helper but sometimes, when I'm feeling ambitious, I do them in my head.

I did today's in my head and it took 5+ minutes - pretty sure it would have been a quickie if I used Hal's.

23 posted on 03/09/2020 7:37:13 AM PDT by UpstateNYer
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121

Hal’s Helper.


24 posted on 03/09/2020 7:58:46 AM PDT by John4.11 (Matthew 5:43-45 love your enemies, bless those who curse you)
[ Post Reply | Private Reply | To 2 | View Replies]

To: Lonesome in Massachussets

Oh boy, there’s always one... lol


25 posted on 03/09/2020 8:10:41 AM PDT by nikos1121
[ Post Reply | Private Reply | To 17 | View Replies]

To: nikos1121

Pencil and paper.


26 posted on 03/09/2020 8:19:13 AM PDT by Parley Baer
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121

Did pen and paper for a lot of years. Doing Hal’s, now. Some I’ll try in my head.


27 posted on 03/09/2020 9:13:57 AM PDT by gundog ( Hail to the Chief, bitches!)
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121

2&3


28 posted on 03/09/2020 9:49:08 AM PDT by goodnesswins (Trump is as good a dictator as he is a racist.....)
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121

I always use Hal’s. Thanks for providing the link!


29 posted on 03/09/2020 12:09:29 PM PDT by Grammy (Save the earth... it's the only planet with chocolate.)
[ Post Reply | Private Reply | To 2 | View Replies]

To: Lonesome in Massachussets

Can you share that with the group? I’m like not real smart so you’ll have do it step by step?


30 posted on 03/09/2020 12:31:28 PM PDT by nikos1121
[ Post Reply | Private Reply | To 17 | View Replies]

To: nikos1121

3.


31 posted on 03/09/2020 12:39:32 PM PDT by Ingtar (Biden needs 39.86%, Sanders 42.02% of unallocated delegates. 56 still from Super T)
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121

Probably about 4-5 minutes today.

To answer your question: 3 & 4. It just depends on how mentally tired I am in the evening.


32 posted on 03/09/2020 4:46:40 PM PDT by Mr Fuji
[ Post Reply | Private Reply | To 2 | View Replies]

To: nikos1121

Hal’s, this one took a long time for some reason. Trying them before morning coffee is usually a waste of time.


33 posted on 03/09/2020 7:29:16 PM PDT by doorgunner69 (Peace is that brief glorious moment in history when everybody stands around reloading - T Jefferson)
[ Post Reply | Private Reply | To 2 | View Replies]

To: Lonesome in Massachussets

Here’s my vowel sniffer. I will post my formatter/histogram later. If you want my excel workbook give me contact information on freepmail, and I’ll send a copy.

If you uncomment the first line, and comment the line that hard wires the value of “string” it’s a function. As is, you have to edit it each time you run it to change the value of “string”. This example is from the last time I used it. In matlab and octave the apostrophe is a string delimiter, so you have to enter double apostrophes (’’) to represent a single apostrophe. In octave quote marks, “, can also be a string delimiter.

When you run it the results should be:

>> vowelsniffer

vowelChar =

D
F
G
K
L
M
U
Z

D 23
F 19
G 11
K 11
L 10
M 9
U 9
Z 8

Notice that D = A, F = D, G = T, K = E, L = M, M = G, U = O, Z = I, so that for small samples it does not work very well. Try it with a longer quote - it shouldn’t matter whether or not it’s encrypted, it simply performs statistical tests.

When I paste in the first three paragraphs of the Battle of Bennington from Wikipedia,unencrypted, this is the score:

A 325
E 268
G 251
I 209
K 198
O 187
U 183
Y 118

Not perfect, but better. These are the letters that “smell” like vowels when subjected to statistical tests.


%function [possibleVowels] = vowelsniffer(string)
%
% implements the algorithm in chapter 2 in
% Secret History: The Story of Cryptology (Discrete Mathematics
% and Its Applications) 1st Edition
% by Craig P. Bauer

% paste in the string you are analyzing here
string =’QKH BUIP QUH OKDFV GTK HUIOF’’V MIKDG EZGZKV ZQ GTK QSLYKI UW AKUAOK DIUSQF HTUL BUS VTUSOFQ’’G LDPK D VSFFKQ LURK. - FDRZF OKGGKILDQ’;

string = upper(string);
% pad the string with blanks. We look one character ahead and one back
string = [’ ‘,string,’ ‘];
contacts = zeros(26,26);

for rowValue = ‘A’:’Z’;
for columnValue = ‘A’:’Z’;
if columnValue == rowValue; continue;end
rowIndex = find(string == rowValue);
if isempty(rowIndex);continue;end
columnIndex = find(string(rowIndex+1)==columnValue);
if ~isempty(columnIndex)
contacts(abs(rowValue)-64, abs(columnValue)-64) = ...
contacts(abs(rowValue)-64, abs(columnValue)-64) + length(columnIndex);
end
columnIndex = find(string(rowIndex-1)==columnValue);
if ~isempty(columnIndex)
contacts(abs(rowValue)-64, abs(columnValue)-64) =...
contacts(abs(rowValue)-64, abs(columnValue)-64) + length(columnIndex);
end
end % for rowValue = ‘A’:’Z’;
end % for columnValue = ‘A’:’Z’;

workingMatrix = contacts;

rowSums = sum(workingMatrix,2);
isVowel = false(size(rowSums));

while(1);

rowSums = sum(workingMatrix,2);
[maxSum, ix] = max(rowSums);
if maxSum <= 0 ; break;end
ix = find(rowSums == maxSum); % allow for multiple values
isVowel(ix) = true;
%
workingMatrix(ix,:) = -1e6; % get these rows out of the way;
%
% subtract from every row not identified as a vowel twice the
% number of times it contacts the “vowel(s)” identified on this iteration,
% Which is the same as reversing the column value of the vowel contacts
workingMatrix(:,ix) = -workingMatrix(:,ix);

end

% print candidate “vowels” and their raw scores.
% raw scores are the number of times a letter contacts a different letter
% candidate vowels are letters that are not eliminated by subtracting from their
% score twice the number of times they contact a previously identified vowel.
rowSums = sum(contacts,2);
[~ , ix] = sort(rowSums, ‘descend’);
vowelChar = char(find(isVowel)+64)

for k = 1:sum(isVowel)
fprintf(’%c\t%d\n’, vowelChar(k), rowSums(ix(k)))
end

%endfunction


34 posted on 03/10/2020 2:39:47 AM PDT by Lonesome in Massachussets (Every election, more or less, is an advance auction of stolen goods. - H. L. Mencken)
[ Post Reply | Private Reply | To 17 | View Replies]

To: nikos1121
See also my 34

below is a little matlab/octave script for making histograms of a letters in cryptogram, and printing the cryptogram as tab delimited characters (easy to paste into Excel), along with a histogram.

It's an acquired taste.

-

CYPHER = 'T NOPK TOCHHC KBED HGTZ T TODHOC DP CP, FLD VDAPORHA DBEO EZZ WJ EYDHADBPLRBDV TV WJ YLAJ, YLAJ DBED FATORV LIPO WPADEZV DBH RAHEDHVD HGTZV. - HLATITCHV ';


fid = fopen('decoderRing.txt', 'w');

A = abs(upper(CYPHER));

B = unique(A);

N = hist( A, B); %
N = N(B>64 & B<91);
B = B(B>64 & B<91);
unusedLetters = setdiff( 'A':'Z', char(B));
N = [N, zeros(size(unusedLetters))];
B = [B, abs(unusedLetters)];

[N, ix] = sort(N, 'descend');
B = B(ix);


for k = 1:length(N)

if B(k)<65; continue;end
if B(k)>90; continue;end

fprintf( '%d\t%c\n', N(k), char(B(k)));
fprintf(fid, '%d\t%c\n', N(k), char(B(k)));
end

fprintf( '\n\n')
fprintf(fid, '\n\n');

lineNo = 1;
for k = 1:length(CYPHER)

% char(39) = ' the apostrophe
if k> 30*lineNo && ~ismember(CYPHER(k), ['A':'Z', char(39), '.', ':',';'])
fprintf(fid, '\n\n\n');
fprintf( '\n\n\n');
lineNo = lineNo+1;
else

fprintf('%c\t',CYPHER(k))
fprintf(fid, '%c\t',CYPHER(k));
end
end

fclose (fid);
fprintf('\n\n')

35 posted on 03/10/2020 5:02:29 AM PDT by Lonesome in Massachussets (Every election, more or less, is an advance auction of stolen goods. - H. L. Mencken)
[ Post Reply | Private Reply | To 30 | View Replies]


Navigation: use the links below to view more comments.
first previous 1-2021-35 last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson