For those of you who haven't read it -- and I'll be as spoiler-free as possible -- the book is a modern-day detective story firmly rooted in what is presented as a thorough research by the author into the early days of the Catholic church, the Knights Templar, a couple of secret societies, and the question of why modern religions seem to dislike women so much.
To his credit, Brown manages this intermingling of modern plot and historical/religious theory rather more seamlessly than Neal Stephenson achieved in Snowcrash. (Comparing the two books on any other level would be such an apples to oranges comparison that I refuse to even bother, except to say that Snowcrash is still cooler than you will ever be.)
As the story progresses, and the plot (and historical conspiracy theories) get stranger and stranger, maintaining your suspension of disbelief is necessarily based on your belief in the depth of his research. "The premises are true," says the author. "so just go with me on where I go with them." Science Fiction works similarly. The author courts the reader's belief by basing fantastic future technologies and societies on existing technologies and trends. This is why computers in 60's SF shows looked like computers did in the 60's: otherwise nobody would have recognised them.
On yet another tangent, The Da Vinci Code crystallises why I was never comfortable with the term "Speculative Fiction" to replace "Science Fiction". Code is most certainly speculative, but if shoehorned into the corpus of S.F, it would stick out like a sore thumb.
Anyway, my problem with Code came around page 273, when Brown veered into an area in which I have a more than passing interest. One of the main characters is a cryptoanalyst, and this is her internal monologue:
Da Vinci had been a cryptography pioneer. Sophie knew, although he was seldom given credit. Sophie's university instructors, while presenting computer encryption methods for securing data, praised modern cryptologists like Zimmerman and Schneier but failed to mention that it was Leonardo who had invented one of the first rudimentary forms of public key encryption centuries ago. Sophie's grandfather, of course, had been the one to tell her that.
(I'd also dispute the claim that the Da Vinci's cryptex is public key encryption, any more than a padlock or a safe is. The cryptex is essentially a combination-lock with a built in booby-trap. The message is physically secured, not obscured. With the right tools and some patience, you could get at the message without knowing the key.)
Anyway, Schneier and Zimmerman? While they're both well deserving of praise, their presence in that paragraph is just so terribly incongruous. Diffie and Hellman proved modern public key encryption was possible. Rivest, Shamir and Adleman produced the first workable implementation. Schneier is best known for writing a book describing how it works, and Zimmerman for producing a popular program that let people make use of it.
It's like skipping the Wright brothers, and focusing on the guys who designed the fuselage on the 747.
It would be easier to overlook this if the name-drop served any purpose other than as a shout-out to crypto nerds. It's not as if Bob Bookreader is going to think "Aha! The writers, respectively, of Applied Cryptography, and PGP!", A small part of one percentile of the book's audience would have the vaguest clue who the names belonged to, and those people would also understand why it's wrong. For everyone else, you may as well have skipped the names entirely. Surely that's worth the two minute Google search to find out who to credit?
Maybe I'm being unreasonable. I probably am. But speaking entirely for myself, this paragraph disturbed enough of my suspension of disbelief to make me uncomfortable for the rest of the book. If a single paragraph aside into crypto could jar me so much, how would I feel if I were an art or religious history nerd reading the novel? Would it be the literary equivalent of the way computers in movies always have big blinking text, a count-down to the end of the world, and "It's a UNIX system! I know this!"?
I'm trying to remember who I heard give advice that you should never consume fiction based in your area of expertise for anything other than its comic value.
Note: From my referrer logs, I just noticed this got linked from Crypto-Gram. I don't really dare go see under what circumstances I was linked, because I suspect it'll depress me. Regardless, I'd like to apologise to Bruce Schneier for the tone above. I have a great deal of respect for Schneier and the research he's done in crypto, something I don't think comes across at all in the course of this rant. I still think the name-dropping was incongruous, because it was talking about pioneers rather than practicioners, but maybe I could have been lighter on the bad analogies.