Smithy code

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article refers to a cipher used in 2006 by Mr Justice Peter Smith and inserted into his judgment in the litigation concerning alleged plagiarism by Dan Brown. For the prisoner code invented by Capt. Smitty Harris in 1965, see Tap Code.

The Smithy code is a series of letters embedded, as a private amusement,[1] within the April 2006 approved judgement of Mr Justice Peter Smith on the The Da Vinci Code copyright case. It was first broken by Dan Tench, a lawyer who writes on media issues for The Guardian, after he received a series of email clues about it from Justice Smith.[2]

How the code works[edit]

The letters in question are part of the actual text of the judgement, but italicised in contrast to the rest of the text. The following sequence of unusually italicised letters can be extracted from the judgement document:

s m i t h y c o d e J a e i e x t o s t g p s a c g r e a m q w f k a d p m q z v

The italicised letters only occur up to paragraph 43 (which is page 13 of a 71-page document). Meanwhile, paragraph 52 concludes with this sentence: "The key to solving the conundrum posed by this judgment is in reading HBHG and DVC." (These abbreviations are used by Smith throughout the judgement in referring to the books at issue, The Holy Blood and the Holy Grail and The Da Vinci Code.)

There are 70 sections in the judgement. The source words from the judgement for the letters (with intervening words removed):

Claimants claimant is that his reality cynicism for preceeded templar

Jersey able research this techniques extinguished technical story was the something groups used was documents being eradicated elsewhere Templars Claimants sequence with of key Plantard introduced manuscripts ultimately questions emblazoned prevalent

Letter frequencies[edit]

Excluding leading letters "s m i t h y c o d e", the letter frequencies are as follows:

  • a - 4
  • e - 3
  • g, m, p, q, s, t - 2
  • c, d, f, i, j, k, o, r, v, w, x, z - 1

Letter location[edit]

Paragraph numbers for cipher letters:[3]

  • 1 Claimant(s)
  • 2 clai(m)ant
  • 3 (i)s (t)hat ... (h)is ... realit(y)
  • 4 (c)ynicism
  • 5 f(o)r
  • 6 prece(d)ed
  • 7 T(e)mplar
  • 8 New (J)ersey ... (a)ble
  • 9 res(e)arch
  • 11 th(i)s ... techniqu(e)s
  • 13 e(x)tinguished
  • 14 (t)echnical
  • 16 st(o)ry ... wa(s)
  • 18 (t)he
  • 19 somethin(g)
  • 20 grou(p)s
  • 21 u(s)ed
  • 23 w(a)s
  • 25 do(c)uments ... bein(g) ... e(r)adicated
  • 26 elsewh(e)re
  • 27 Templ(a)rs
  • 29 Clai(m)ants ... se(q)uence
  • 30 (w)ith
  • 31 o(f)
  • 34 (k)ey
  • 35 Plant(a)rd
  • 37 intro(d)uced
  • 38 manuscri(p)ts
  • 40 ulti(m)ately
  • 42 (q)uestions
  • 43 embla(z)oned ... pre(v)alent

Hints[edit]

From article "'Da Vinci' judgement code puzzles lawyers":[4]

The New York Times reported that Smith sent an e-mail to a reporter at the newspaper that offered a hint. It said the code referred to his entry in this year's edition of Britain's "Who's Who," which has references to his wife Diane, his three children Frazier, Parker, and Bailey, British naval officer Jackie Fisher, and the Titanic Historical Society - among other things.

Solution[edit]

The cipher was a type of polyalphabetic cipher known as a Variant Beaufort, using a keyword based on the Fibonacci sequence, namely AAYCEHMU. This is the reverse of the Vigenère cipher, which here enables decryption rather than encryption.

Jackie Fisher, First Sea Lord 1904-1910, 1914-1915

Assigning each letter its place in the alphabet, the keyword corresponds to 1,1,25,3,5,8,13,21, It is possible that the reason 25 (Y) was included is to denote a backward step of 2 rather than a forward step. It is a twist drawn from The Holy Blood and the Holy Grail, and concerns the number 2 in the Fibonacci series, which becomes a requirement to count two letters back in the regular alphabet rather than a signal to use an alphabet that begins with B. For instance, the first E in the coded message, which corresponds to a 2 in the Fibonacci series, becomes a C in the answer.

The 10th ciphertext letter, T, should really be an H, and there should also be a Z at the end of the ciphertext.

The repetition of the digraph 'MQ', after 8 letters, suggested a key that was 8 letters long, which is in fact the case. (This type of attack on a cipher is known as a Kasiski test).

The full plaintext should read:

JACKIEFISHERWHOAREYOUDREADNOUGHT, ("Jackie Fisher who are you? Dreadnought")

although correct application of the cipher in reverse, to decrypt, actually yields:

JACKIEFISTERWHOAREYOUDREADNOUGH

The algorithm for generating the plaintext from the ciphertext is: repeating the eight-letter key, add the relevant key letter to each plaintext letter, and then take a step one letter back.

(Alternatively, as is done in a professional context, the letters of the alphabet may be numbered from 0, in which case the final step back does not have to be made).

Jackie Fisher was a British admiral. "He was a driving force behind the development of the fast, all big-gun battleship, and chairman of the Committee on Designs which produced the outline design for the first modern battleship, HMS Dreadnought."[citation needed]

Code[edit]

Python[edit]

This Python implementation of the decryption algorithm produces the output "jackiefisterwhoareyoudreadnough".

ciphertext = 'jaeiextostgpsacgreamqwfkadpmqzv'
password = [1, 1, 25, 3, 5, 8, 13, 21]
 
def decrypt(n, c):
    c = ord(c) - ord('a')
    p = (c + password[n % len(password)] -1) % 26
    return chr(ord('a') + p)
 
print( "".join( decrypt(n, c) for n, c in enumerate(ciphertext) ) )
Perl[edit]

An equivalent Perl 5 implementation:

use strict;
use warnings;
my @password = (1, 1, 25, 3, 5, 8, 13, 21);
 
sub decrypt_char {
    my ($n, $c) = @_;
    $c = ord($c) -  ord('a');
    my $p = ($c + $password[$n % scalar(@password)] -1) % 26;
    return chr(ord('a') + $p);
}
 
sub decrypt_string {
    my $s = shift;
    my $n = 0;
    return join('', map { decrypt_char($n++, $_) } split('', $s));
}

The command print decrypt_string('jaeiextostgpsacgreamqwfkadpmqzv') produces output 'jackiefisterwhoareyoudreadnough'.

References[edit]

  1. ^ "Judge creates own Da Vinci code". BBC News. 2006-04-27. Retrieved 2006-04-28. 
  2. ^ Dan Tench (2006-04-28). "How judge's secret Da Vinci code was cracked". The Guardian. Retrieved 2006-04-28. 
  3. ^ "Judge Creates Own Da Vinci Code". Slashdot. 2006-04-27. Retrieved 2006-04-27. 
  4. ^ Derek Kravitz (2006-04-27). "'Da Vinci' judgement code puzzles lawyers". Seattle Post-Intelligencer. Retrieved 2006-04-28. [dead link]

External links[edit]