PGP-ordlista
PGP -ordlistan (" Pretty Good Privacy wordlista", även kallad en biometrisk ordlista av skäl som förklaras nedan) är en lista med ord för att förmedla databytes på ett tydligt entydigt sätt via en röstkanal. De är analoga till syftet med Natos fonetiska alfabet som används av piloter, förutom att en längre lista med ord används, där varje ord motsvarar ett av de 256 distinkta numeriska bytevärdena.
Historia och struktur
PGP-ordlistan designades 1995 av Patrick Juola , en beräkningslingvist, och Philip Zimmermann , skaparen av PGP . Orden var noggrant utvalda för sin fonetiska särart, med hjälp av genetiska algoritmer för att välja listor över ord som hade optimala separationer i fonemutrymmet . Kandidatordlistorna drogs slumpmässigt från Grady Wards Moby Pronunciator- lista som råmaterial för sökningen, successivt förfinade av de genetiska algoritmerna. Den automatiserade sökningen konvergerade till en optimerad lösning på cirka 40 timmar på en DEC Alpha , en särskilt snabb maskin på den tiden.
Zimmermann–Juola-listan designades ursprungligen för att användas i PGPfone , en säker VoIP-applikation, för att de två parterna ska kunna verbalt jämföra en kort autentiseringssträng för att upptäcka en man-in-the-middle-attack (MiTM). Det kallades en biometrisk ordlista eftersom autentiseringen berodde på att de två mänskliga användarna kände igen varandras distinkta röster när de läste och jämförde orden över röstkanalen, vilket binder talarens identitet med orden, vilket hjälpte till att skydda mot MiTM-attacken . Listan kan användas i många andra situationer där en biometrisk bindning av identitet inte behövs, så att kalla den en biometrisk ordlista kan vara oprecis. Senare användes den i PGP för att jämföra och verifiera PGP- fingeravtryck för offentliga nyckel över en röstkanal. Detta är känt i PGP-tillämpningar som den "biometriska" representationen. När den applicerades på PGP förfinades ordlistan ytterligare, med bidrag av Jon Callas . På senare tid har det använts i Zfone och ZRTP -protokollet, efterföljaren till PGPfone.
Listan är faktiskt sammansatt av två listor, som var och en innehåller 256 fonetiskt distinkta ord, där varje ord representerar ett olika bytevärde mellan 0 och 255. Två listor används eftersom högläsning av långa slumpmässiga sekvenser av mänskliga ord vanligtvis riskerar tre typer av fel: 1) transponering av två på varandra följande ord, 2) dubbletter av ord eller 3) utelämnade ord. För att detektera alla tre typerna av fel används de två listorna växelvis för byte med jämn förskjutning och byte med udda förskjutning i bytesekvensen. Varje bytevärde representeras faktiskt av två olika ord, beroende på om den byten visas med en jämn eller udda förskjutning från början av bytesekvensen. De två listorna kan lätt särskiljas genom antalet stavelser ; den jämna listan har ord med två stavelser, den udda listan har tre. De två listorna har en maximal ordlängd på 9 respektive 11 bokstäver. Att använda ett tvålistschema föreslogs av Zhahai Stewart.
Ordlistor
Här är de två listorna med ord som presenteras i PGPfones användarmanual.
Hex | Till och med Word | Udda ord |
---|---|---|
00 | jordvark | skicklighet |
01 | absurd | rådgivare |
02 | tillfalla | verkningarna |
03 | höjdpunkt | aggregat |
04 | på drift | alkali |
05 | vuxen | allsmäktig |
06 | plåga | amulett |
07 | ett huvud | nöje |
08 | utan mål | antenn |
09 | Algol | sökande |
0A | tillåta | Apollo |
0B | ensam | vapenstillestånd |
0C | ammunition | artikel |
0D | gammal | asteroid |
0E | äpple | Atlanten |
0F | konstnär | atmosfär |
10 | antar | obduktion |
11 | Aten | Babylon |
12 | atlas | bakvatten |
13 | Aztec | utegrill |
14 | babian | under jord |
15 | bakfält | bifokala |
16 | bakåt | livvakt |
17 | banjo | bokhandlare |
18 | strålande | borderline |
19 | sänglampa | bottenlös |
1A | bikupa | Bradbury |
IB | bivax | övermod |
1C | bli vän | brasiliansk |
1D | Belfast | bryta sig loss |
1E | bärsärk | Burlington |
1F | biljard | affärsman |
20 | bison | smörfett |
21 | blackjack | Camelot |
22 | blockad | kandidat |
23 | blåslampa | kanonkula |
24 | blåfågel | Stenbocken |
25 | svulstighet | husvagn |
26 | bokhylla | vaktmästare |
27 | bräckt | fira |
28 | brödlinjen | cellulosa |
29 | upplösning | intyga |
2A | tegelbruk | kammarjungfru |
2B | portfölj | Cherokee |
2C | Burbank | Chicago |
2D | knapp | präst |
2E | vråk | sammanhang |
2F | cement | förbränning |
30 | stollift | kommando |
31 | prat | företag |
32 | kolla upp | komponent |
33 | mejsel | samverkande |
34 | kvävning | förtroende |
35 | chopper | konformist |
36 | Jul | samlas |
37 | mussla | konsensus |
38 | klassisk | rådgivning |
39 | klassrum | företags- |
3A | städa | korrosion |
3B | urverk | rådman |
3C | kobra | crossover |
3D | inleda | krucifix |
3E | konsert | besvärlig |
3F | koskälla | kund |
Hex | Till och med Word | Udda ord |
---|---|---|
40 | tillslag | Dakota |
41 | knasig | förfall |
42 | kråkfot | december |
43 | avgörande | decimal |
44 | skrynkliga | design |
45 | korståg | detektor |
46 | kubisk | rengöringsmedel |
47 | instrumentbräda | bestämma |
48 | dödbult | diktator |
49 | däckshand | dinosaurie |
4A | hundspann | riktning |
4B | dragnät | inaktivera |
4C | dränering | misstro |
4D | hemsk | störande |
4E | driftare | förvrängning |
4F | droppare | dokumentera |
50 | trumslag | förskingra |
51 | berusad | förtjusande |
52 | Dupont | inskrivning |
53 | bostad | företag |
54 | äter | ekvation |
55 | påbud | Utrustning |
56 | ägghuvud | eskapad |
57 | åtta boll | Eskimå |
58 | stödja | varje dag |
59 | begåva | undersöka |
5A | värva | existens |
5B | radera | exodus |
5C | fly | fascinera |
5D | överstiga | tråd |
5E | monokel | petig |
5F | ögontand | evigt |
60 | ansiktsbehandling | mod |
61 | Ramla ut | frekvens |
62 | flaggstång | prylar |
63 | plattfot | Galveston |
64 | flugfälla | flykt |
65 | fraktur | ordlista |
66 | ramverk | skir |
67 | frihet | examen |
68 | skrämma | allvar |
69 | gasell | gitarrist |
6A | Geiger | hamburgare |
6B | glitter | Hamilton |
6C | glukos | hantverk |
6D | glasögon | farlig |
6E | guldfisk | huvudvatten |
6F | gremlin | hemisfär |
70 | vägledning | tveka |
71 | liten by | gömställe |
72 | barnstol | helighet |
73 | hockey | orkan |
74 | inomhus | hydraulisk |
75 | unna sig | opartisk |
76 | omvänd | kraft |
77 | engagera | början |
78 | ö | indigo |
79 | käkben | tröghet |
7A | tangentbord | barndom |
7B | avspark | inferno |
7C | kiwi | informant |
7D | klaxon | falsk |
7E | plats | rebellisk |
7F | Låsa in | integrera |
Hex | Till och med Word | Udda ord |
---|---|---|
80 | merit | avsikt |
81 | elritsa | uppfinningsrik |
82 | girigbuk | Istanbul |
83 | Mohawk | Jamaica |
84 | väggmålning | Jupiter |
85 | musik | spetälska |
86 | halsband | brevpapper |
87 | Neptunus | frihet |
88 | nyfödd | maritima |
89 | nattfågel | matchmaker |
8A | Oakland | ensamvarg |
8B | trubbig | Medusa |
8C | avlasta | megaton |
8D | optisk | mikroskop |
8E | späckhuggare | mikrovågsugn |
8F | avlöningsdag | midsommar |
90 | persikaktigt | miljonär |
91 | fasan | mirakel |
92 | fysik | felaktig beteckning |
93 | lekstuga | melass |
94 | Pluto | molekyl |
95 | hindra | Montana |
96 | föredra | monument |
97 | förkrympt | mygga |
98 | skrivare | berättande |
99 | prowler | nebulosa |
9A | elev | nyhetsbrev |
9B | valp | norska |
9C | pytonorm | oktober |
9D | kvadrant | Ohio |
9E | koger | åskådare |
9F | kvot | rik |
A0 | ragtime | Orlando |
A1 | spärrhake | utespelare |
A2 | återfödelse | Stilla havet |
A3 | reformera | pandemisk |
A4 | återfå | Pandora |
A5 | ren | pappersvikt |
A6 | returmatch | förebild |
A7 | betala tillbaka | paragraf |
A8 | retuschera | av största vikt |
A9 | hämnd | passagerare |
AA | pris | stamtavla |
AB | rytm | Pegasus |
AC | bröstkorg | penetrera |
AD | ringbult | perceptiv |
AE | robust | prestanda |
AF | rocker | apotek |
B0 | ruggig | fonetisk |
B1 | segelbåt | fotografera |
B2 | sågspån | pionjär |
B3 | Salladslök | fickfull |
B4 | naturskön | artighet |
B5 | score-kort | positiv |
B6 | Skottland | potatis |
B7 | sjöfågel | processor |
B8 | Välj | provinsiell |
B9 | mening | närliggande |
BA | skugga | puberteten |
BB | vitklöver | utgivare |
före Kristus | showgirl | pyramid |
BD | kalott | kvantitet |
VARA | fallskärmshopp | utpressare |
BF | slangbella | uppror |
Hex | Till och med Word | Udda ord |
---|---|---|
C0 | sakta ner | recept |
C1 | snapline | ta igen sig |
C2 | ögonblicksbild | frånstötande |
C3 | snömössa | kopia |
C4 | snöras | reproducera |
C5 | solo | motstånd |
C6 | söderut | mottaglig |
C7 | sojaböna | indragning |
C8 | spaniel | hämtning |
C9 | spjutspets | Återblick |
CA | trollbinda | inkomst |
CB | sfäroid | väckelse |
CC | tapp | revolver |
CD | slända | sandelträ |
CE | kikare | hånfull |
CF | scenarbetare | lördag |
D0 | stagnera | barbari |
D1 | trappa | asätare |
D2 | standard | känsla |
D3 | häftapparat | sällskaplig |
D4 | ångare | souvenir |
D5 | sterling | specialist |
D6 | stockman | spekulera |
D7 | stoppur | stetoskop |
D8 | stormig | förbluffande |
D9 | socker | stödjande |
DA | övervinna | överlämna |
DB | spänning | misstänksam |
DC | svettband | sympati |
DD | svaltare | tamburin |
DE | taktik | telefon |
DF | klo | terapeut |
E0 | binnikemask | tobak |
E1 | storm | tolerans |
E2 | tiger | i morgon |
E3 | vävnad | torped |
E4 | tonic | tradition |
E5 | överst | travesti |
E6 | spårare | trombonist |
E7 | genomresa | stympad |
E8 | trauma | skrivmaskin |
E9 | löpband | slutlig |
EA | Trojan | oförskräckt |
EB | problem | under fötterna |
EC | tumör | enhörning |
ED | tunnel | förena |
EE | pamp | universum |
EF | oklippt | reda ut |
F0 | gräva upp | kommande |
F1 | koppla av | vakans |
F2 | rycka upp med rötterna | vagabond |
F3 | upprörd | vertigo |
F4 | resultat | Virginia |
F5 | ånga | besökare |
F6 | by | vokalist |
F7 | virus | voyager |
F8 | Vulcanus | garanti |
F9 | våffla | Waterloo |
FA | plånbok | nyckfull |
FB | lösen | Wichita |
FC | vägkanten | Wilmington |
FD | vide | Wyoming |
FE | skogslära | igår |
FF | Zulu | Yucatan |
Exempel
Varje byte i en bytestring är kodad som ett enda ord. En sekvens av byte renderas i nätverksbyteordning , från vänster till höger. Till exempel, den längst till vänster (dvs. byte 0) anses "jämn" och kodas med PGP Even Word-tabellen. Nästa byte till höger (dvs. byte 1) anses vara "udda" och kodas med PGP Udda ord-tabellen. Denna process upprepas tills alla bytes är kodade. Således producerar "E582" "överst i Istanbul", medan "82E5" producerar "snåla travesti".
Ett fingeravtryck för offentlig PGP-nyckel som visas i hexadecimalt format som
-
E582
94F2
E9A2
2748
6E8B
-
061B
31CC
528F
D7FA
3F19
skulle visas i PGP-ord (det "biometriska" fingeravtrycket) som
-
översta Istanbul
Pluto vagabond
löpband Stilla
havet bräckt diktator
guldfisk Medusa
-
lidande bravad
prat revolver
Dupont midsommar
stoppur nyckfull
koklocka bottenlös
Ordningen på bytes i en bytestring beror på Endianness .
Andra ordlistor för data
Det finns flera andra ordlistor för att förmedla data på ett tydligt entydigt sätt via en röstkanal:
- Natos fonetiska alfabet kartlägger enskilda bokstäver och siffror till enskilda ord
- S /KEY -systemet mappar 64-bitars nummer till 6 korta ord med 1 till 4 tecken vardera från en allmänt tillgänglig 2048-ords ordbok. Samma ordbok används i RFC 1760 och RFC 2289.
- Diceware - systemet mappar fem bas-6 slumpmässiga siffror (nästan 13 bitar av entropi) till ett ord från en ordbok med 7 776 distinkta ord.
- Electronic Frontier Foundation har publicerat en uppsättning förbättrade ordlistor baserade på samma koncept
- FIPS 181: Automated Password Generator omvandlar slumpmässiga siffror till något uttalbara "ord".
- Mnemonisk kodning omvandlar 32 bitar av data till 3 ord från en vokabulär på 1626 ord.
- what3words kodar geografiska koordinater i 3 ordboksord.
- BIP39-standarden tillåter kodning av en kryptografisk nyckel av fast storlek (128 eller 256 bitar, vanligtvis den okrypterade huvudnyckeln i en kryptovaluta-plånbok ) i en kort sekvens av läsbara ord som kallas fröfrasen, i syfte att lagra nyckeln offline. Detta används i kryptovalutor som Bitcoin eller Monero .
- Den här artikeln innehåller material som är upphovsrättsskyddat av PGP Corporation och som har licensierats under GNU Free Documentation License. (per Jon Callas, CTO, CSO PGP Corporation, 4-jan-2007)