HomeBlogAbout UsWorkContentContact Us


Our company uses a product called YubiKey to provide two-factor authentication. Two factor authentication provides an additional level of security depth over just passwords. This is good.

Vanilla authentication services typically require just a password. A password can be typed in anywhere. If your password is stolen, or hacked, bad actors can access your account from practically any location that has access to the internet.

Dual factor authentication provides much more security. It’s something you know and something you have. Both puzzle pieces are needed to gain access to the account, and if either one is compromised, a thief is still not able to gain access to your account.

I talked about this very concept at the end of my recent TEDX talk (Shameless plug).


My laptop now has a physical device plugged into a side USB port. It’s very small, and only slightly protrudes from the side when plugged in. The version I have is called the YubiKey Nano.

When plugged in, it behaves like an external keyboard. If I touch it with my finger, after a short delay, it outputs a string of pseudo-random looking characters, something like this:


If I were to touch it again, a different string of characters might be generated:


To login, I need to type in both my password and touch the device to generate a key.

Generated keys can only be used once.

If my password is stolen, hacked, or compromised, it does not help a thief. If they don’t have my laptop, which has my YubiKey device installed, even with the password, then cannot gain access to my account.

Similarly, if my laptop is stolen, without my password, it’s useless as a device to login with.

If either these theft scenarios occurs, I can contact my IT department to invalidate the other half and start fresh without worry.

Not only has dual factor authentication greatly compounded security, it’s massively reduced the attack surface: No longer is any cybercafé a potential access point to my account. Now, only my laptop will let me in.


There’s only one downside to the technology and that is, because the key is located on the side of the laptop, and emulates a keyboard, it’s possible to sometimes make a mistake and inadvertently touch the key in the middle of typvgbeentndihcfnrctdbtdjntjjgcuukning something else (see what I did there?) and have garbage come out.

Internally, at our office, people share funny memes and stories about these things happening at inappropriate opportunities.

Pseudo-Random Garbage

Of course, the string output from the device is not random garbage. It’s generated by a clever algorithm that combines a unique ID baked into the device, some checksums all salted by a pseudo random number (some component of which is based on time) to generate a one-time password. You can read more about the device on the manufacturer’s web site. The elements that make up each generated key are:

  1. The Private identity of the YubiKey
  2. Counter fields tracking how often the YubiKey has been used
  3. A Timer field tracking the time between generating each OTP
  4. A Random number to add additional security to the encryption
  5. A closing CRC16 checksum of all the fields


Whilst each generated password is 128 bits in length, these bits need to be converted into a format that it is easy for my computer to digest. Because the device emulates a keyboard, it needs to send the 128 bits in mechanism that emulates keys pressed on a keyboard. Simply sending the raw binary will not work. Some bit patterns could represent non-printable characters, or even be control characters.

The solution is to encode the binary string into a string of safe printable characters. YubiKey does this by converting the key into a 32 character long text string. It’s not efficient packing, but since the keys are short in length, this is not a concern.

It’s also a very clever solution. Since the device emulates a keyboard, no special drivers are needed.


128 bits spread over 32 text characters is four bits per character (16 different possible symbol choices for each character).

Interestingly, however, the obvious encoding scheme that could be used for this (standard Hex, for instance) is not what is used. Instead a modified hex encoding is used (which they call ModHex).

Why? Well it comes down to the fact that keyboards send their messages to the computer, not as the character pressed, but by means of something called a scan code.

Translation of the scan code to character representation is performed internal to the computer and the keyboard emulator needs to generate the correct letter irrespective of the locale of the device. For instance, English speaking countries have keyboards described as QWERTY (the ordering of letters on the top left of the alphabetic part of the keyboard). French keyboards are AZERTY and German QWERTZ. The encoding scheme selected uses internationally safe letters (lowercase) for the encoding; ones that do not change from keyboard to keyboard.

The following conversion table shows how the device encodes the 4 bits into safe characters:


Geek Stuff

As I was pushing my YubiKey, I was wondering what English words it might be possible to, theoretically, see in my pass string?

What is the longest word that is possible? You might remember I wrote a similar article a few months ago about Hex Words (You, me, and DEAD people).

Below are the results I got from querying an English language database. The longest word is 16 characters long. I've listed the words down to eight characters in length:

16 letter words


15 letter words

flibbertigibbet interinfluenced

14 letter words

butterfingered chincherinchee interinfluence recentrifuging unenlightening unintelligible

13 letter words

birefringence detectivelike intelligencer interbreeding interknitting jitterbugging nightclubbing recentrifuged reengineering rubbernecking unbelligerent underbudgeted unelectrified unenlightened unintelligent

12 letter words

becudgelling bedrivelling belligerence birefringent bullfighting centrifuging citriculture differencing enlightening freethinking genuflecting highlighting indefectible indifference intellective intelligence intelligible interbedding interculture intercurrent intercutting interdicting interdictive interference interfertile intergeneric interjecting interknitted interlending interlinking intertilling jitterbugged kinnikinnick linebreeding nightclubbed nightclubber recentrifuge redelivering reengineered reidentified retightening rubbernecked rubbernecker turtlenecked uncluttering underbidding underbudding undercurrent undercutting underfeeding underfunding undergirding underletting underrunning unfriendlier ungentrified unidentified uninfluenced unkennelling unreflective

11 letter words

becudgeling becudgelled bedevilling bedrenching bedriveling bedrivelled befingering befriending beknighting belligerent beneficence benefitting brightening bulletining bullfighter bullterrier butterflied centrifuged cheerfuller decentering decertified denitrified denitrifier devitrified differenced ditchdigger electrified enfettering engendering engineering enlightened entrenching filigreeing firefighter flichtering freethinker frenchified frightening fruitfuller genuflected gibberellin gillnetting gunfighting heightening helilifting highlighted highlighter hitchhiking incertitude indenturing indifferent ineffective inefficient influencing intelligent interbedded interceding interchurch interdicted interethnic interfering interfiling interjected interleukin interlining interlinked internecine intertilled intervening intrenching irreducible irreverence kitchenette lengthening lightninged neckerchief rebeginning recertified redefecting redelivered redirecting referencing refiltering reincurring reindicting reinducting reinfecting reinjecting reinterring reinventing rejiggering relettering retightened retrenching retributive reverencing telekinetic thunderbird unbelieving unbreeching unburdening uncertified unchildlike unchurching unclenching unclinching uncluttered undeceiving undelivered underbidder underbudded underfunded undergirded underlining undignified uneccentric unfettering unflinching unfulfilled uninflected uninhibited uninventive unkenneling unkennelled unlevelling unrelenting untethering viniculture viticulture

10 letter words

becudgeled bedeviling bedevilled bedighting bedrenched bedriveled bedrugging befingered beflecking befretting befriended befringing befuddling begirdling begrudging beknighted belittling beneficent beneficing benefiting benefitted bethinking biliverdin birthright blethering blinkering blithering blubbering blundering brevetting brickfield brightened brightener bucklering bulletined bullnecked burthening butchering centerline centiliter centrifuge checkering cherublike chickening childbirth chittering chuntering churchlier cincturing circuiting citrulline clinkering cluttering crenelling cricketing cudgelling curlicuing curvetting debriefing decentered decentring deductible definitive definitude deflecting deflective delightful delighting delivering dentifrice deterrence dielectric difference diffidence directrice divergence divulgence drivelling ebullience effulgence eighteenth encircling enfeebling enfettered enfevering engendered engineered engirdling englutting enkindling enlivening entrenched etherified everduring evidencing ferrelling fettuccine fettuccini fingerlike fingerling finnickier flichtered flickering flittering fluttering freighting friendlier frightened frittering fructified fulfilling funnelling furthering gentrified gentrifier gibbetting gillnetted gillnetter girlfriend glittering greenbrier greenfinch gunfighter gunrunning heightened helilifted hellbender highbinder hitchhiked hitchhiker identified identifier inbreeding includible incredible incurrence indecenter indefinite indentured indulgence ineligible ineludible inferrible infighting infinitive infinitude inflecting inflective inflicting inflictive influenced infringing ingredient inheriting inhibiting inhibitive injunctive interbreed interceded interceder interfered interferer interfiber interfiled interfluve interlined interliner intervened intervener intituling intrenched intriguing inveighing inveigling invertible invincible irreverent julienning junglelike kennelling kerchiefed kernelling lengthened lengthener lightening lightering lighttight littleneck needlelike neglectful neglecting negligence negligible nickelling nineteenth reblending rebreeding rebuilding rechecking recircling recruiting recurrence redeciding redefected redefining redirected redividing redrilling reejecting reelecting reeligible reengineer reentering reerecting refereeing referenced refighting refiguring refiltered reflecting reflective refuelling refulgence regreening regreeting regretting regrinding reigniting reinciting reincurred reindicted reinducing reinducted reinfected reinjected reinjuring reinterred reinvented reinviting rejiggered rejuggling rekindling reknitting relettered relighting rethinking retrenched retrieving reuttering revengeful reverenced reverencer reverified revertible revivified ridiculing rigidified rubberlike rubberneck teethridge tenderfeet tendrilled tenebrific thereunder thickening thirteenth thundering tightening tincturing triggering trinketing truculence tuberculin tunnellike tunnelling turbulence turnbuckle turnverein turtleneck unbeliever unblenched unblinking unbreeched unbridling unbuckling unbudgeted unbuffered unbuilding unbundling unburdened unbuttered unchurched unclenched unclinched uncredited uncultured undeceived undefended underlined undertrick undetected undeterred undirected unenriched uneventful unfettered unfiltered unfriended unfruitful ungrudging unhindered unhitching unindicted uninfected unintended uninviting unkenneled unkindlier unknitting unlettered unleveling unlevelled unlikelier unrelieved unriddling untethered unthinking untruthful unverified velvetlike ventriculi vicegerent vignetting vindictive

9 letter words

bedecking bedeviled bedighted bedirtied bedridden bedrugged beduncing beelining befitting beflecked befretted befringed befuddled begetting beginning begirding begirdled begirting begrudged beguiling begulfing believing belittled belittler belvedere beneficed benefited benefiter benighted berberine bettering bevelling bickering bigeneric bijective bilirubin billeting birdieing bittering blenching blethered blighting blinkered blithered blubbered blundered blunderer breeching breveting brevetted brittling brunching brutified bucketful bucketing bucklered buckteeth budgeteer budgeting buffering buffeting bulleting bullfight bullfinch bunkering burdening burthened butchered butterier buttering butternut ceilinged cellulite centering certified certifier certitude checkered checkrein chevelure chickened childlier childlike chinchier chittered chuckling chuntered churchier churching cinctured cindering circuited clenching clerklier clientele clinching clinkered clutching cluttered crediting creneling crenelled cricketed cricketer crinklier crinkling crucified crunchier crunching crutching cudgeling cudgelled cuittling cullender culturing cunninger curetting curlicued curveting curvetted debenture debriding debriefed debugging debunking deceitful deceiving decentred decerning deciliter declining decreeing decretive decurrent decurving deducible deducting deductive defecting defective defending deference deferring deficient deflected defunding dejecting delighted delighter delivered deliverer dendritic derringer detecting detective detergent deterging deterrent deterring deticking detruding deveining devilling dicentric dickering different differing difficile difficult diffident digenetic dignified diligence directing directive dirgelike dirigible dithering divergent diverging diverting divulging drenching dribbling driveline driveling drivelled dulcified ebullient eccentric effecting effective efficient effluence effulgent effulging eightieth eliciting encircled energetic enfeebled enfevered engilding engirding engirdled englutted engulfing enkindled enlighten enlivened enriching entitling evergreen evidenced evincible febrifuge feculence felicific fenugreek ferreling ferrelled ferreting ferruling fettering fettucine fettucini fiberfill fibrefill fidgeting fifteenth filigreed filleting filtering fingering finickier finicking firebrick firefight firelight flechette fledgling fleeching flenching fletching flickered flightier flighting flinching flintlike flitching flittered flutelike fluttered flutterer frecklier freckling freighted freighter frenching fribbling friending frightful frighting frittered fritterer fruiterer fulfilled fulfiller fulgurite fullerene fullering fungicide funneling funnelled furniture furthered furtherer gelignite gendering genteeler genuflect gerundive gettering gibbering gibbeting gibbetted gingering glittered glunching greenbelt greenling griddling gruelling gruntling grutching guideline gunrunner gutbucket guttering herbicide hereunder hiddenite highflier highlight hindering hitchhike hundredth hungering hunkering ignitible illegible incentive incidence inclining including incurrent incurring incurving indelible indenting indenture indicting indigence inducible inducting inductive indulgent indulging infecting infective inference inferring infertile infielder infighter inflected inflicted inflicter influence infringed infringer ingulfing inherence inherited inhibited injecting injective inletting innerving intellect intending interbred intercede intercell interclub interdict interfere interfile interject interknit interlend interlent interline interlink interlude interning interring intertill interunit intervene intitling intituled intrigued intriguer intruding intuiting intuitive invective inveighed inveigher inveigled inveigler inventing inventive inverting jellified jiggering jitterbug jitterier jittering juddering julienned junketeer junketing kenneling kennelled kentledge kerfuffle kerneling kernelled kilderkin kittening knifelike knighting knucklier knuckling kvetchier kvetching lechering lecturing leechlike lengthier lenticule lettering levelling libelling libertine licencing lichening lightbulb lightened lightener lightered lightning lignified lingering lithified litterbug littering luciferin nebenkern neglected neglecter negligent negritude neutering nickeling nickelled nickering niffering nightclub nightlife nigrified ninetieth nitriding nitrified nitrifier nullified nullifier nurturing nutritive rebelling rebidding rebilling rebinding reblended rebuffing rebuilded rebutting receiving rechecked recherche recircled reclining recruited recruiter rectified rectifier rectitude recurrent recurring recurving recutting reddening redecided redefined redeliver redivided redlining rednecked redrilled redriving redubbing reducible reductive reedified reediting reejected reelected reentered reerected refecting refeeding refeeling refelling refencing reference referring refigured refilling refinding refitting reflected refluence refueling refuelled refulgent refunding regilding regreened regreeted regretful regretted regretter reheeling rehinging reignited reincited reinduced reinjured reinvited rejecting rejective rejudging rejuggled rekindled reknitted relending relenting reletting relieving relighted relinking relucting rendering renigging rerigging rerunning retelling retentive rethinker reticence retighten retinting retitling retrieved retriever returning reunified reuniting reuttered revelling revenging reverbing reverence reverting revetting richening ricketier ridgeline ridgeling ridiculed ridiculer riflebird rivetting rubbering rubellite teetering telegenic telfering telluride tendering tendriled tentering terebinth terrified tethering thickened thickener thicketed thirtieth thriftier thrilling thundered thunderer ticketing tiffining tigerlike tightened tightener tillering tinctured tinkering tittering trebuchet trebucket treddling trenching tricklier trickling triclinic triggered trindling trinketed trinketer truckline truckling truculent trundling tubificid tuckering tunneling tunnelled turbidite turbulent unbelting unbending unbinding unblended unblinded unbridged unbridled unbriefed unbuckled unbudging unbundled unchecked uncliched unclutter uncuffing uncurbing uncurling uncurrent undeceive undecided undefiled undefined undeluded underbred underfeed underfund undergird undergirt underline underling undiluted undivided undrilled undutiful unelected unfeeling unfeigned unfencing unfertile unfitting unfledged unfreeing unfurling ungenteel ungirding unheeding unhinging unhitched unhurried uninjured uninvited unkinking unknitted unleveled unlinking unluckier unnerving unreeling unreeving unrefined unriddled unrigging unruffled untenured untucking unveiling velveteen veneering ventricle venturing verbicide verbified vetchling vicereine videlicet vignetted vignetter virulence vitelline vitrified vulturine

8 letter words

becudgel bedecked bedrench bedrivel bedunced beechier beechnut beelined beetling befinger befitted befriend befringe befuddle begetter beginner begirded begirdle begrudge beguiled beguiler begulfed beknight belching belfried believed believer belittle bellbird beltline benching benedick benedict benefice berberin beriberi beringed bernicle berthing betelnut betiding bettered beuncled beveling bevelled beveller bickered bickerer bielding bighting bikinied billeted billeter bingeing birching birdlike birthing bitchier bittered bitterer bleeding blenched blencher blending blighted blighter blinding blinking blubbing bluebell bluebill bluebird bluegill blueline bluetick bluffing blunging blunting blurbing blurrier blurring blurting breeched breeding brethren breveted brickier bricking bridging bridling briefing brighten brighter brindled bringing brittled brittler bruiting brunched brunette bubblier bubbling bucketed buckling budgeted budgeter buffered buffeted buffeter buggered building bulleted bulletin bullneck bullring bunchier bunching bundling bungling bunkered buntline burblier burbling burdened burdener burgling buttered ceinture centered centring cerebric checking cheddite cheekful cheekier cheeking cheerful cheerier cheering cheerled cheffing chenille chertier cherubic childbed childing children chillier chilling chinkier chinking chinning chirking chirring chitling chivvied chubbier chucking chuckled chuckler chuffier chuffing chugging chunkier chunking churched churning churring cinching cincture cindered circling citified citrinin cleeking clefting clenched clencher clerking cleveite cleverer clicking cliffier clinched clincher clingier clinging clinking clubbier clubbing clubfeet clucking clunkier clunking clutched credence credible credited creeling creneled crenelle creviced cribbing cribbled cricetid cricking cringing crinkled crucible crucifer cruddier crudding crueller crunched cruncher crutched cucurbit cuddlier cuddling cudgeled cudgeler cuittled culicine cultigen cultlike cultured culverin curdling curetted curlicue curricle curveted cuttling debiting debrided debugged debugger debunked debunker debuting decedent deceived deceiver decenter decentre decerned deciding declined decliner decurved deducing deducted deerlike defected defended defender deferent deferred deferrer defiling defining definite defunded deigning dejected dejeuner deleting deluding deluging dendrite denticle dentiled denuding derelict deriding deringer deriving derriere detected detecter deterged deterger deterred deterrer deticked deticker detruded deuteric deveined develing deviling devilkin devilled dibbling dickered diddling dieldrin dieretic dietetic differed dighting diligent diluting dilutive dindling directed directer dirgeful ditching dithered ditherer diuretic diverged diverted diverter dividend dividing divining divulged divulger dredging dreggier drenched drencher dribbing dribbled dribbler dribblet driftier drifting drilling drinking driveled driveler drubbing drudging druggier drugging duckbill duckling duelling duetting dunelike dunghill durneder duvetine eclectic educible eductive effected effecter efferent effluent effulged eighteen ejecting ejective eldritch electing elective electret electric elenchic elenctic eleventh elicited elidible eligible enceinte encircle enclitic enditing enduring enfeeble enfetter engender engilded engineer engining engirded engirdle engulfed enkindle enriched enricher entering enthetic enticing entitled entrench enuretic erectile erecting erective eructing euchring eucritic eutectic eventful eventide everting evicting evidence evincing evincive febrific feculent feigning feinting feltlike fencible fendered fernlike ferreled ferreted ferreter ferritic ferritin ferruled feruling fetching feticide fettered fetterer fettling fevering fiddling fidgeted fidgeter fielding fiftieth fighting figuline figurine figuring filching fileting filicide filigree filleted filtered filterer filthier fingered fingerer finickin finiking finitude firebird flecking fledgier fledging fleeched fleecier fleecing fleering fleeting flenched fletched fletcher flichter flicking flighted flinched flincher flinging flinkite flintier flinting flirtier flirting flitched flitting flubbing fluffier fluffing flunking flurried freckled frenched frenetic frettier fretting fribbled fribbler friended frigging frighted frighten frillier frilling fringier fringing fritting frugging fruitful fruitier fruiting fruitlet fuddling fuelling fugitive fullered fungible funiculi funneled furibund furriner furuncle gendered genitive geniture gentling gentrice gerbille gettered gibbered gibbeted gigglier giggling gingelli gingered gingilli girdling girthing gleeking gleetier gleeting glenlike glinting glucinic gluelike glugging glunched glutelin glutting greedier greegree greenbug greenier greening greenlet greeting griddled grieving grifting grilling grinding grinning grittier gritting grubbier grubbing grudging grueling gruelled grueller gruffier gruffing grungier grunting gruntled grutched guggling guileful guiltier guitguit gulflike gullible gunfight gunflint gurgling guttered guttling hebetude heckling heighten helilift hellbent hellfire hellkite herblike herdlike higgling highbred highlife highting hindered hinderer hireling hitching huddling hunching hungered hungrier hunkered hurdling hurtling hutching iceblink ignified igniting incenter incident inciting inclined incliner included incurred incurved indebted indecent indented indenter indicted indictee indicter indigene indigent indirect inditing inducing inducted inductee indulged indulger induline inedible inedited infected infecter infecund inferred inferrer infinite inflight influent infringe ingulfed inherent inhering injected injuring innerved intended intender interbed intercut interned internee interred intertie intitled intitule intrench intrigue intruded intruder intuited inturned inurning invected inveigle invented inventer inverted inverter invirile inviting jetliner jiggered jigglier jiggling jinglier jingling jittered juddered juggling julienne juncture junglier junketed junketer juvenile keckling kedgeree kenneled kerchief kerneled kibbling killdeer kindlier kindling kingbird kinglier kinglike kitelike kittened kittling kneeling knelling knighted knitting knubbier knuckled knuckler knurlier knurling kvetched lechered lecithin lectured lecturer leeching lengthen lenience lenitive lenticel letching lettered letterer leucitic leveeing leveling levelled leveller levering libeling libelled libellee libeller libretti licenced licencee licencer lichened lichenin lichting lifelike lifeline lightful lighting lignitic likelier likening linebred linelike lingered lingerer lingerie linguine linguini littered litterer liturgic livelier livening liveried luculent lunching lurching necklike neckline needling negligee neighing nettlier nettling neuritic neutered nibbling nickeled nickelic nickered nickling nidering nidified niffered niggling nineteen nitrided nubblier nuclidic nurtured nurturer nutrient rebelled rebidden rebilled rebuffed rebuking reburied rebutted rebutter receding received receiver recenter recircle reciting reclined recliner recurred recurved redbrick reddened reddling redecide redefect redefied redefine redenied redirect redivide redlined redriven redubbed reducing reduviid reechier reedbird reedbuck reedited reedlike reedling refected refelled refenced refereed referent referred referrer refigure refiling refilled refilter refining refiring refitted refluent refueled refuging refunded refunder refuting regicide regilded regiving regluing reguline reheeled rehinged rehiring reigning reignite reincite reindeer reindict reinduce reinduct reinfect reinject reinjure reinking reinvent reinvite rejected rejectee rejecter rejigger rejudged rejuggle rekindle relented reletter relieved reliever relining relinked reliving relucent relucted rendered renderer rendible reneging renigged renitent rerigged retching reticent reticule retiling retinene retinite retinted retinued retiring retitled retrench retrieve retuning returned returnee returner reunited reuniter revehent reveille reveling revelled reveller revenged revenger revenued revenuer reverbed reverend reverent revering reverted reverter revetted reviling reviving ricebird richened riddling ridgling ridicule riffling rightful righting ringlike ringneck riverbed riverine riveting rivetted rubbered rubblier rubbling rubicund ruckling ruddling rufflier rufflike ruffling ruggeder runelike runkling ruthenic teetered teething tefillin tektitic telfered telluric tendence tendered tenderer tentered tentlike tercelet terebene terrible terrific tetchier tethered theurgic thieving thinking thinning thirling thirteen thrilled thriller thriving thudding thunking thurible thurifer ticketed tickling tidelike tiffined tilelike tillered tincting tincture tingeing tinglier tingling tinkered tinkerer tinklier tinkling tirrivee tittered titterer trebling treddled treelike trekking trenched trencher trendier trending trichite trickier tricking trickled trifling trigging trilling trindled trithing truckful trucking truckled truckler trudging trueblue truebred truffled trundled trundler trunkful truthful tubelike tubercle tubulure tuckered tullibee tunneled tunneler turflike turreted turtling uglified uglifier ulcering unbelief unbelted unbended unbenign unbidden unbilled unbitted unbitten unbitter unbreech unbridle unbright unbuckle unbundle unburden unburied unburned unchurch unclench unclinch uncuffed uncurbed uncurled undecked undenied underbid underbud undercut underdid underfed underfur underlet underlie underlit underrun undubbed undulled unedible unedited unending unenvied unerring unevener unfenced unfetter unfilled unfitted unfunded unfurled ungentle ungifted ungirded ungluing unguided unhedged unheeded unhinged unjudged unkenned unkennel unkinder unkinked unletted unlevied unlicked unlinked unliving unneeded unnerved unreeled unreeler unreeved unrented unriddle unrifled unrigged unrulier untended untented untether untidied untidier untilled untilted untinged untiring untitled untucked untufted untuning unturned ununited unveiled unveined ureteric utriculi uttering vegetive veillike veinlike veinulet veluring velveret velveted vendible veneered veneerer vengeful ventured venturer verderer verditer verdured verecund vergence verified verifier verjuice vernicle verticil vetivert vignette vilified vilifier vincible vinified viricide virucide virulent vitellin vittling vituline viverrid vivified vivifier


You can find a complete list of all the articles here.      Click here to receive email alerts on new articles.

© 2009-2013 DataGenetics    Privacy Policy