Tarkistusmerkkien laskentamenetelmi�
mutta et ole koskaan tullut kysyneeksi
Copyright © Teppo Vuori 01.01.2024
Sis�lt�
|
Johdanto
Yleist�
Ihminen tekee helposti virheit� sy�tt�ess��n numerosarjoja tietokoneelle. Tarkistusmerkin avulla useimmat sy�tt�virheet voidaan havaita v�litt�m�sti. Erityisen hy�dyllist� t�m� on silloin, kun numerosarjaa ei voida tarkistaa mill��n muulla keinolla. Pankkisiirron viitenumero on hyv� esimerkki t�llaisesta tapauksesta.Tarkiste on merkki, joka liitet��n numero- ja/tai kirjainjonoon ja joka lasketaan jollakin matemaattisella kaavalla jonon muista merkeist�. Tietoja sy�tett�ess� tietokone vertaa sy�tetty� ja laskettua merkki� toisiinsa, ja jos ne eiv�t ole samat, on tapahtunut virhe. Kansainv�linen standardointij�rjest� ISO on standardoinut useita tarkistusmenetelmi� (standardi ISO 7064).
Yhdess� ainoassa laajasti k�ytetyss� sovelluksessa tarkisteet voivat v�hentyneiden virheiden ansiosta est�� monia hankalia tilanteita ja s��st�� selvittelykustannuksissa jopa miljoonia euroja vuodessa. ��rimm�isiss� tapauksissa, kuten verensiirroissa, voi s��sty� ihmishenki�. L�hes aina tarkisteella varustettu merkkijono on tunniste: Henkil�n, esineen, aineen tai asian.
Sovellusala
Erilaisista tunnuksista, numeroista ja koodeista voitaisiin kirjoittaa paljon laajemmatkin kuvaukset, mutta t�m�n dokumentin aiheena on p��s��nt�isesti vain tarkistusmerkin laskenta, ja toissijaisesti tarkistettavien tietojen rakenteen kuvaus. Dokumentin aihepiiriin eiv�t kuulu konekielisiss� tiedoissa k�ytett�v�t tarkistus- ja korjausmenetelm�t, joiden yhteydess� esiintyy usein termi tarkistussumma (checksum). Ulkopuolelle on rajattu my�s salaukseen perustuvat tarkistusmenetelm�t. Viivakoodeihin liittyv�t menetelm�t kuuluvat aihepiiriin yleens� vain jos my�s selv�kielinen tieto on tapana merkit� n�kyviin. Sek� tarkistussummista, salauksesta ett� viivakoodeista on Internetiss� niin paljon muiden kirjoittamaa materiaalia, ettei minulla ole n�ihin aiheisiin mit��n lis�tt�v��, joten keskityn asioihin, joita ihmiset voivat helposti havaita ilman mit��n laitteita. Dokumentissa ei ole ohjelmointiesimerkkej�, mutta kirjoittamassani erillisess� Tuatara-ohjelmapaketissa on JavaScript-ohjelmia joidenkin tavallisimpien tarkistusten laskemista varten. T�ss� dokumentissa on linkkej� vastaavissa kohdissa.Kehystetty ja tavallista pienempi teksti sis�lt�� syvent�vi� taustatietoja, jotka voivat antaa aiheesta laajemman n�kemyksen, mutta eiv�t ole oleellisia tarkisteiden laskennan tai tarkistettavien tietojen rakenteen ymm�rt�misen kannalta.
Kuten seuraavasta kappaleesta k�y ilmi, t�ll� dokumentilla ei voi olla kohderyhm��, mutta jos voisi, ensisijaisesti siihen kuuluisivat ohjelmoijat, koska l�hes jokainen meist� koodaa joskus jonkin t�m�ntyyppisen tarkistuksen. Muutaman sovelluksen kohdalla tiedot ovat valitettavasti puutteelliset, mik� on ao. tapauksissa mainittu, mutta yleens� kuvaukset on pyritty tekem��n sellaisella tarkkuudella, ett� ohjelman kirjoittaminen niiden perusteella on mahdollista. Ilmeisesti t�ss� on my�s onnistuttu, koska kyselyj� asiasta tulee hyvin harvoin. Kohderyhm�n puuttuessa kaikki lukijat ovat yht� tervetulleita.
Varoitukset
Vaikka kaikki mieleen tulleet keinot on k�ytetty, jotta jokainen yksityiskohta saataisiin mahdollisimman huolellisesti varmistetuksi, esitettyjen tietojen luotettavuudesta ei anneta mit��n takuuta! Minulla ei ole mit��n mahdollisuutta kontrolloida yht�k��n t�ss� dokumentissa kuvatuista sovelluksista, joten siin�kin tapauksessa ett� kirjoittamani teksti pit�� paikkansa kirjoitushetkell�, mihin tahansa menetelm��n tai sovellukseen voi milloin tahansa tulla muutoksia ilman, ett� asiasta vastaavat henkil�t ilmoittavat siit� minulle (ilmoitus olisi tietysti hyvin toivottava). Tiedot on koottu pelk�st��n henkil�kohtaisen mielenkiinnon vuoksi, ei k�ytt�� varten. Mahdollinen k�ytt� tapahtuu kokonaan k�ytt�j�n omalla vastuulla! Todella p�tev�n selvityksen kirjoittamiseen t�st� aiheesta tarvittaisiin matemaatikko, jollainen min� en ole. Tosin t�m� voi olla hyv�kin asia – luulen useampien ihmisten ymm�rt�v�n kirjoittamaani teksti� kuin matemaattisia merkint�j�. Lukijan kannattaa olla tarkkana sen suhteen, mitk� asiat on esitetty faktoina, mitk� taas ep�varmoina tietoina tai spekulaatioina.Jos sy�t�t tarkisteellisia tietoja tietoj�rjestelm��n, ja saat virheilmoituksen, selvit� ao. l�hteest� tiedon oikea sis�lt�. �l� yrit� muokata tarkistetta muodollisesti oikeaksi! Toisaalta, siit� ett� esim. henkil�tunnus, Y-tunnus tai pankkitilin numero on muodollisesti virheet�n ei automaattisesti seuraa, ett� vastaava henkil�, yritys tai pankkitili on todella olemassa, tai ett� tunniste kuuluu sille, jolle sen v�itet��n kuuluvan.
L�hteet ja tietojen levitys
Esitetyt tiedot perustuvat osittain omiin havaintoihini, mutta suurin osa on koottu monista eri l�hteist�, jotka on mahdollisuuksien mukaan mainittu ao. kohdissa. Kiit�n kaikkia niit� henkil�it� ja yhteis�j�, joilta per�isin olevia tietoja olen k�ytt�nyt. Erityisen kiitoksen saavat yst�v�ni Tapani Tarvainen arvokkaiden matemaattisten taustatietojen antamisesta ja veljeni Hannu Vuori Coden-tunnuksen tarkistusmenetelm�n selvitt�misest�. Sukulaiset ja ty�toverit ansaitsevat kiitokset k�rsiv�llisyydest�, luottamuksesta ja avusta monien yksityiskohtien tarkistamisessa.Parhaan tietoni mukaan kaikki t�ss� esitetyt tiedot ovat julkisia, ja se ett� min� levit�n niit� ei loukkaa kenenk��n tekij�n- tai muita oikeuksia eik� riko mit��n salassapitom��r�yksi�. Omasta puolestani annan luvan levitt�� t�t� dokumenttia kokonaisuudessaan vapaasti muualla kuin Internetiss� tai muissa tietoverkoissa, edellytt�en ettei levityksest� perit� maksua eik� t�h�n dokumenttiin tehd� muutoksia. Muutosoikeuden pid�t�n itsell�ni. T�t� dokumenttia on k�sitelt�v� yhten� kokonaisuutena; mit��n sen osaa ei saa irrottaa asiayhteydest��n. Internetiss� linkitys on ainoa sallittu levitystapa, koska dokumenttiin tulee ajoittain muutoksia ja koska ylim��r�iset kopiot v��rist�v�t k�vij�tilastoja. Dokumentin k�yt�st� opetustarkoituksiin muuten kuin linkitt�m�ll� on ilmoitettava minulle.
T�m�n sivun oikea kotipaikka on http://tarkistusmerkit.teppovuori.fi/tarkmerk.htm.
Luulin kirjoittaneeni yll�olevan kappaleen niin, ettei se j�t� mit��n ep�selv�ksi, mutta toistuvien v��rien tulkintojen vuoksi yrit�n viel� v��nt�� oleellisimman ns. rautalangasta:
Of this document it is FORBIDDEN to make copies, which can be seen on the Internet at any other than the original address!
Ep�selviss� tapauksissa kannattaa ensin kysy� minulta. Palautesivu l�ytyy t��lt�.
Palaute ja jatkokehitys
Kuvattuja menetelmi� sopii kokeilla vastaantuleviin numerosarjoihin – muihinkin kuin t�ss� mainittuihin. Mahdollisista virheist�, vanhentuneista tiedoista tai muista merkitt�vist� havainnoista pyyd�n ilmoittamaan s�hk�postitse. Merkitt�vi� havaintoja ovat esim. vahvistus jonkin ep�varmaksi mainitun asian paikkansapit�vyyteen, t�ydennys johonkin annettuun tietoon (kts. Avoimia kysymyksi�) tai tieto jostakin t�ss� mainitsemattomasta numerosarjasta, johon jokin kuvatuista menetelmist� sopii. Tai jos haluat vain kertoa lukeneesi t�m�n, niin sekin on kiva tiet��. Otan my�s hyvin mielell�ni vastaan ehdotuksia t�h�n dokumenttiin teht�vist� lis�yksist�. Helpoimmin mukaan p��sev�t j�rjestelm�t, joihin tavallinen ihminen voi suhteellisen usein t�rm�t� normaalissa el�m�ss� (Suomessa) tai jotka ovat jollakin tavalla erityisen mielenkiintoisia (puhtaasti subjektiivisen mielipiteeni perusteella, mutta se kattaa aika paljon). L�hde jossa menetelm� kuvataan on tietysti my�s eduksi. T�rkeimpien avustajien nimet julkistetaan jos he antavat siihen luvan. Yrit�n parhaan kykyni mukaan selvent�� mahdollisia ep�selvi� kohtia jos joku sellaisista huomauttaa. Dokumentti n�ytt�� olevan pysyv�sti keskener�inen ja p�ivityksi� tehd��n sen mukaan miten tietoja l�ytyy. Osittain keskener�isyys johtuu my�s siit�, ett� maailma ymp�rill� muuttuu koko ajan.Edell�kuvattua palautetta on kaikkien lukijoiden hy�dyksi tullutkin, mist� esit�n kiitokset niillekin palautteen l�hett�jille, joita ei nimelt� mainita.
Erityismaininnan ansaitsee Kari H�nninen (Finn-ID Oy), joka l�hetti minulle mm. lukukyn�n viivakoodien lukemista varten osoitukseksi siit�, kuinka hy�dyllisen� h�n t�t� dokumenttia pit��.
T�ll� sivulla k�vij�ist� ker�t��n tilastotietoja, joista er��t ovat osoittautuneet hy�dyllisiksi sivua kehitett�ess�.
Termej�
Tekstiss� esiintyy toistuvasti sana "jakoj��nn�s". Jos sen merkitys on lukijalle hiukankin ep�selv�, asia kannattaa tarkistaa ao. liitteest�, jossa on my�s selitetty kongruenssi ja sen symboli (≡). Jos luulet osam��r�n desimaaliosaa jakoj��nn�kseksi, sinulla on ehdottomasti aihetta lukea em. liite.Monessa tapauksessa tarkistusmenetelm�ll� ei ole erityist� nime�. Niinp� t�ss� dokumentissa on paikoin k�ytetty otsikkona sovellusaluetta, jolla menetelm�� k�ytet��n. Silloinkin kun nimi on olemassa, se ei v�ltt�m�tt� ole kovin yksil�iv�; tyypillisesti nime� "Moduli n" (tai joskus "Modulo n", englanniksi my�s "Modulus n") k�ytet��n kaikista menetelmist�, joissa tehd��n jakolasku luvulla n, vaikka kaikki muut yksityiskohdat olisivat erilaisia. Muutenkin samaa nime� – esim. IBM Check – voidaan k�ytt�� kesken��n aivan erilaisista menetelmist�. Joskus nimeen liitet��n t�sment�vi� m��reit�. Useimmat t�ss� dokumentissa k�ytetyt nimet eiv�t ole kovin "virallisia", mutta otsikointia varten jotakin on pit�nyt keksi�. Nimi� yritet��n sent��n k�ytt�� johdonmukaisesti, mutta joskus pitk��nkin k�yt�ss� ollutta nime� voidaan joutua muuttamaan jonkin uuden menetelm�n kuvausta lis�tt�ess�. Koska jakaja n�ytt�� olevan useimpien tarkistusmenetelmien t�rkein yksitt�inen ominaisuus ja monessa tapauksessa nime�misen peruste, menetelm�t kuvataan jakajan suuruuden mukaan laskevassa j�rjestyksess�, joka n�ytt�� my�s olevan likimain sama kuin paremmuusj�rjestys, parhaasta alkaen.
Lukuohje: Jos menetelm�n nimess� esiintyy sana "moduli" (tai "mod"), sit� seuraava luku luetaan tavaomaiseen tapaan, eli esim. "Moduli 34" = "moduli kolmekymment� nelj�", koska 34 on jakaja jota menetelm�ss� k�ytet��n sellaisenaan. Jos taas menetelm�n nimess� eiintyy sana "kerroin", sit� seuraavat numerot luetaan yksitellen, esim. "Kerroin 137" = "kerroin yksi kolme seitseman", koska 137 ei t�ss� ole luku, vaan luettelo menetelm�ss� k�ytett�vist� painokertoimista, joista kutakin k�ytet��n erikseen. Selvemp�� olisi kirjoittaa esim. 1-3-7, mutta t�m� johtaisi joissakin tapauksissa ei-toivottuihin rivinvaihtoihin.
L�hinn� toiston v�hent�miseksi olen k�ytt�nyt sanoja "tarkistenumero" ja "tarkistusnumero" silloin kun kyseess� todella on numero, ja sanoja "tarkistemerkki" ja "tarkistusmerkki" kun my�s kirjaimet ovat mahdollisia. Sanaa "tarkiste" k�yt�n synonyymina kaikille edell�mainituille. Muuta merkityseroa en ole n�ille nimityksille antanut. Joissakin muissa dokumenteissa k�ytet��n my�s nime� "tarkastusmerkki", mutta t�m� sana viittaa paremminkin merkint��n tehdyst� tarkastuksesta (esim. jalometallin pitoisuuden osoittava tarkastusmerkki). ATK-sanakirjan mukaan kyseess� on "varmistusmerkki" tai "varmistusnumero", mutta muualla n�it� nimityksi� k�ytet��n tavallisesti tarkoittamaan salasanaa tai sellaiseen verrattavaa merkkijonoa.
Minulle on huomautettu, ett� suomen kielen s��nt�jen mukaan t�llaisessa yhteydess� pit�isi puhua tarkastamisesta eik� tarkistamisesta, ja ihan tottahan t�m� on.
Tarkastaa = K�yd� l�pi ja todeta.T�ss� dokumentissa kuvattujen tarkisteiden avulla virheit� voidaan todeta mutta ei korjata. Useita viikkoja kest�neen kokeilun j�lkeen on kuitenkin tilastotietojen perusteella todettava, ett� vain harva etsii t�llaisia tietoja jotakin tarkastamisesta johdettua sanaa k�ytt�en, vaikka t�m� dokumentti on nykyisin sellaisillakin sanoilla l�ydett�viss�. Niinp� en aio t�m�n johdosta tehd� mit��n muutoksia. Siit� riippumatta mit� merkityksi� kielitieteilij�t ja sanakirjojen laatijat sanoille antavat, min� yrit�n kirjoittaa dokumentiia, jonka ihmiset l�yt�v�t hakukoneiden avulla itselleen tuttuja sanoja k�ytt�en. T�h�n liittyen en my�sk��n k�yt� termi� "tarkastusluku", joka mielest�ni muutenkin sopisi k�ytett�v�ksi vain jos tarkisteessa on enemm�n kuin yksi merkki.
Tarkistaa = Todeta ja korjata.
(L�hde: Tiede-lehti 3/2009 s. 17 palsta Omat sanat)
Siit�kin on huomautettu, ett� k�yt�n sanaa moduli, vaikka jakoj��nn�ksen toinen nimi on modulo. Todellisuudessa k�yt�n kyll� sanaa modulo kun on kysymys nimenomaan jakoj��nn�ksest� tai sen laskemisesta, kun taas moduli esiintyy menetelmien nimiss�, jotka muutenkin ovat usein vain mielivaltaisia valintoja. T�st� olen keskustellut yhden matemaatikon kanssa, eik� modulissa ole h�nen mielest��n mit��n vikaa t�ll� tavalla k�ytettyn�. Voi olla jopa hyv� asia, ett� menetelmien nimiss� k�ytet��n eri sanaa, koska useimmiten menetelm� sis�lt�� muutakin kuin jakoj��nn�ksen laskemisen; eri sanan k�ytt� voi tehd� selvemm�ksi sen, ett� viitataan tarkistusmenetelm��n eik� vain jakoj��nn�ksen laskentaan. Itse en ole tuota modulia keksinyt, vaan se on per�isin jostakin dokumentista, jota en pysty en�� j�ljitt�m��n (Luhnin moduli 10). Alun perin kyseess� voi hyvinkin olla k��nn�svirhe, mutta nyt se on p��ssyt sen verran vakiintumaan, ett� olen aika haluton sit� muuttamaan.
Monissa dokumenteissa tunnisteita nimitet��n numeroiksi, vaikka ne sis�lt�isiv�t kirjaimia (arkkiesimerkkin� auton rekisterinumero), ja erityisesti tarkisteen laskennan yhteydess� yksitt�isi� kirjaimia itse��n sanotaan numeroiksi. Esityksen lyhent�miseksi otan itselleni vapauden noudattaa joskus samaa k�yt�nt��.
Tarkiste on englanniksi "check digit" tai "check character". On olemassa yleisesti k�ytetty termi "control number" (tai joskus "control digit"), mutta t�m�n dokumentin mukaista tarkistenumeroa sill� tarkoitetaan yleens� vain, jos kirjoittajan �idinkieli ei ole englanti; tavallisemmin ilmaus tarkoittaa jotakin tunnistetta tai sellaisen osaa. Sekaannukseen voi vaikuttaa se, ett� tarkistenumero on ranskaksi "chiffre de contr�le". "Check mark" suomennetaan joskus tarkistusmerkiksi, mutta sill� ei tarkoiteta samaa asiaa kuin t�ss� dokumentissa. Saksaksi tarkistusnumero on "Pr�fziffer".
Uusimmat muutokset
T�m� dokumentti ei ole kuollut, mutta on jo pitk��n viett�nyt hiljaiseloa: Teen kyll� edelleen muutoksia ja lis�yksi�kin, mutta yleens� vain silloin, kun jokin ulkoinen tekij� antaa niihin aiheen. Sit� vastoin dokumenttiin n�hden rinnakkainen Tuatara-ohjelmapaketti on jatkuvasti aktiivisen yll�pidon alainen.- 02.10.2012 Poistettu kuvaus Microsoftin vanhoista tuotetunnuksista.
- 16.08.2013 Kirjoitettu uudelleen eurosetelien sarjanumeroiden kuvaus ottaen huomioon uusi 2013 alkaen liikkelle laskettu setelisarja.
- 21.02.2014 Pohjoismaisen tuotenumeron (Vnr) kuvaus poistettu vanhentuneena.
- 28.06.2014 Poistettu maininnat ajokortin hallinnollisesta numerosta, koska sen tarkisteen laskenta on muuttunut. N�m� tiedot voidaan palauttaa, jos asiasta saadaan riitt�v�n tarkkoja tietoja.
- 30.08.2014 Poistettu MSI-viivakoodin tarkisteen laskennan kuvaus dokumentin aihepiiriin huonosti sopivana.
- 26.09.2017 P�ivitetty tietoja Henkil�tunnusten yksil�numeroista.
- 24.04.2020 Lis�tty Dammin algoritmin kuvaus.
- 20.06.2021 Tarkennettu tietoja ep�standardeista OVT-tunnuksista.
- 25.01.2022 Lis�tty maininta GSRN-tunnuksesta.
- 01.01.2024 Kuvaus Henkil�tunnuksen uusista v�limerkeist� lis�tty.
Moduli 97-10
Menetelm�� k�ytet��n kansainv�lisen tilinumeron ja siihen liittyvien RF-viitteen ja IPI:n maksunaihekoodin tarkistamiseen.Kansainv�linen tilinumero (IBAN)
IBAN-muunnos- ja -tarkistusohjelmaKansainv�linen pankkitilin numero (International Bank Account Number, IBAN) otettiin Suomessa k�ytt��n 01.10.2001 kansainv�lisen maksuliikenteen helpottamiseksi. Vuoden 2007 alusta IBAN:in k�ytt� kansainv�lisiss� eurom��r�isiss� maksuissa EU:n sis�ll� on ollut pakollista. Vuoden 2008 aikana IBAN otettiin k�ytt��n my�s Suomen sis�isess� maksuliikenteess�, ja 01.07.2010 alkaen se on ollut pakollinen paperilaskuissa ja tilisiirtolomakkeissa; s�hk�isiss� laskuissa se on pakollinen 01.01.2011 alkaen, ja yritysten ym. pankeille toimittamissa maksuaineistoissa (esim. palkat) 01.11.2011 alkaen. Periaatteessa se on pakollinen yksityisillekin, mutta pankit voivat tehd� muunnoksen automaattisesti. Finanssialan keskusliitto ilmoitti 02.06.2014 ett� muunnospalvelu lakkaa l�hikuukausina.
Numero muodostuu kolmesta osasta:
- ISO 3166-1 -standardin mukainen kaksikirjaiminen maatunnus, suomalaisissa tileiss� FI ("�f ii", ei "�f yksi", kuten jotkut ovat kirjoittaneet).
- Kaksinumeroinen tarkiste, joka lasketaan kaikissa maissa samalla tavalla.
- Loppuosa muodostetaan varsinaisesta tilinumerosta, johon joissakin maissa lis�t��n pankin tunnus. S��nn�t vaihtelevat maittain, kuten tilinumeroiden rakennekin. Samasta syyst� t�m�n osan (Basic Bank Account Number, BBAN) pituus vaihtelee, ja voi enimmill��n olla 30 merkki�, mutta on yksitt�isess� maassa aina sama. Joissakin maissa k�ytet��n my�s kirjaimia, mutta Suomessa ei. Mahdolliset v�limerkit j�tet��n pois. Suomessa t�m� osa on aikaisempi kotimainen tilinumero 14-numeroisessa konekielisess� muodossa.
- Alkuper�inen (suomalainen) tilinumero (esim. 159030-776) muokataan 14-numeroiseen konekieliseen muotoon (15903000000776) ellei se jo t�ss� muodossa ole. Katso pankkitilin numero. Huomaa ett� suomalaiset 4- ja 5-alkuiset tilinumerot k�sitell��n eri tavalla kuin muut. T�ss� kohdassa tilinumero siis on BBAN-muodossa.
- Numerosarjan loppuun liitet��n maatunnus (t�ss� tapauksessa FI) ja kaksi nollaa (15903000000776FI00).
- Korvataan kukin kirjain numeroparilla Taulukon 1 mukaisesti (15903000000776151800). Sama korvaus tehd��n my�s BBAN-tilinumeroon sis�ltyville kirjaimille niiss� tapauksissa joissa kirjaimia k�ytet��n.
- Lasketaan n�in saadusta luvusta modulo 97. Tarvittaessa katso Jakoj��nn�s ja kongruenssi, jossa kerrotaan my�s miten lasketaan jakoj��nn�s suuresta luvusta.
- Jakoj��nn�s (61) v�hennet��n 98:sta. Tulos (37) on tarkiste.
- Jos tulos on pienempi kuin 10, lis�t��n etunolla. Tarkisteen mahdolliset arvot ovat siis 02..98.
- Liitet��n maatunnus ja kaksinumeroinen tarkiste BBAN-muodossa olevan tilinumeron eteen (FI3715903000000776). Tulos voidaan esitt�� my�s ryhmiteltyn� (FI37 1590 3000 0007 76).
- Siirret��n maatunnus ja tarkiste tilinumeron loppuun (15903000000776FI37).
- Korvataan kirjaimet numeropareilla (15903000000776151837).
- Jaetaan saatu luku 97:ll�.
- Jos IBAN on virheet�n, jakoj��nn�s on 1 (n�in tapahtuu esimerkiss�).
CRC-menetelmill� (Cyclic Redundancy Check) on samantapainen ominaisuus:
<Tarkisteellinen tieto> mod <Menetelm�kohtainen
jakaja> = 0
eli tarkiste m��r�ytyy niin, ett� jakoj��nn�s on
tarkistettavasta tiedosta riippumatta vakio.
IBAN:in on m��ritellyt Eurooppalaisten pankkien standardointij�rjest� (European Committee for Banking Standards, ECBS) dokumentissa EBS204 (European Banking Standard), ja se on my�s ISO:n standardi 13616. Nykyisin IBAN:ia yll�pit�� ISO:n valtuuttamana SWIFT (Society for Worldwide Interbank Financial Telecommunications). IBAN on kehitetty k�ytett�v�ksi Euroopan Unionissa, ja sit� k�ytt�v�t kaikki Euroopan maat paitsi Ven�j�. Kosovo k�ytt�� ep�virallista maakoodia XK 01.02.2015 alkaen. Euroopan ulkopuolella IBAN:ia k�ytt�� kolmisenkymment� maata; n�ihin eiv�t kuulu (marraskuussa 2018) seuraavat OECD-maat: Australia (AU), Chile (CL), Etel�-Korea (KR), Japani (JP), Kanada (CA), Meksiko (MX), Uusi-Seelanti (NZ) ja Yhdysvallat (US), eiv�t my�sk��n mm. seuraavat taloudellisesti t�rke�t OECD:n ulkopuoliset maat: Argentiina (AR), Etel�-Afrikka (ZA), Hongkong (HK), Indonesia (ID), Intia (IN), Iran (IR), Kiina (CN), Kolumbia (CO), Malesia (MY), Singapore (SG), Taiwan (TW), Thaimaa (TH) ja Ven�j� (RU). T�ss� listassa aikaisemmin mainitut Brasilia (BR), Egypti (EG) ja Pakistan (PK) ovat ottaneet IBAN:in k�ytt��n. K�ytt�jien m��r� on muutenkin kasvussa – 13 uutta maata vuosina 2014..2018. Yhdysvalloissa on asetettu ty�ryhm� asiaa selvitt�m��n; jos t�m� johtaa positiiviseen tulokseen, useat (kymmenet?) maat voivat seurata esimerkki�.
Varsinainen (suomalainen) tilinumero voidaan tarkistaa siten kuin ao. kappaleessa on kuvattu (�l� luota siihen, ett� t�m� pit�isi paikkansa 31.01.2014 j�lkeen). Muiden tilinumeroiden t�ydellinen tarkistaminen olisi monimutkaista. Joissakin maissa kaikkien pankkien tilinumeroille on yhten�inen tarkistusmenettely, joka on yleens� julkinen, mutta vaihtelee tietysti maasta toiseen. Toisissa maissa k�ytet��n pankkikohtaisia menetelmi�, jotka eiv�t aina ole julkisia. Joidenkin pankkien tilinumeroissa ei ole tarkistetta lainkaan. Julkisten tietojen perusteella voidaan kuitenkin tarkistaa se, ett� numeroita ja kirjaimia on k�ytetty vain sellaisissa positioissa, joissa ne ovat sallittuja. On todellakin ymm�rrett�v��, ett� kansainv�liseen maksuliikenteeseen on haluttu kehitt�� yksi yhten�inen tarkistusmenetelm�.
Internetist� l�ytyy sivuja, joilla tarjotaan mahdollisuutta muodostaa IBAN mist� tahansa tilinumerosta k�ytt�en ao. maan maakoodia, mutta n�in ei todellisuudessa voi tehd�. IBAN:in muodostaminen edellytt��, ett� ko. maan pankit ovat sopineet IBAN:in perustana k�ytett�v�n BBAN-tilinumeron muodosta, ja t�llainen sopimus on tehty vain maissa, jotka ovat liittyneet tai liittym�ss� IBAN:in k�ytt�jien joukkoon, eiv�tk� pankkikohtaiseen tilinumeroon sis�ltyv�t tiedot kaikissa maissa riit� BBAN:in muodostamiseen. Yritys muodostaa IBAN j�rjestelm�n ulkopuolisten maiden tilinumeroista on merkitykset�n tai pahimmillaan harhaanjohtava. Toinen tavanomainen virhe mainituilla sivuilla on, ett� ne sallivat mink� tahansa k�yt�ss� olevan maakoodin, vaikka on useita alueita, jotka eiv�t k�yt� omia maakoodejaan t�llaisessa yhteydess�. Kaiken lis�ksi s��nt�jen mukaan IBAN:in muodostaminen on tilinpit�j�pankin yksinoikeus.
P�invastainen muunnos – IBAN:in muuttaminen kotimaiseksi tilinumeroksi – on suomalaisille tilinumeroille helppo. Vaikken tied� mit��n tilannetta, jossa t�llaiselle muunnokselle olisi todellista tarvetta, kerron silti miten se tehd��n oikein, koska Netiss� on asiasta paljon harhaanjohtavaa tietoa: J�t� alusta pois kirjaimet FI ja seuraavat kaksi numeroa. J�ljelle j��v�t 14 numeroa ovat suomalainen tilinumero (esim. FI02 2045 3504 1005 27 → 2045 3504 1005 27). Tarvittaessa voit poistaa v�lily�nnit ja/tai lis�t� 6. numeron j�lkeen v�liviivan (esim. 204535-04100527). Usein neuvotaan my�s poistamaan "ylim��r�iset" nollat, mutta t�m� ei koskaan ole pakollista, ja voi v��rin tehtyn� pahimmillaan johtaa virheelliseen mutta toimivaan tilinumeroon, jolloin maksu menee v��r�lle tilille, eli kehotus nollien poistamiseen on v�hint��n vastuuton – t�sm�lliselt� n�ytt�v� ohjekaan ei v�ltt�m�tt� sovi kaikkiin tilanteisiin (esimerkkitapauksessa er��t n�kem�ni ohjeet tuottaisivat muodollisesti moitteettoman mutta silti v��r�n tilinumeron). Tietysti nollien poistamiseen on oikeakin tapa, mutta k�yt� sit� vain jos varmasti tied�t mit� olet tekem�ss�. Muunnosta ei pid� tehd� suomalaisille IBAN:eille joiden 5. merkki on 7, koska t�llaiset pankit eiv�t ole koskaan k�ytt�neet suomalaisen standardin mukaisia tilinumeroita. Muiden maiden IBAN:eille ei ole yhten�ist� s��nt��.
Netist� l�ytyvien tietojen mukaan varsinkin Afrikassa on maita, joiden tilinumerot n�ytt�v�t IBAN:eilta, mutta joita ei mainita SWIFT:in yll�pit�m�ss� virallisessa IBAN-rekisteriss�. T�t� ei tietenk��n mik��n est�, mutta t�llaisille tileille maksettaessa ei v�ltt�m�tt� toteudu IBAN:in t�rkein etu: Vastaanottajan tilinumeron oikeellisuuden tarkistaminen ennen maksun l�hett�mist�, eik� vasta sitten kun maksu on saapunut m��r�konttoriin (oikeaan tai v��r��n) tai pahimmassa tapauksessa v��r�lle tilille.
Monet n�ytt�v�t uskovan, ett� BBAN ja kansallinen tilinumero ovat sama asia. Joskus ovatkin, mutta yleisesti t�h�n ei pid� luottaa. Tarkkaan ottaen BBAN on kansallisen tilinumeron esitysmuoto, jonka ainoa teht�v� on toimia IBAN:in muodostamisen l�ht�kohtana. Alkuper�isen tilinumeron muokkaaminen BBAN:iksi voi sis�lt�� esim. pankkitunnuksen lis��misen (samalla pankilla voi olla useita erilaisia tunnuksia) ja/tai nollien lis��misen, jotta BBAN saadaan oikean pituiseksi. Muokkaus on usein pankkikohtainen. Huomaa ett� joissakin maissa maa- tai pankkikohtaisista tilinumerostandardeista on luovuttu kokonaan, jolloin "alkuper�inen tilinumero" on menett�nyt kaiken merkityksens�; Suomessa t�m� prosessi on viety melkein loppuun (elokuussa 2013).
Jos kaksinumeroista tarkistetta ei pidet� liian pitk�n�, t�m� menetelm� sopii mainiosti moneen muuhunkin k�ytt��n, koska tarkistettavan merkkijonon pituutta ei ole rajoitettu, tarkistuksessa voidaan k�sitell� sek� numeroita ett� kirjaimia, ja virheenpaljastuskyky on erinomainen. Menetelm� sis�ltyy ISO:n standardiin 7064, mutta kirjainten k�sittely on luultavasti standardiin tehty laajennus, ja tarkisteen siirt�minen l�helle merkkijonon alkua poikennee sekin standardista.
L�htein� on k�ytetty em. EBS204:n ja SWIFT:in yll�pit�m�n virallisen IBAN-rekisterin lis�ksi mm. Suomen pankkiyhdistyksen (vuoden 2007 alusta Finanssialan keskusliitto) julkaisua "Kansainv�linen tilinumero IBAN (International Bank Account Number) ulkomaan maksuliikenteess�, Ohje ohjelmataloille, 21.09.2000 / V1.0".
Maksuliikenteess� k�ytet��n my�s pankki- tai konttorikohtaista BIC-koodia (�l� sekoita t�t� konttiliikenteen BIC-koodiin) ja joissakin maissa (ei Suomessa) pankki- tai konttorikohtaista clearing-koodia. Clearing-koodin nimi ([National] Clearing Code, Routing Number, Sort Code yms.), muoto ja siten oletettavasti my�s mahdollisen tarkisteen laskenta on maakohtainen. BIC-koodissa ei ole tarkistetta, joten se voidaan tarkistaa vain ao. pankin tiedoista tai vertaamalla koodiluetteloon esim. tietokannassa (Bank Identifier Code, tunnetaan kehitt�j�ns� mukaisesti my�s SWIFT-koodina, ISO-standardi 9362). My�s BIC l�ytyy tiliotteesta. BIC:in k�ytt� SEPA-alueella p��ttyi maansis�isiss� maksuissa 31.01.2014 ja kansainv�lisess�kin rahaliikenteess� IBAN:illa maksettaessa 31.01.2016. SEPA:n ulkopuolella BIC:in k�ytt� jatkuu.
RF-viite
Tarkisteen lis�ys- ja tarkistusohjelmaJuoksevaan numeroon perustuvien suomalaisten viitenumeroiden ja/tai niist� johdettujen RF-viitteiden generointiohjelma
Monimutkaisempien RF-viitteiden generointiohjelma
RF-viite eli KV-viite eli kansainv�linen viite eli kansainv�linen viitenumero eli myyj�viite eli (Global) (Structured) Creditor Reference eli RF Creditor Reference (ISO 11649) on kansainv�liseen k�ytt��n tarkoitettu suomalaista Pankkisiirron viitenumeroa vastaava tunniste, joka rakenteeltaan muistuttaa suuresti Kansainv�list� tilinumeroa (IBAN). RF-viitteit� saa k�ytt�� 01.12.2010 alkaen sek� kotimaisessa ett� kansainv�lisess� rahaliikenteess�. Kuten kotimaisen viitenumeron, my�s RF-viitteen tarkoitus on yhdist�� vastaanotettu maksu l�hetettyyn laskuun, joten RF-viitteenkin tuottaa laskuttaja. Jossakin vaiheessa kotimaisista viitenumeroista luovuttanee, ja RF-viitteet j��v�t ainoaksi vaihtoehdoksi. Varsinaista p��t�st� t�st� ei kuitenkaan ole viel� tehty (elokuussa 2014).
- RF-viitteen alussa on maatunnuksen sijasta isot kirjaimet RF (sanasta reference; RF ei [elokuussa 2014] ole mink��n maan tunnus standardissa ISO 3166-1, vaikka se kyrillisill� kirjaimilla kirjoitettuna [РФ] on Ven�j�n federaation ccTLD Internetiss�).
- Positioissa 3..4 on tarkiste, joka lasketaan aivan samoin kuin IBAN:issa. Tarkistuksessa voidaan k�ytt�� samaa yksinkertaistettua menettely� kuin IBAN:issa.
- Painetussa muodossa ryhmittely nelj�n merkin ryhmiin vasemmalta alkaen kuten IBAN:issa. Konekielisen� yhten�inen merkkijono.
- Viitteen sis�lt� on enint��n 21 merkki� pitk�, numerot 0..9 ja kirjaimet A..Z ovat sallittuja. Kokonaispituus on siis enint��n 25 merkki�. Sis�ll�n minimipituutta standardi ei m��rittele, joten yhdenkin merkin pit�isi riitt��.
- Viitteen sis�ll�ss� my�s pienet kirjaimet ovat sallittuja, mutta ne ovat tarkistetta laskettaessa samanarvoisia kuin isot kirjaimet, joten RF-viitett� ei pit�isi muodostaa niin, ett� sen merkitys riippuu isojen ja pienten kirjainten v�lisest� erosta. Ero voi kadota matkan varrella, eik� tarkiste paljasta t�llaista muutosta. Tekem�ni ohjelmat eiv�t tuota viitteisiin pieni� kirjaimia, mutta sallivat ne tarkistuksessa.
- Viitteen sis�ll�n mahdolliset etunollat (tarkistetta seuraavat nollat) eiv�t vaikuta tarkisteeseen. Jotkin tietoj�rjestelm�t saattavat poistaa t�llaiset nollat viitteit� k�sitelless��n; esim. suomalaisesta pankkiviivakoodista (versio 5) on yleens� mahdotonta p��tell�, onko viitteen sis�ll�ss� alun perin ollut etunollia. Koska etunollat ovat hy�dytt�mi�, suosittelen niist� aiheutuvan turhan ty�n j�tt�mist� teett�m�tt�, vaikka suureksi ongelmaksi ne muodostuvat vain jos joku k�ytt�� niit� kuvitellen niiden olevan merkitsevi� (nollien katoaminen voi esim. est�� huonosti kirjoitettua ohjelmaa tunnistamasta l�hetetty� ja vastaanotettua viitett� samaksi). Tekem�ni ohjelmat eiv�t tuota etunollia RF-viitteiden sis�ll��n, ja poistavat etunollat RF-viitteit� tarkistettaessa. – Kaikki t�m� siis koskee viitteen sis�lt��; tarkiste voi alkaa nollalla.
- Finanssialan keskusliiton julkaisussa "Kansainv�lisen viitteen k�ytt��notto suomalaisessa yrityksess� 1.12.2010" sanotaan (sivu 4, kappale 2.2): "Suomessa k�ytett�v� kansainv�linen viite on muodostettava nykyisest� suomalaisen standardin mukaisesta viitteest�." T�ll�in sis�ll�ss� ei tietenk��n voi k�ytt�� kirjaimia, ja sis�lt��n on liitett�v� kotimaisen viitenumeron tarkiste. Laskun voi maksaa joko viitenumerolla tai RF-viitteell�, ja molemmissa tapauksissa vastaanottajalle v�littyy sama viitetieto. Pankkiviivakoodistandardista ei viel� ole versiota, joka sallisi kirjainten k�yt�n viitteen sis�ll�ss�, vaikka versio 5 k�ytt�� RF-viitett�.
- Viitteen sis�ll�n loppuun liitet��n RF ja kaksi nollaa (C2H5OHRF00).
- Korvataan kukin kirjain numeroparilla Taulukon 1 mukaisesti (1221752417271500).
- Lasketaan n�in saadusta luvusta modulo 97. Tarvittaessa katso Jakoj��nn�s ja kongruenssi, jossa kerrotaan my�s miten lasketaan jakoj��nn�s suuresta luvusta.
- Jakoj��nn�s (1) v�hennet��n 98:sta. Tulos (97) on tarkiste.
- Jos tulos on pienempi kuin 10, lis�t��n etunolla. Tarkisteen mahdolliset arvot ovat siis 02..98.
- Liitet��n RF ja kaksinumeroinen tarkiste viitteen sis�ll�n eteen (RF97C2H5OH, paperimuodossa RF97 C2H5 OH).
- Siirret��n RF ja tarkiste viitteen loppuun (C2H5OHRF97).
- Korvataan kirjaimet numeropareilla (1221752417271597).
- Jaetaan saatu luku 97:ll�.
- Jos RF-viite on virheet�n, jakoj��nn�s on 1 (n�in tapahtuu esimerkiss�).
L�hteen� on monien muiden ohella k�ytetty Finanssialan keskusliiton (FK) julkaisua "Kansainv�lisen viitenumeron (ISO 11649) rakenne ja tarkisteen laskenta 1.11.2009". Julkaisussa oli alun perin virhe, jonka korjaaminen kesti kauan. Korjauksen yhteydess� p�iv�yst� ei muutettu, eik� korjauksesta ole mit��n mainintaa, joten eri versioiden erottaminen on vaikeaa jos ei tied� mist� on kysymys. Jos k�yt�t em. julkaisua, varmista ett� se on haettu FK:n kotisivulta 23.07.2011 tai my�hemmin.
IPI:n maksunaihekoodi
RF-viite korvannee maksunaihekoodin useimmissa tapauksissa 01.12.2010 alkaen.Kansainv�lisess� maksuliikenteess� k�ytett�v�n IPI:n (International Payment Instruction) suomalaista viitenumeroa vastaavan maksunaihekoodin (Details of payment) tarkistus tehd��n hyvin samantapaisella menetelm�ll� kuin IBAN:in. Maksunaihekoodin maksimipituus ilman tarkistetta on 18 merkki�. Numerot 0..9 ja isot kirjaimet A..Z ovat sallittuja. Koodi on m��ritelty ECBS:n (European Committee for Banking Standards) standardissa EBS206 (European Banking Standard). Tarkisteen laskenta:
- Korvataan kirjaimet numeroilla aivan samoin kuin IBAN:in tarkistuksessa.
- Lis�t��n loppuun kaksi nollaa.
- Lasketaan n�in saadusta luvusta modulo 97. Tarvittaessa katso Jakoj��nn�s ja kongruenssi, jossa kerrotaan my�s miten lasketaan jakoj��nn�s suuresta luvusta.
- Jakoj��nn�s v�hennet��n 98:sta. Jos tulos on yksinumeroinen, lis�t��n etunolla (esim. 98 - 94 = 04). N�in saatu kaksinumeroinen luku on tarkiste.
- Alkuper�isen maksunaihekoodin alkuun lis�t��n tarvittaessa nollia niin, ett� pituudeksi tulee 18 merkki�.
- Lis�t��n alkuun tarkiste, jolloin kokonaispituus on 20 merkki�.
- Painetussa muodossa maksunaihekoodi jaetaan v�lily�nneill� nelj�n merkin ryhmiin.
- 567812F48K012 → 567812154820012
- 567812154820012 → 56781215482001200
- 56781215482001200 mod 97 = 44
- 98 - 44 = 54
- 567812F48K012 → 00000567812F48K012
- 00000567812F48K012 → 5400000567812F48K012
- 5400000567812F48K012 → 5400 0005 6781 2F48 K012
Maksun aihe voi vaihtoehtoisesti olla enint��n 35 merkki� pitk� vapaamuotoinen merkkijono, johon ei liity tarkistetta. IPI:ss� on varattu kentt� sen ilmoittamiseen, kumpaa muotoa k�ytet��n.
Moduli 34
Coden
Coden on kuusimerkkinen tunnus, joita yhdysvaltalainen Chemical Abstracts Service (CAS) antaa julkaisuille. Tunnuksen saa ilmaiseksi, luetteloa julkaisuista ja niiden tunnuksista myyd��n kalliilla hinnalla. Tunnuksia on kahta p��tyyppi�:- Sarjamuotoiset julkaisut: AAAAET, jossa AAAA on julkaisun nimest� johdettu mnemoninen (muistamista tukeva) koodi, E erottaa toisistaan koodit jotka muuten olisivat samanlaisia ja T on tarkiste.
- Yksitt�iset julkaisut: NNAAGT, jossa NNAA on julkaisun tunniste ja kaksi viimeist� merkki� ovat kuten edell�.
Esimerkkej�: JPERFA, 53AKAE
Jotkin l�hteet esitt�v�t Codenin ilman tarkistetta. Lis�ksi Codenin sijasta k�ytet��n joskus 00-alkuista koodia, jossa ei ole t�m�n kuvauksen mukaista tarkistetta.
Tarkisteen laskenta:
- Jokainen tarkistettava merkki korvataan numeroarvolla seuraavien taulukoiden
mukaisesti:
Merkki A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Arvo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Merkki 1 2 3 4 5 6 7 8 9 0 Arvo 27 28 29 30 31 32 33 34 35 36 - Saadut arvot kerrotaan painokertoimilla, jotka ovat vasemmalta oikealle 11, 7, 5, 3, ja 1.
- Tulot lasketaan yhteen.
- Summa jaetaan 34:ll�.
- Jos jakoj��nn�s on 1..26, tarkiste on kirjain joka saadaan k�ytt�m�ll� eo.
taulukkoa k��nteisesti. Muussa tapauksessa tarkiste on numero 2..9, joka saadaan
seuraavasta taulukosta:
Jakoj��nn�s 27 28 29 30 31 32 33 0 Tarkiste 2 3 4 5 6 7 8 9
C Y S T E 3 3 25 19 20 5 11 7 5 3 1 33 175 95 60 5 = 368 ≡ 28 (mod 34) → 3Esimerkki 2: 48THAM
4 8 T H A M 30 34 20 8 1 11 7 5 3 1 330 238 100 24 1 = 693 ≡ 13 (mod 34) → MHuom! T�m� kuvaus ei tarkisteen laskennan osalta perustu mihink��n julkaistuun dokumenttiin, vaan yli 2200 aidon Codenin analysointiin. Tutkituista koodeista 20 (alle 1 %) ei l�p�ise t�ss� kuvattua tarkistusta, mutta niist� 19 on ilmeisi� lukuvirheit�, eli joku on lukenut merkin toiseksi hiukan samann�k�iseksi tai samalta kuulostavaksi, ja t�m� v��r� merkki on sitten n�pp�ilty. 16 tapauksessa virhe oli tarkisteessa ja vain 3 tapauksessa varsinaisessa koodissa, joten tekee mieli v�itt�� ett� t�m� menetelm� aiheuttaa itse useimmat niist� virheist�, jotka sen avulla havaitaan. Yhden virheen syntytapa j�i arvoitukseksi; koodi on aivan erilainen kuin ao. julkaisussa. Kuten muutkin kokemukset osoittavat, samat virheelliset koodit l�ytyv�t Internetist� monelta sivulta, mik� viittaa siihen ett� niit� kopioidaan paikasta toiseen ilman tarkistusta. My�s oikeat versiot l�ytyv�t; kaikissa 20 tapauksessa olen varmistanut, ett� oikeiksi tulkitsemani versiot ovat todellisia, k�yt�ss� olevia koodeja.
Codenin tarkistuksesta olen kirjoittanut my�s englanninkielisen kuvauksen, koska sellaista ei n�yt� Internetist� muualta l�ytyv�n. Kuvaus sis�lt�� hieman lis�tietoja em. virheellisist� koodeista.
Moduli 31
T�t� menetelm�� k�ytet��n henkil�tunnuksen, s�hk�isen asiointitunnuksen, kiinteist�tunnuksen ja Tapiolan vakuutusnumeron tarkistamiseen.Suomalainen henkil�tunnus (HETU)
HETU:n tarkistusohjelmaHenkil�tunnuksen avulla ihmiset pystyt��n yksil�im��n erilaisissa hallinnollisissa tietoj�rjestelmiss�.
Vuoteen 1964 saakka tunnuksen nimi oli ty�el�kekortin numero, ja niit� antoi El�keturvakeskus (ETK) vuosina 1962..1972. My�hemmin niit� jakoi my�s Kansanel�kelaitos (Kela) vuosina 1964..1974. Vuosina 1964..1970 tunnistetta nimitettiin sosiaaliturvatunnukseksi eli sotuksi. Vuoden 1971 alusta nimi on ollut henkil�tunnus, ja nykyisin sellaisen antaa V�est�rekisterikeskus (VRK) jokaiselle Suomen kansalaiselle, sek� ulkomaalaisille joilla on Suomessa kotipaikka. T�m�n mukaisesti on joskus k�ytetty my�s nime� v�est�rekisteritunnus. V�est�rekisterikeskuksen kotisivulla annettu englanninkielinen nimi on Personal Identity Number, joka lienee virallinen k��nn�s. T�m� voidaan lyhent�� PIN, mutta on muistettava ett� samaa lyhennett� k�ytet��n my�s muista koodeista. Henkil�tunnus on m��ritelty V�est�tietoasetuksessa (886/1993).
Henkil�tunnus on muotoa PPKKVVSNNNT, jossa:
PPKKVV | Syntym�aika; p�iv�, kuukausi ja kaksi viimeist� numeroa vuosiluvusta; tarvittaessa k�ytet��n etunollia. My�s 29.2. voi olla henkil�tunnuksessa syntym�p�iv�n�, esim. 290272. |
SNNN | Yksil�numero |
S | Vuosiluvun kaksi ensimm�ist� numeroa osoittava v�limerkki, "+" 1800-luvulla syntyneill�, "-", "U", "V", "W", "X" tai "Y" 1900-luvulla syntyneill�, "A", "B", "C", "D", "E" tai "F" 2000-luvulla syntyneill� (asetus 690/2022). K�ytet��n isoja kirjaimia. |
NNN | Kolminumeroinen luku, etunollitettu, naisilla parillinen, miehill� pariton. Sukupuolen selvitt�miseen riitt�� tietysti kent�n viimeisen numeron tutkiminen. |
T | Tarkistusmerkki. |
Tarkistusmerkin laskenta: Numeroiden PPKKVVNNN muodostama luku jaetaan 31:ll�. Jos jakoj��nn�s on yksinumeroinen, se on tarkistusmerkki. Muuten jakoj��nn�s m��r�� tarkistusmerkkin� k�ytett�v�n kirjaimen seuraavasti:
10 A | 11 B | 12 C | 13 D | 14 E | 15 F | 16 H |
17 J | 18 K | 19 L | 20 M | 21 N | 22 P | 23 R |
24 S | 25 T | 26 U | 27 V | 28 W | 29 X | 30 Y |
Esimerkki: 120464-126J
- "-" osoittaa ett� henkil� on syntynyt 1900-luvulla
- 12.04.1964 on muodollisesti virheet�n p�iv�m��r�
- 126 on parillinen, joten kyseess� on nainen
- 120464126 mod 31 = 17 → J joten tunnus hyv�ksyt��n
Mahdollisia lis�tarkistuksia: P�iv�m��r�n muoto voidaan tarkistaa – ja kannattaa tarkistaa, sill� tarkistemerkki paljastaa tietyt p�iv�m��r�kent�n sis�lt�virheet varmuudella vain jos p�iv�ys on muodollisesti virheet�n; vrt. Ruotsalainen henkil�tunnus. Miss��n virheett�m�ss� henkil�tunnuksessa ei voi esiinty� syntym�aikoja, jotka ovat varhaisempia kuin 1850. Tulevaisuuteen sijoittuvien syntym�aikojen pit�isi my�s olla mahdottomia (henkil�tunnuksia ei anneta etuk�teen). Tapauksesta riippuen rajaus voisi olla tiukempi; esim. hyv�ksyt��n vain t�ysi-ik�iset henkil�t. Yksil�numero ei koskaan ole pienempi kuin 002. Kaikki teoriassa mahdolliset syntym�vuoden ja yksil�numeron yhdistelm�t eiv�t ole oikeasti k�yt�ss�.
V�limerkki ei vaikuta tarkisteeseen. Katso kohtaa Muutosten ennakointi.
Henkil�tunnuksen p��asiallinen kehitt�j� oli henkivakuutusyhti� Salaman johtaja, matemaatikko ja sota-ajan legendaarinen salakirjoitusekspertti Erkki Pale, joka oli lainattu suunnittelup��llik�ksi ETK:n tietojenk�sittely� hoitaneeseen Oy Tietokonepalvelu Ab:hen. Apuna toimi matemaatikko Matti Kurimo. Mallia otettiin ruotsalaisesta henkil�tunnuksesta, mutta syntym�ajan j�rjestys vaihdettiin, v�limerkin k�ytt�� selkiytettiin ja tarkiste lis�ttiin (ruotsalaisessa tunnuksessa tarkiste otettiin k�ytt��n viisi vuotta my�hemmin).
Ajokorteissa, Kela-korteissa ja vuoden 2004 kes�kuusta alkaen annetuissa henkil�kortin ja Kela-kortin yhdistelmiss� on henkil�tunnuksen sis�lt�v� Code 39 -viivakoodi, joka voidaan lukea mm. kauppojen hinnantarkistuspisteiss�, vaikka ne on tarkoitettu Tuotekoodien lukemiseen. Jotkin laitteet saattavat antaa pelk�n virheilmoituksen tuntemattomasta tuotteesta, mutta toiset n�ytt�v�t lis�ksi lukemansa tunnuksen. Jos henkil�tunnuksesi tunnistetaan tuotteeksi, voi olla syyt� huolestua.
Olen n�hnyt sanomalehdess� kuvan aidosta ajokortista, josta henkil�tunnus (t�ss� tapauksessa tarkkaan ottaen ajokortin numero) oli poistettu, mutta viivakoodi oli j�tetty n�kyviin. Vaikka koodin loppuosa oli hiukan tuhruinen, tunnuksen 280264-051U lukeminen onnistui ensimm�isell� yrityksell�, osittain siksi ett� ko. viivakoodi siet�� h�iri�it� melko hyvin. Henkil�tunnus on t�ss� suhteessa poikkeuksellisen helppo kohde. Saman lehden toisessa numerossa passin tunnistetietosivulta varsinainen henkil�tunnus oli peitetty peukalolla, mutta alemmalta koneellisesti luettavalta rivilt� tunnus 140457-107D oli helposti n�ht�viss�. Pelk�n tunnuksen tiet�minen ei vie pitk�lle, mutta koska artikkeleissa kerrottiin my�s muita tietoja kuten nimi, kotipaikka ja ammatti, t�m� on selv� tietoturvariski.
Lehtitietojen mukaan erityisesti Pohjois-Suomessa aikaisemmilla vuosikymmenill� syntyneiden henkil�iden syntym�p�iv�t on monesti kirjattu v��rin. Tietoja on ilmeisesti kirjattu nipuissa kunkin kuukauden 15. ja viimeinen p�iv�, jonka vuoksi n�m� p�iv�t esiintyv�t syntym�p�ivin� tavallista useammin. Yleis�lt� maaliskuussa 2003 saatujen tietojen mukaan nykyisinkin esiintyy tapauksia, joissa henkil�n tarkkaa syntym�p�iv�� ei tiedet� (esim. pakolaiset), jolloin p�iv�ksi usein kirjataan 0101, mik� voi my�hemmin korjaantua, jos tarkempia tietoja saadaan. Molempien ilmi�iden kerrotaan n�kyv�n tilastopiikkein�.
Olen tuntenut henkil�n, joka ei ollut tunnistanut omaa syntym�aikaansa henkil�tunnuksessaan ("ylim��r�iset" nollat h�m�siv�t), eik� sen vuoksi ollut oppinut "pitk��" numerosarjaa ulkoa.
S��nn�llinen lauseke (Regular expression, RegEx)
T�ydellisen muototarkistuksen tekeminen henkil�tunnukselle s��nn�llisen lausekkeen avulla olisi luultavasti vaikeampaa kuin saman asian hoitaminen ohjelmakoodissa, mutta aika pitk�lle p��see t�ll�:/^(0[1-9]|[12]\d|3[01])(0[1-9]|1[0-2])([5-9]\d\+|\d\d[-U-Y]|[0-2]\d[A-F])\d{3}[\dA-Z]$/
Luettavuuden parantamiseksi sama v�lily�nneill� ryhmiteltyn�. Huomaa ett� t�m� ei toimi kaikissa ohjelmointikieliss� (ryhm�t ovat p�iv�, kuukausi, vuosi & v�limerkki, juokseva numero ja tarkiste):
/^ (0[1-9]|[12]\d|3[01]) (0[1-9]|1[0-2]) ([5-9]\d\+|\d\d[-U-Y]|[0-2]\d[A-F]) \d{3} [\dA-Z] $/x
Rajoituksia:
- Lauseke varmistaa ett� kuukauden p�iv� on 01..31 ja kuukausi 01..12, mutta ei ota huomioon kuukausien pituuksia. T�m�kin riitt�� takaamaan, ett� 42. p�iv� tuohikuuta ei kelpaa syntym�p�iv�ksi.
- Lauseke sallii vuosiluvut 1850..2029. 1800-luvun hyv�ksynn�n voi haluttaessa j�tt�� pois. Lauseketta on p�ivitett�v� ennen vuotta 2030, tai lauseke voidaan tuottaa ohjelmallisesti.
- Lauseke sallii yksil�numerot 000..999, vaikka todellisuudessa numerot alkavat 002:sta.
- Lauseke sallii tarkisteena 26 kirjainta A..Z, vaikka vain 21 kirjainta on todella k�yt�ss� (voidaan odottaa ett� luvattomat kirjaimet havaitaan tarkistetta laskettaessa).
- Lauseke edellytt�� isoja kirjaimia, mutta jos ohjelma ei t�llaisessa tapauksessa muuta k�ytt�j�n sy�tt�mi� pieni� kirjaimia isoiksi, ohjelman kirjoittaja syyllistyy t�rke��n laiskuuteen. K�ytt�j�� ei pid� rasittaa t�llaisilla pikkuasioilla ilman todella hyv�� syyt�. Tietokannassa tms. on joka tapauksessa aiheellista k�ytt�� isoja kirjaimia.
Henkil�tunnuksen k�ytt� Suomessa
Ihmisest� voisi luoda aika kattavan profiilin yhdist�m�ll� kaikki tiedot joihin liittyy henkil�tunnus tai toteamalla ett� jotakin tietoa ei l�ydy. Olen yritt�nyt luetella t�ss� joitakin mieleen tulleita asioita, joita Suomen kansalainen tai sellaisena esiintyv� ei tiet��kseni voi Suomessa tehd� – ainakaan laillisesti – ilman henkil�tunnusta:- Asua miss��n (ei voi tehd� ilmoitusta maistraattiin)
- Tehd� ansioty�t� tai asioida ty�voimatoimistossa
- Hankkia ajokorttia
- Solmia avioliittoa
- Vaihtaa etu- tai sukunime�
- Olla holhouksen alaisena tai t�llaisen henkil�n edunvalvojana
- Y�py� hotellissa, motellissa tms.
- Hoitaa julkista luottamusteht�v�� (kansanedustaja, kunnanvaltuutettu ym.)
- Toimia j�rjestyksenvalvojana
- Tehd� kaivosvaltausta
- Hankkia kirjastokorttia
- Opiskella koulussa tai muussa oppilaitoksessa
- Mets�st��
- K�ytt�� neuvola- tai terveyspalveluja, ml. silm�lasien hankkiminen optikolta
- Avata pankkitili� → ei pankki- tai luottokorttia, ei pankkilainaa (ei my�sk��n kirjautumista pankkitunnuksia vaativiin palveluihin Internetiss� eik� k�ytt�oikeutta toisen pankkitiliin)
- Saada panttilainaa
- Saada perint��
- Ottaa vastaan kirjattua tai vakuutettua postil�hetyst�, tai mit� tahansa postil�hetyst� pelk�ll� l�hetystunnuksella (ilman saapumisilmoitusta), jos posti vaatii henkil�tunnuksen
- Toimia radioamat��rin� tai harrastuslent�j�n�
- Saada rekister�idyksi kiinte�� omaisuutta, tai useita muita rekister�it�vi� omaisuuden lajeja (ml. arvo-osuusj�rjestelm��n merkitt�v�t arvopaperit, useimmat moottoriajoneuvot ja kaikki tuliaseet)
- Kuulua rekister�ityyn uskonnolliseen yhdyskuntaan
- Toimia rekister�idyn yhdistyksen puheenjohtajana tai nimenkirjoittajana
- Antaa tai saada rekister�it�v�� lahjaa
- Tehd� rikosilmoitusta
- Saada sosiaaliturvaa tai el�kett�
- Toimia s��ti�n hallituksessa
- Matkustaa ulkomaille (passi, henkil�kortti)
- Ottaa vakuutusta
- ��nest�� valtiollisissa tai kunnallisissa vaaleissa tai kansan��nestyksess�
- Luovuttaa verta
- Lis�ksi monilla yrityksill� ja laitoksilla on oikeus kielt�yty� lainauksesta, vuokrauksesta tai j�lkik�teen laskutettavien tavaroiden tai palvelujen toimittamisesta henkil�ille, jotka eiv�t ilmoita henkil�tunnustaan
- Listan toinen kohta kattaa jo kaikki ammatit, joihin liittyy jokin ilmoitusvelvollisuus, luvanvaraisuus tai rekister�ityminen (esim. toiminta ammattilent�j�n�).
- T�ss� ei kaivata mit��n kuukausilippujuttuja, vaan p��s��nt�isesti asioita jotka jollakin tavalla perustuvat s��d�kseen tai viranomaism��r�ykseen.
Olen lukenut v�itteen, ett� Suomessa olisi satoja suomalaisia, joilla ei ole henkil�tunnusta ja jotka siis puuttuvat v�est�tietoj�rjestelm�st�. Mit��n perustelua ei tietenk��n esitetty. Asia on luonteeltaan vaikeasti tilastoitava, mutta en oikein osaa kuvitella, ett� tilanne Suomessa voisi hyvin oleellisesti poiketa Tanskasta: Lukemani tutkimuksen mukaan siell� tavattiin 15 vuoden aikana kuolleina vain kaksi ihmist�, joita ei l�ytynyt v�est�tietoj�rjestelm�st�, vaikka olisi pit�nyt. Ekstrapoloimalla tunnuksettomien ihmisten kokonaism��r�ksi saadaan noin kymmenen. Menetelm� ei tietenk��n ole t�ysin luotettava, mutta antanee suuruusluokan. Veikkaan ett� se antaa paremminkin yl�- kuin alarajan.
Henkil�tunnukset muissa maissa
Suomalaista vastaava henkil�tunnus ei ole aivan yleismaailmallinen ilmi�, mutta mm. Pohjoismaissa ja Baltiassa niit� k�ytet��n. Tunnukset ovat hiukan eri muotoisia, mutta kaikki sis�lt�v�t l�hes t�sm�lleen samat tiedot: Yksil�numero, sukupuoli (paitsi ehk� Islannissa ja Latviassa), tarkiste ja syntym�aika, jossa vuosiluku on kaksinumeroinen mutta kaksi ensimm�ist� numeroa ovat p��telt�viss� jostakin muusta kohdasta. Viel� oleellisempaa on se, ett� tunnuksia k�ytet��n paljolti samalla tavalla. Muuallakin tunnuksia toki on, mutta niiden k�yt�ss� on suurta vaihtelua. Aivan ilmeisesti yhdess�k��n Pohjoismaassa ei ole alun perin otettu kunnolla huomioon sit�, ett� tunnukset eiv�t saisi loppua kesken edes muutamassa vuosisadassa. Esim. Virossa t�m� on ymm�rretty, mutta siell� koko j�rjestelm� onkin paljon uudempi.Taulukko on osittain koottu ep�virallisten l�hteiden perusteella.
Islanti | PPKKVV-NNTS (kennitala) |
S: Vuosiluvun kaksi ensimm�ist� numeroa osoittavaa numeroa ei oteta huomioon
tarkistetta laskettaessa Tunnuksesta ei (luultavasti) voi p��tell� sukupuolta |
Latvia | PPKKVV-NNNNT (personas kods) |
NNNN: Ensimm�inen numero saattaa osoittaa vuosiluvun kaksi ensimm�ist�
numeroa Tunnuksesta ei voi p��tell� sukupuolta |
Liettua, Viro | SVVKKPPNNNT (asmens kodas, isikukood) |
S: Numero osoittaa sek� henkil�n sukupuolen ett� vuosiluvun kaksi ensimm�ist� numeroa |
Norja | PPKKVVNNNTT (f�dselsnummer) |
NNN: Yksil�numero osoittaa my�s henkil�n sukupuolen ja yhdess� vuosiluvun kahden
viimeisen numeron kanssa vuosiluvun kaksi ensimm�ist� numeroa TT: Tarkisteita on kaksi |
Ruotsi | VVKKPPSNNNT (personnummer) |
S: V�limerkki vaihdetaan kun henkil� t�ytt�� sata vuotta; v�limerkki� ei oteta
huomioon tarkistetta laskettaessa NNN: Yksil�numero osoittaa my�s sukupuolen |
Suomi | PPKKVVSNNNT (henkil�tunnus) |
S: Vuosiluvun kaksi ensimm�ist� numeroa osoittavaa v�limerkki� ei oteta huomioon
tarkistetta laskettaessa NNN: Yksil�numero osoittaa my�s sukupuolen |
Tanska | PPKKVV-SNNT (CPR-nummer, personnummer) |
S: Yksil�numeron ensimm�inen numero yhdess� vuosiluvun kahden viimeisen numeron
kanssa osoittaa vuosiluvun kaksi ensimm�ist� numeroa T: Tarkiste osoittaa my�s sukupuolen; tammikuussa 2005 ilmoitettiin, ett� tulevaisuudessa viimenen numero ei en�� toimi tarkisteena |
Joskus n�kee my�s mainintoja "tulossa olevasta EU-henkil�tunnuksesta", mutta sit� saatanee ainakin virallisesti odottaa viel� pitk��n, sill� kaikissa maissa ei ole Pohjoismaistyyppist� v�est�tietoj�rjestelm��, ja historiallisista syist� esim. Saksa hyvin luultavasti vastustaa t�llaista tunnusta kaikin keinoin. Portugalissa perustuslaki nimenomaan kielt�� yleisk�ytt�iset henkil�tunnukset. Tietysti on mahdollista, ett� vainoharhainen terroristijahti muuttaa ainakin hallitusten n�kemyksi�.
01.06.2004 otettiin ETA-maissa ja Sveitsiss� k�ytt��n Eurooppalainen sairaanhoitokortti (European Health Insurance Card, EHIC-kortti). Jos kortissa oleva numero on Euroopan laajuisesti yksil�iv� (kuten hyvin luultavasti on), se voi my�hemmin vaivihkaa levit� muuhun k�ytt��n, koska monissa maissa on n�hty ett� siihen t�llaisilla tunnuksilla on hyvin suuri potentiaali. Er��t yksityisyytt� puolustavat kansalaisj�rjest�t tuomitsivat kortin jyrk�sti jo ennen sen k�ytt��nottoa. Kortti on kuitenkin toistaiseksi vain harvoilla, koska sit� ei anneta pyyt�m�tt�. – My�hempi havainto: Numero ei pysy samana kortin vaihtuessa, mik� vaikeuttaa numeron k�ytt�� henkil�n yksil�intiin.
Esimerkiksi Yhdysvalloissa k�ytett�v� Social Security Number (SSN) ja Kanadassa k�ytett�v� Social Insurance Number (SIN) eiv�t vastaa Suomalaista henkil�tunnusta, koska niit� ei ole annettu kaikille kansalaisille.
Suomalaisen henkil�tunnuksen yksil�numerosta
Henkil�tunnusten yksil�numeroista liikkuu paljon v��ri� tietoja, joiden levitt�miseen syyllistyv�t joskus sellaisetkin henkil�t, jotka voisivat helposti p��st� k�siksi luotettaviin ensik�den tietoihin ennen kuin puhuvat l�pi� p��h�ns�. Yrit�n t�ss� oikoa er�it� vastaan tulleita virheit�, vaikkei asia varsinaisesti t�h�n dokumenttiin kuulukaan. Ne joita asia ei kiinnosta, voivat toki ohittaa t�m�n kappaleen.Havaintoja k�yt�nn�st�
Muita havaintoja
1900-luvulla numeroita on p��s��nt�isesti jaettu siten, ett� numerointi aloitetaan kunakin p�iv�n� 002:sta (tyt�t) tai 003:sta (pojat). Tunnuksia jakoi siis ensin El�keturvakeskus ja my�hemmin Kansanel�kelaitos, mutta 1964..1972 molemmat jakoivat tunnuksia samanaikaisesti. Jottei samaa tunnusta annettaisi kahdelle ihmiselle, ETK jakoi 1946 ja sit� ennen syntyneille numeroita v�lilt� 002..449 ja Kela v�lilt� 450..999. 1947 ja sen j�lkeen syntyneille Kela jakoi numeroita v�lilt� 002..549 ja ETK v�lilt� 550..999. (Tuo on siis se, miten asia kerrotaan, mutta n�it� isompia numeroita ETK jakoi n�ht�v�sti vain muutamana vuotena syntyneille, eik� alaraja v�ltt�m�tt� pid� paikkaansa.) Jotta mahdollisimman harvoille ihmisille tulisi useampia tunnuksia, laitokset vaihtoivat tietoja, mutta reaaliaikaisia j�rjestelmi� ei tuolloin ollut. Numeroita ei siis ole aina jaettu aukottomina sarjoina, kuten joskus luullaan. L�hde: Tietotekniikan alkuvuodet Suomessa, Suomen Atk-kustannus Oy, 1993, ISBN 951-762-182-5, ss. 189..204, Henkil�tunnus: Kansalaisen tunnistusongelman ratkaisu 1960-luvulla.
Aikalaismuistikuvana minulle on kerrottu, ett� Kela antoi tunnuksia aluksi vain niille, jotka joutuivat tekemisiin Kelan kanssa joko sosiaaliturvaan tai terveyshuollosta maksettaviin korvauksiin liittyen, ja vasta kun suurin osa ty�el�kkeiden piiriin kuulumattomista oli saanut tunnuksensa t�ll� tavalla, tunnukset jaettiin yhten� massaoperaationa kaikille, joilta sellainen viel� puuttui – tai yritettiin jakaa, ihan kaikkien kohdalla t�m� ei tietysti onnistunut, vaan yksitt�istapauksissa tunnuksia annettiin my�hemminkin. Tuo massaoperaatio tapahtui ehk� vasta kirjanpidon siirrytty� VRK:lle.
Yksil�numerot 000 ja 001 eiv�t ole k�yt�ss�. Syy t�h�n ei n�yt� en�� olevan edes V�est�rekisterikeskuksen ylitarkastajan tiedossa. Asia on p��tetty ETK:ssa, p��tt�j�t ovat j��neet el�kkeelle, monet jo kuolleetkin, eiv�tk� he ilmeisesti dokumentoineet perustelujaan. Oma arvaukseni on, ettei kenenk��n haluta olevan ykk�nen (eik� my�sk��n t�ysi nolla), aivan samoin kuin vaaleissa ei ole ehdokasta numero yksi. Numeroinnin alkaminen kakkosesta on kuitenkin kiistaton fakta.
Nykyisin numeroiden jakaminen ilmeisesti aloitetaan kunakin p�iv�n� 500:sta tai jostakin sit� suuremmasta numerosta. T�ss� kohdassa, kuten joissakin muissakin teksteiss�, on aikaisemmin annettu ymm�rt��, ett� muutos suurempiin numeroihin olisi tapahtunut 01.01.2000, mutta er��n henkil�rekisterin ja muun aineiston tutkiminen on johtanut p��telm��n, ett� muutos onkin tapahtunut jo 01.07.1997. Syy muutokseen voisi olla 01.07.1962 voimaan tullut Ty�ntekij�in el�kelaki (TEL, 395/1961), jonka nojalla pieni� yksil�numeroita alettiin jakaa 01.07.1897 ja my�hemmin syntyneille, jolloin sata vuotta my�hemmin olisi tullut tarve siirty� suurempiin numeroihin – tosin alun perin tunnuksia jaettiin vain poikkeustapauksissa ennen 01.07.1907 syntyneille, koska laki p��s��nt�isesti ei koskenut niit�, jotka olivat t�ytt�neet 55 vuotta lain tullessa voimaan.
Sadan vuoden v�lein syntyneille ei ole aikaisemmin annettu samoja yksil�numeroita, mutta joulukuusta 2023 alkaen on mahdollista antaa tunnuksia, jotka eroavat muista vain v�limerkin kohdalla. Toiselle henkil�lle ei kuitenkaan anneta tunnusta, joka on kerran jollekulle annettu, vaikka tunnus jostakin syyst� poistuisi k�yt�st� (mahdollisia syit� on useita).
Joskus tapaa v�itteit� joiden mukaan Suomessa asuville ulkomaalaisille ja er�ille muille ryhmille annettaisiin henkil�tunnuksia, joissa yksil�numerointi aloitetaan esim. 700:sta tai jostakin viel� suuremmasta luvusta. Er��n tuntemani alankomaalaisen vuonna 1998 annetussa suomalaisessa henkil�tunnuksessa yksil�numero on pienempi kuin 300. Er��n pakolaisena Suomeen tulleen ja my�hemmin Suomen kansalaisuuden saaneen irakilaisen henkil�tunnuksessa yksil�numero on pienempi kuin 200, ja tunnus on pysynyt samana alusta alkaen. Teoria ei siis ainakaan n�iss� tapauksissa ole oikea. Hiukan per�� t�llaisissa v�itteiss� silti on: Yksil�numerot 900..999 on varattu organisaatioiden sis�iseen k�ytt��n. Ainakin Helsingin ja Jyv�skyl�n yliopistot ovat antaneet t�llaisia tunnuksia ulkomaisille opiskelijoilleen ja/tai ty�ntekij�illeen, mutta n�m� eiv�t ole virallisia V�est�tietoj�rjestelm��n kirjattuja tunnuksia. Vastaavaa k�yt�nt�� harjoitetaan muissakin laitoksissa, kuten sairaaloissa, kun kyseess� on henkil� jolla ei ole aitoa suomalaista henkil�tunnusta, esim. ulkomaalaiset. K�yt�nt� on koskenut my�s vastasyntyneit�, mutta nykyisin kaikki sairaaloissa syntyv�t saavat heti pysyv�n henkil�tunnuksen. Ilmeinen tarkoitus on v�ltt�� p��llekk�isyytt� todellisten tunnusten kanssa ja tehd� n�m� laitosten sis�iset tunnukset helposti muista erottuviksi. Virallisissa henkil�tunnuksissa t�llainen erottelu antaisi varmasti joillekin tahoille aiheen valittaa syrjinn�st�, kuten Ruotsissa kerrotaan tapahtuneen. Onhan ihmisten jakamista eriarvoisiin ryhmiin ep�ilty jopa sill� perusteella, ett� jotkin henkil�tunnukset p��ttyv�t numeroon ja toiset kirjaimeen, vaikka t�m� asia m��r�ytyy t�ysin satunnaisesti. -->
Kuitenkin, joulukuusta 2023 alkaen uusia v�limerkkein� k�ytett�vi� kirjaimia jaetaan k�yt�nn�ss� vain maahanmuuttajille.
Kerrotaan ett� joillekin yksil�ille olisi annettu "v��r�n" sukupuolen henkil�tunnus, mutta V�est�tietoasetus velvoittaa maistraatit korjaamaan t�llaiset virheet viipym�tt�, joten kyseess� ei pit�isi olla pysyv� tilanne.
L�htein� on k�ytetty mm. Jere K�pyahon artikkelia Tarkista henkil�tunnus Pascalilla, Mikrobitti 1/2000, ss. 70..73, sek� saman kirjoittajan viesti� Internetin keskusteluryhm�ss� sfnet.atk.ohjelmointi 02.12.1999. Joitakin yksityiskohtia on tarkistettu tutkimalla n. 30 000 aitoa henkil�tunnusta.
S�hk�inen asiointitunnus (SATU)
V�est�rekisterikeskuksen (VRK) luonnolliselle henkil�lle antama S�hk�inen AsiointiTUnnus SATU on m��ritelty laissa 21.8.2009/661 ja asetuksessa 25.2.2010/128. Tunnus on julkinen ja sit� k�ytet��n – hyvin harvoin – s�hk�isen henkil�kortin (FINEID, Finnish Electronic ID Card) v�lityksell� henkil�n tunnistamiseen mm. Internetiss� erilaisia viranomaispalveluita k�ytett�ess�, ja se on samalla tavalla yksil�iv� kuin henkil�tunnus, mutta ei sis�ll� henkil��n liittyvi� tietoja, eli se on ns. "tyhm�" tunniste. SATU on keskeinen tekij� Henkil�n S�hk�isess� Tunnistamisessa (HST). Tunnuksessa on kahdeksan numeroa ja tarkiste, joka voi olla numero tai kirjain. Tarkiste lasketaan samalla periaatteella kuin henkil�tunnuksessa.Esimerkki: 10011187H (aito, l�ydetty V�est�rekisterikeskuksen kotisivulta)
10011187 mod 31 = 16 → H
SATU on englanniksi FINUID (Finnish Unique Identification Number).
Kiinteist�tunnus
V�est�tietoasetus (886/1993 14�) m��r��, ett� kiinteist�tunnuksessa voidaan (mutta ei ole pakko) k�ytt�� tarkistusmerkki�, joka lasketaan samalla periaatteella kuin henkil�tunnuksessa. Julkisen hallinnon suositus (JHS) numero 101 sis�lt�� asiasta yksityiskohtaisemman kuvauksen, mutta t�m� suositus on korvattu JHS 138:lla, josta tarkiste vain mainitaan. Kiinteist�rekisteriasetuksessa (970/1996), jossa muuten m��ritell��n kiinteist�tunnuksen muoto, tarkistetta ei edes mainita. Koska V�est�tietoasetuksen ja JHS 101:n mukaisia tarkisteita kuitenkin n�kee joskus (harvoin) k�ytett�v�n, kuvaus on otettu t�h�n dokumenttiin.Tunnus muodostuu nelj�st� osasta, jotka ovat (suluissa kyseisen osan pituus; kent�t etunollitetaan tarvittaessa):
- Kunta (3)
- Sijaintialue (3)
- Ryhm� (4)
- Yksikk� (4)
Tarkisteen laskeminen: Kiinteist�tunnus jaetaan 31:ll�. Jakoj��nn�s m��r�� tarkisteen kuten henkil�tunnuksessa. Esimerkki:
30100101130004 mod 31 = 21 → N
eli tarkisteellinen tunnus on 30100101130004N.
Yksi k�yt�nn�n ongelma on se, ett� 14-numeroisen luvun jakaminen voi tuottaa vaikeuksia joillekin ohjelmointikielille. Tarvittaessa katso Jakoj��nn�s ja kongruenssi, jossa kerrotaan my�s miten lasketaan jakoj��nn�s suuresta luvusta.
Tapiolan vakuutusnumero
Eri vakuutusyhti�ill� ei n�yt� olevan yhten�ist� k�yt�nt�� vakuutusnumeroiden (vakuutustunnusten) muodostamisessa. Havaituissa tapauksissa (12 kpl) Tapiolan vakuutusnumerot ovat muotoa 999-9999999-X, jossa "9" on numero ja "X" on tarkiste, joka lasketaan kuten Suomalaisessa henkil�tunnuksessa. Esimerkki: 353-3590353-K:3533590353 mod 31 = 18 → KMuiden vakuutusyhti�iden mahdollisesti k�ytt�mi� tarkisteita en ole onnistunut selvitt�m��n.
ISBN- ja ISSN-numero
Tuotekoodin muodostamiseen ISBN- tai ISSN-numerosta on olemassa standardimenettely. ISBN- tai ISSN-numero on my�s osa BICI tai SICI -tunnistetta.Samaa tarkistusta sovelletaan hiukan muunnellen moottoriajoneuvon sarjanumeroon sek� kemikaalin indeksi- ja EINECS-numeroon.
ISMN, ISWC, ISAN ja ISTC ovat rinnakkaisia j�rjestelmi�, mutta niiden tarkisteet lasketaan eri tavoilla.
ISBN-numero
ISBN-numeron tarkistusohjelmaT�ss� kuvattu ISBN-j�rjestelm� (ISO-standardi 2108) otettiin k�ytt��n vuonna 1972. 01.01.2007 se korvattiin uudella ISBN-13:lla, ja samalla tarkisteen laskentatapa vaihtui. Vanhan j�rjestelm�n kuvaus s�ilytet��n kuitenkin t�ss� dokumentissa, koska sen mukaisia koodeja on miljardeissa julkaisuissa, ja tulee olemaan pitk�lle tulevaisuuteen. Erotukseksi uudesta vanha j�rjestelm� tunnetaan nykyisin my�s nimell� ISBN-10.
ISBN = International Standard Book Number. T�llainen numero l�ytyy useimpien kirjojen takakannesta, mutta sen voi l�yt�� muistakin julkaisuista, kuten kartoista ja CD-ROM:eista. Numero muodostuu yhdeks�st� numerosta ja tarkistemerkist�, joka voi olla numero tai X-kirjain. ISBN-numero voidaan jakaa (standardin mukaan v�liviivoilla, mutta k�yt�nn�ss� joskus v�lily�nneill� tai pisteill�) nelj�ksi ryhm�ksi: Maa tai kielialue, kustantaja, nimike ja tarkistemerkki. Viimeisen� oleva tarkistemerkki on aina omana ryhm�n��n, mutta muuten ryhmien koot eiv�t ole kiinte�t, vaikka numeroiden kokonaism��r� on vakio. Kenttien mahdolliset etunollat ovat merkitsevi�, eli niit� ei saa j�tt�� pois. Tarkistemerkin laskennassa otetaan huomioon vain numerot, joten ryhmittely ei siihen vaikuta. Tarkistusmenetelm� tunnetaan nimell� Moduli 11, mutta samalla nimell� viitataan muihinkin menetelmiin, joissa lukua 11 k�ytet��n jakajana. ISBN-numeroiden tapauksessa menetelm�st� on kaksi versiota, jotka kuitenkin tuottavat saman tarkisteen.
Laskentatavasta riippumatta t�m�n menetelm�n virheenpaljastuskyky� pidet��n varsin hyv�n�.
Laskentatapa 1
Numeroita painotetaan kertoimilla, jotka ovat samat kuin numeroiden positiot 1..9 vasemmalta oikealle. Tulot lasketaan yhteen ja summa jaetaan 11:ll�. Jos jakoj��nn�s on 0..9, se on tarkistusmerkki. Jos jakoj��nn�s on 10, tarkistusmerkki on X (= 10 roomalaisilla numeroilla).Esimerkki 1: 0-14-007621-2 (Isaac Asimov, Asimov's New Guide to Science, Penguin Books 1987)
0 1 4 0 0 7 6 2 1 2 1 2 3 4 5 6 7 8 9 0 2 12 0 0 42 42 16 9 = 123 ≡ 2 (mod 11)Esimerkki 2: 951-0-20711-X (Petteri J�rvinen, Windows 95 K�ytt�j�n k�sikirja, WSOY 1995)
9 5 1 0 2 0 7 1 1 X 1 2 3 4 5 6 7 8 9 9 10 3 0 10 0 49 8 9 = 98 ≡ 10 (mod 11) → X
Laskentatapa 2
T�m� on se tapa joka kuvataan useimmissa l�hteiss�, mutta yleens� esitet��n vain miten numero tarkistetaan (mihin menetelm� paremmin soveltuukin), ei sit� miten tarkiste muodostetaan. Numeroita painotetaan kertoimilla 10..2 vasemmalta oikealle ja tulot lasketaan yhteen. Tarkiste on luku, joka summaan on lis�tt�v�, jotta tulos olisi tasan jaollinen 11:ll�. Jos lis�tt�v� luku on 10, tarkiste on X.Esimerkki 1: 0-14-007621-2
0 1 4 0 0 7 6 2 1 2 10 9 8 7 6 5 4 3 2 0 9 32 0 0 35 24 6 2 = 108 ≡ 9 (mod 11) 11 - 9 = 2Esimerkki 2: 951-0-20711-X
9 5 1 0 2 0 7 1 1 X 10 9 8 7 6 5 4 3 2 90 45 8 0 12 0 28 3 2 = 188 ≡ 1 (mod 11) 11 - 1 = 10 → XEri menetelmien sopiminen samaan numerosarjaan perustuu siihen, ett� saman numeron painotuksesta eri laskentatavoissa saatavat tulot – kuten kertoimetkin – ovat toistensa vastalukuja modulo 11 -j�rjestelm�ss�. Kerroin 123:lla on my�s kaksi laskentatapaa, joiden suhde toisiinsa on hyvin samanlainen kuin t�ss�.
ISSN-numero
ISSN-numeron tarkistusohjelmaISSN = International Standard Serial Number. T�llainen numero l�ytyy – ei aina kovin helposti – monista lehdist� ja muista julkaisusarjoista, joiden tunnisteina niit� k�ytt�v�t mm. kirjastot. ISSN-numero on yleens� sama kaikilla saman lehden numeroilla. Numero muodostuu kahdesta nelj�n merkin ryhm�st�, jotka on erotettu v�liviivalla. Viimeinen merkki on tarkistusmerkki, ja se voi olla numero tai X-kirjain. Muut merkit ovat numeroita. Toisin kuin ISBN- tai ISBN-13 -j�rjestelm�ss�, numeroilla ei ole erityisi� merkityksi�.
Tarkistusmerkin laskentamenetelm� on muuten sama kuin ISBN-numeroilla, mutta koska numerosarja on lyhyempi, alusta j�tet��n kaksi kerrointa pois, eli kertoimet ovat vasemmalta oikealle 3..9 tai 8..2. Molempia ISBN-numeroissa k�ytett�vi� laskentatapoja voidaan siis soveltaa.
Esimerkki 1: 0888-8507 (PC Magazine)
0 8 8 8 8 5 0 7 3 4 5 6 7 8 9 0 32 40 48 56 40 0 = 216 ≡ 7 (mod 11)Esimerkki 2: 0357-4121 (Prosessori)
0 3 5 7 4 1 2 1 8 7 6 5 4 3 2 0 21 30 35 16 3 4 = 109 ≡ 10 (mod 11) 11 - 10 = 1Suomalaisissa lehdiss� on usein my�s Jakelukoodi. Joissakin julkaisuissa on ISSN-numeron lis�ksi ISBN- tai ISBN-13 -numero. S�hk�isten julkaisujen yhteydess� voi esiinty� nimitys e-ISSN, mutta sen muoto ei n�yt� poikkeavan tavanomaisesta.
ISSN-numeroiden jakamisesta
ISSN-numeron pit�isi siis olla pelkk� "tyhm�" tunniste, jonka osilla ei ole itsen�ist� merkityst�. Eri maille jaetaan kuitenkin ISSN-numeroiden alkuosia viiden tai (harvoin) kymmenen kappaleen lohkoina. Kussakin j�rjestelm��n kuuluvassa maassa on kansallinen elin, joka jakaa numeroita julkaisuille, ja kukin maa on saanut k�ytt��ns� yhden tai useampia numerolohkoja. Er�it� muitakin kansainv�lisi� tunnisteita jaetaan samalla periaatteella. On kuitenkin syyt� varoa liian pitk�lle menevien johtop��t�sten tekemist� "tyhmien" tunnisteiden perusteella.Moottoriajoneuvon sarjanumero
Moottoriajoneuvon sarjanumero (Vehicle Identification Number, VIN) on kansainv�lisesti m��ritelty standardissa ISO 3779. T�m�n 17 kirjaimesta ja numerosta muodostuvan merkkijonon voi l�yt�� esim. rekisteriotteesta, ja tietysti se on merkitty my�s itse ajoneuvoon moneen paikkaan, joista yksi on usein kojelauta siten, ett� numero on luettavissa ulkopuolelta tuulilasin l�pi (edest� katsottaessa tuulilasin oikeassa alanurkassa eli yleens� ohjaajan puolella). Yhdysvalloissa ja Kanadassa aina, ja muualla mahdollisesti, sarjanumerossa on tarkistusmerkki positiossa 9. Laskenta on kirjainten k�sittely� lukuun ottamatta kuin yhdistelm� ISBN-numeron tarkisteen eri laskentatavoista:- Sarjanumeroon sis�ltyv�t kirjaimet korvataan numeroilla taulukon mukaisesti.
Kirjaimia I, O ja Q ei k�ytet�; numerointiin on j�tetty aukot vastaaviin kohtiin.
A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 J 1 K 2 L 3 M 4 N 5 P 7 R 9 S 2 T 3 U 4 V 5 W 6 X 7 Y 8 Z 9 - Kutakin tarkistettavaa numeroa tai kirjaimen numeroarvoa painotetaan position
mukaan; positiolle 9 ei ole kerrointa, koska siin� on tarkistusmerkki (nollaa voi
tarvittaessa k�ytt�� kertoimena):
Positio 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 Kerroin 8 7 6 5 4 3 2 10 9 8 7 6 5 4 3 2 - Tulot lasketaan yhteen ja summa jaetaan 11:ll�. Jakoj��nn�s on tarkistusmerkki. Jos jakoj��nn�s on 10, tarkistusmerkki on X.
Kirjaimet 1 H G C B 7 5 6 9 M A 2 0 2 9 7 8 korvattu 8 7 3 2 4 1 ← numeroilla 8 7 6 5 4 3 2 10 9 8 7 6 5 4 3 2 8 56 42 15 8 21 10 60 36 8 14 0 10 36 21 16 = 361 ≡ 9 (mod 11)Sarjanumero kertoo ainakin valmistusmaan, merkin, mallin ja yksil�numeron, Pohjois-Amerikassa sarjanumerot ovat tarkemmin m��riteltyj� kuin kansainv�lisess� standardissa, mutta yhteensopivia standardin kanssa. Ne osoittavat my�s tehtaan ja valmistusvuoden (yksil�n todellinen tai mallin ensimm�inen valmistusvuosi; sama tunnus toistuu 30 vuoden v�lein). Mallitiedot ovat valmistajakohtaisia. Nykyinen j�rjestelm� tuli k�ytt��n 1981; sit� vanhemmat sarjanumerot ovat valmistajakohtaisia.
Painokertoimien summa 89 ≡ 1 (mod 11), josta seuraa ett� numerosarja jossa on 17 ykk�st� l�p�isee tarkistuksen, joten se sopii ensimm�iseksi testitapaukseksi, jos tehd��n ohjelmaa sarjanumeroiden tarkistusta varten.
Em. esimerkkitapaus on havaittu Jyv�skyl�ss� Matarankadulla n. vuonna 1998. Internetist� l�ytyv� CarFax-palvelu osaa pelk�n sarjanumeron perusteella kertoa autosta seuraavaa:
Year/Make/Model: | 1991 HONDA ACCORD EX/EXR |
Body Style: | Sedan 4 DR |
Engine Type: | 2.2L L4 SOHC PFI 16V |
Manufactured In: | UNITED STATES |
Kemikaalin indeksi- ja EINECS-numero
Kemikaaleille on useita kansainv�lisi� tunnistej�rjestelmi�: Indeksinumero, EINECS-numero (ml. ELINCS- ja NLP-numero) ja CAS-numero. N�iden lis�ksi on olemassa ainakin YK/UN-numero, RTECS-numero (Registry of Toxic Effects of Chemical Substances) ja ICSC-numero (International Chemical Safety Card) joissa ei n�yt� olevan tarkisteita. Huom! Tunnisteiden nimiss� on sekavuutta; sen lis�ksi ett� samalla tunnisteella voi olla useita nimi�, samaa nime� k�ytet��n joskus eri tunnisteista. Esimerkiksi Indeksinumero tunnetaan my�s nimell� EU-numero, mutta jotkut k�ytt�v�t t�t� nime� EINECS/ELINCS/NLP-numeroista, joten sekaannuksia voi tapahtua helposti. Jos et l�yd� etsim��si tietyll� nimell�, katso muista kemikaalien tunnisteita k�sittelevist� kappaleista.Koska kemikaalit luokitellaan eri tunnistej�rjestelmiss� eri perusteilla, on tavallista ett� erilaisissa luetteloissa ja kuvauksissa annetaan jokaisesta aineesta v�hint��n kolmen eri j�rjestelm�n mukaiset koodit; joskus vain niiden yhdistelm� on t�ysin yksil�iv�.
Kemikaalin indeksinumero
Kemikaalin indeksinumero on muotoa AAA-BBB-CC-T, jossa AAA on joko t�rkeimm�n alkuaineen j�rjestysnumero alkuaineiden jaksollisessa j�rjestelm�ss� (001:st� teoriassa v�h�n yli sataan, mutta k�yt�nn�ss� transuraaneihin perustuvat kemikaalit lienev�t harvinaisia) tai orgaanisen aineen ryhm�numero (AAA >= 601), BBB on juokseva numero, CC osoittaa aineen olomuodon ja T on tarkiste, joka lasketaan soveltamalla ISBN-numeron tarkistusmenetelm��. Esimerkkej�: Ammoniakki 007-001-00-5 (007 = typpi) ja suolahappo 017-002-01-X (017 = kloori):0 0 7 - 0 0 1 - 0 0 - 5 1 2 3 4 5 6 7 8 0 0 21 0 0 6 0 0 = 27 ≡ 5 (mod 11) 0 1 7 - 0 0 2 - 0 1 - X 10 9 8 7 6 5 4 3 0 9 56 0 0 10 0 3 = 78 ≡ 1 (mod 11) 11 - 1 = 10 → X(ammoniakki NH3 + suolahappo HCl → ammoniumkloridi NH4Cl = salmiakki)
Tutkittujen esimerkkien perusteella n�ytt�� silt�, ett� aineen olomuodolla ei niink��n tarkoiteta kiinte��, nestem�ist� tai kaasua, vaan paremminkin onko aine puhdasta, vai onko kyseess� esim. kemikaalin vesiliuos.
Kemikaalin EINECS-numero
T�ss� tarkastellaan kolmea tunnistej�rjestelm��, jotka ovat l�heist� sukua toisilleen:- EINECS = European Inventory of Existing Commercial Chemical Substances = Euroopassa kaupallisessa k�yt�ss� 01.01.1971 .. 18.09.1981 olleiden kemikaalien luettelo (100 196 kemikaalia).
- ELINCS = European List of Notified Chemical Substances = Euroopassa 19.09.1981 alkaen ilmoitettujen kemikaalien luettelo.
- NLP = No longer polymers = Ei en�� polymeereja. N�m� ovat aineita, jotka on 31.10.1993 saakka luokiteltu polymeereiksi, ja joita ei sen vuoksi tarvinnut merkit� luetteloon, mutta joiden luokitusta on my�hemmin muutettu, jolloin niille perustettiin oma luettelo.
2 3 1 - 6 3 5 - 3 1 2 3 4 5 6 2 6 3 24 15 30 = 80 ≡ 3 (mod 11) 2 3 1 - 5 9 5 - 7 10 9 8 7 6 5 20 27 8 35 54 25 = 169 ≡ 4 (mod 11) 11 - 4 = 7Tunnisteet muodostetaan siten, ett� tarkiste on aina v�lill� 0..9, eli indeksinumerosta poiketen arvoa X ei koskaan tarvita. Huom. 1! Tieto tarkisteen laskennasta ei perustu mihink��n julkaistuun dokumenttiin, vaan yli tuhannen aidon EINECS-numeron ja l�hes 700 aidon NLP-numeron analysointiin. ELINCS-numeroita on l�ydetty tutkittaviksi vain muutama. (My�hemmin on julkaistu dokumentti, joka vahvistaa t�ss� annetut tiedot.) Huom. 2! Useat l�hteet antavat naledi-nimiselle aineelle (englanniksi naled) v��r�n EINECS-numeron 206-098-6, mutta my�s oikea numero 206-098-3 l�ytyy monesta paikasta. Huom. 3! Virallisessakin luettelossa tarkisteena voi olla pieni l-kirjain jos oikea tarkiste on ykk�nen. En oikein osaa kuvitella t�llaisen virheen syntyv�n muuten kuin OCR-ohjelmassa.
EINECS-numerosta k�ytet��n my�s (luultavasti vanhentuneita) nimi� EEC-numero, ETY-numero ja EY-numero. Wikipedian mukaan my�s EINECS, ELINCS ja NLP ovat vanhentuneita, ja niiden sijasta pit�isi k�ytt�� nime� EC-numero tai EC# (European Commission). T�t� EC-numeroa ei pid� sekoittaa toiseen samannimiseen j�rjestelm��n, jonka on m��ritellyt kansainv�linen elin nimelt� Enzyme Commission (EC), ja jota k�ytet��n entsyymien (katalyyttien) yksil�intiin. N�iden numeroiden muoto on erilainen eik� niiss� ole tarkistetta. Sekaannusten v�hent�miseksi aion ainakin toistaiseksi pit�� otsikoinnin nykyisess� muodossaan.
Y-tunnus muunnelmineen
Y-tunnuksen muunnelmia ovat ALV-numero, EORI-numero ja OVT-tunnus.Y-tunnus
Y-tunnuksen tarkistusohjelmaYritys- ja yhteis�tunnus. Y-tunnuksella on 01.04.2001 alkaen korvattu Kaupparekisterinumero, S��ti�rekisterinumero ja LY-tunnus (Liike- ja yhteis�tunnus), jonka kanssa Y-tunnus on rakenteeltaan identtinen (laki 244/2001, asetus 288/2001). Y-tunnuksen antaa joko Verohallitus (VH) tai Patentti- ja rekisterihallitus (PRH), kun yritys tai yhteis� merkit��n Yritys- ja yhteis�tietoj�rjestelm��n (YTJ). Vanhat LY-tunnukset kelpaavat sellaisenaan Y-tunnuksiksi. Y-tunnus on englanniksi Business ID, kun taas Yritys- ja yhteis�tunnus on Business Identity Code. Tunnuksen voi usein l�yt�� esim. laskusta tai kirjelomakkeesta. Tarkisteen laskenta on m��ritelty em. asetuksessa.
Tunnus on muotoa NNNNNNN-T.
- Tunnuksen numeroita (7 kpl, tarvittaessa lis�t��n alkuun nolla; numeroita oli aikaisemmin kuusi, ja t�t� vanhaa muotoa voi hyvin harvoin n�hd� viel�kin) painotetaan vasemmalta l�htien kertoimilla 7, 9, 10, 5, 8, 4 ja 2.
- Tulot lasketaan yhteen.
- Summa jaetaan 11:ll�.
- Jos jakoj��nn�s on 0, tarkistusnumero on 0.
Ei anneta tunnuksia, jotka tuottaisivat jakoj��nn�ksen 1.
Jos jakoj��nn�s on 2..10, tarkistusnumero on 11 miinus jakoj��nn�s.
1 5 7 2 8 6 0 - 0 7 9 10 5 8 4 2 7 45 70 10 64 24 0 = 220 ≡ 0 (mod 11) → 0Esimerkki 2: 0737546-2
0 7 3 7 5 4 6 - 2 7 9 10 5 8 4 2 0 63 30 35 40 16 12 = 196 ≡ 9 (mod 11) → 2Kertoimista on lis�tietoja standardiin ISO 7064 sis�ltyv�n menetelm�n Mod 11-2 kuvauksessa.
Kuten Y-tunnus, my�s rikosrekisterinumero muodostuu seitsem�st� merkist�, v�liviivasta ja tarkistusnumerosta, mutta muuten sis�ll�st� tai tarkisteen laskentatavasta ei ole mit��n tietoa. Esimerkkej� kaivataan.
ALV-numero
Suomalaisen ALV-numeron tarkistusohjelmaALV-numeroa tarvitaan Euroopan Unionin j�senmaiden v�lisess� kaupassa. Y-tunnuksesta saadaan ALV-numero lis��m�ll� alkuun kirjaimet FI ja j�tt�m�ll� v�liviiva pois. Esim. 0174592-8 → FI01745928. Suomalaiselle ALV-numerolle voidaan siis tehd� sama tarkistus kuin Y-tunnukselle. ALV-numerosta voidaan my�s muodostaa Y-tunnus.
EU:n s��nt�jen mukaan ALV-numerossa on kaksikirjaiminen maatunnus ja enint��n kaksitoista muuta merkki�, jotka voivat olla numeroita, kirjaimia tai joissakin tapauksissa "+" tai "*". Maatunnus on useimmiten standardin ISO 3166-1 mukainen, mutta ainakin Kreikan kohdalla k�ytet��n poikkeavaa tunnusta EL (standardissa GR). Tarkistusmenetelm� on maakohtainen; esim. useimmissa englantilaisissa VAT-numeroissa on kaksinumeroinen tarkiste (modulo 97). Valitettavasti laajin l�yt�m�ni yhteenveto eri maiden menetelmist� on saksankielinen, joten en osaa lukea sit� kovin hyvin (dokumentista on my�s englanninkielinen k��nn�s, mutta sen tekij� on ilmeisesti puolalainen, eik� tulos ole sen helpommin luettava kuin alkuper�inen). Lis�ksi aitojen esimerkkien puute tekee useimpien kohtien tarkistamisen mahdottomaksi, eik� dokumentissa ole tietoja kaikista nykyisist� j�senmaista. Kaikissa dokumentoiduissa tapauksissa jokin tarkistus on kuitenkin k�yt�ss�. Hiukan ihmettelen sit�, ettei tarkistukseen ole kehitetty IBAN:in kaltaista yhten�ist� menettely�. Euroopan komissio jopa nimenimaan kielt�ytyy kertomasta tarkistusmenetelmi�. EU:lla on kuitenkin ilmainen nettipalvelu, josta voi tarkistaa mille taholle jokin numero on rekister�ity, jolloin sen muotokin tulee tarkistetuksi.
ALV = arvonlis�vero = Value Added Tax = VAT. ALV-numero = ALV-tunniste = ALV-tunnus = VAT-numero = VAT-tunnus.
Osoitteesta http://www.braemoor.co.uk/software/vat.shtml l�ytyy JavaScript-ohjelmapaketti, jolla voidaan tarkistaa useiden maiden VAT-numeroita.
Niille lukuisille henkil�ille, jotka etsiv�t tietoja yhdysvaltalaisista VAT-numeroista: VAT on eurooppalainen (ranskalainen) keksint�. Yhdysvalloissa vain Michiganin osavaltiolla on ollut arvonlis�veroa muistuttava k�yt�nt�, ja siit�kin luovuttiin vuoden 2008 lopussa. Ei siis ole luultavaa ett� VAT-numeroitakaan olisi maanlaajuisesti k�yt�ss�, mutta jotkin yhdysvaltalaiset yritykset saattavat ilmoittaa eurooppalaisen VAT-numeron, jos niill� on sellainen – t�ll�in kyseess� on tavallisesti yritys, jolla on asiakkaita EU:n alueella. ALV:n sijasta Yhdysvalloissa perit��n myyntiveroa (sales tax), joka on osavaltiokohtainen (ei kaikissa osavaltioissa). T�t� varten yrityksill� on Sales Tax Number (jos on). Liittovaltion tasolla yrityksill� ja yhteis�ill� on verottajan (IRS, Internal Revenue Service) antama tunnus, josta k�ytet��n mm. seuraavia nimi�:
- Federal Taxpayer Identification Number
- Federal Tax Identification Number (FTIN)
- Federal Identification Number (FIN)
- Taxpayer Identification Number (TIN)
- Employer Identification Number (EIN)
- Federal Employer Identification Number (FEIN)
EORI-numero
Suomalaisen EORI-numeron tarkistusohjelmaEORI-numero (Economic Operator Registration and Identification number, taloudellisen toimijan rekister�inti- ja tunnistenumero) on EU:n m��rittelem� tunniste, jota k�ytet��n erin�isiss� Tullille annettavissa ilmoituksissa. Suomalaiset toimijat saavat EORI-numeron Suomen tullilta, ja k�ytt�v�t samaa numeroa kaikissa EU-maissa. Tunnistetta on voitu k�ytt�� 01.07.2009 alkaen, ja 01.07.2010 alkaen sen k�ytt� on pakollista.
Suomalainen EORI-numero muodostetaan tavallisesti lis��m�ll� Y-tunnuksen eteen Suomen ISO 3166-1 -maatunnus FI. Esimerkkej�:
0763403-0 → FI0763403-0 2229125-9 → FI2229125-9EORI-numero on siis l�hes identtinen ALV-numeron kanssa, mutta s�ilytt�� Y-tunnuksen v�liviivan. Tarkiste tietysti lasketaan kuten Y-tunnuksessa. – Vaikka tunnisteen muodostaminen n�ytt�� niin yksinkertaiselta, ett� sen voisi tehd� itsekin, sit� voi k�ytt�� vasta kun Tulli on sen rekister�inyt.
Yll�oleva perustuu Suomen tullin julkaisemiin tietoihin. EU:n julkaisemien dokumenttien mukaan EORI-numerossa on kaksikirjaiminen maatunnus ja maakohtaisesti yksil�iv� enint��n 15-merkkinen alfanumeerinen tunnus. T�ss� on ristiriita, koska Y-tunnuksen v�liviiva ei ole alfanumeerinen merkki. Kuitenkin EU:n yll�pit�m� nettipalvelu, josta EORI-numeroita voi tarkistaa, hyv�ksyy suomalaiset EORI:t v�liviivan kanssa, mutta ei ilman sit�. Yll�olevat esimerkit l�p�isev�t tarkistuksen (maaliskuussa 2012).
OVT-tunnus
Suomalaisen OVT-tunnuksen tarkistusohjelmaOrganisaatioiden V�lisess� Tiedonsiirrossa k�ytett�v� OVT-tunnus, englanniksi Party Identification (sananmukaisesti osapuolitunniste), voidaan muodostaa Y-tunnuksesta. OVT-tunnuksessa on 12..17 numeroa ja sen tavanomainen muoto on 0037AAAAAAAABBBBB jossa:
- 0037 on ISO-standardin 6523 mukainen Suomen verohallinnon koodi (International Code Designator, ICD)
- AAAAAAAA on Y-tunnus tarkisteineen mutta ilman v�liviivaa
- BBBBB on organisaation osan tunnus, esim. kustannuspaikka; ei pakollinen, numeerinen, enint��n viisi numeroa, tasataan kent�n vasempaan reunaan.
Minulle on kerrottu, ett� verkkolaskutuksessa organisaation osan tunnuksessa k�ytet��n yleisesti kirjaimia, mik� on vastoin standardia. Tuatara-ohjelmapakettini ker��m�t tilastotiedot antavat v�itteille jonkin verran tukea. Uskon, ett� standardinvastaisten tunnusten k�ytt��n on ainakin kolme syyt�:
- Vaikka OVT-tunnuksen muoto on standardoitu, mik��n taho ei jaa tunnuksia keskitetysti, vaan organisaatiot muodostavat tunnuksensa itse. Kukaan ei siis valvo, ett� standardia noudatetaan.
- Standardi ei ole vapaasti saatavilla, vaan siit� pit�isi maksaa (minulla on yliopiston kirjaston 07.12.1992 p�iv�tyst� vapaakappaleesta omaan k�ytt��n otettu valokopio). Hinta ei ole niin suuri, ett� se mink��n firman tms. rahoissa tuntuisi, mutta pienikin summa luo helposti byrokraattisen esteen, jonka vuoksi standardi ei p��dy sit� tarvitsevien k�ytt��n.
- Jotkin tahot levitt�v�t v��r�� tietoa standardin sis�ll�st�.
Joskus OVT-tunnuksia n�kee vaihtelevin tavoin v�lily�nneill� ryhmiteltyin�, oletettavasti luettavuuden parantamiseksi. Standardi ei ryhmittely� eksplisiittisesti salli eik� kiell�, muttei sit� my�sk��n miss��n kohdassa k�yt�. Minusta t�m� voidaan tulkita implisiittiseksi kielloksi – t�llaisia asioita ei standardeissa yleens�k��n ole tapana mainita, ellei ryhmittely� erikseen sallita; jos sallitaan, siit� my�s annetaan ohjeet.
(Koska OVT-tunnuksessa ei Y-tunnuksen tarkisteen lis�ksi ole erillist� tarkistetta, kuvaus t�ss� laajuudessa ei oikeastaan kuulu t�m�n dokumentin aihepiiriin, mutta kuvausta on t�ydennetty, koska tilastointi osoittaa ett� hakukoneiden kautta sit� etsit��n t��lt� aika usein.)
Moduli 11
T�ss� kappaleessa kuvataan useita menetelmi�, joissa k�ytet��n eri painokertoimia, mutta jakaja on kaikissa sama, ja jakoj��nn�ksen k�sittelyss� on selv�� yht�l�isyytt�. Kaikkien menetelmien virheenpaljastuskyky on my�s samaa hyv�� tasoa, mutta kahta tarkistetta k�ytt�v� norjalainen henkil�tunnus on sovelluksena poikkeuksellisen toimintavarma – tavalliset virheet havaitaan aina, ja muut hyvin suurella todenn�k�isyydell�, jopa kaikki kahden numeron virheet havaitaan yht� erikoistapausta lukuun ottamatta.Norjalainen henkil�tunnus
Seuraavat tiedot perustuvat enimm�kseen norjankieliseen Wikipediaan. Varoitus! En osaa norjaa, enk� ole l�yt�nyt yht��n aitoa norjalaista henkil�tunnsta johon n�it� tietoja voisi verrata. Virheet ovat mahdollisia.1964 k�ytt��n otettu norjalainen henkil�tunnus f�dselsnummer (usein personnummer, vaikka t�m� nimi tarkkaan ottaen tarkoittaa vain tunnuksen viitt� viimeist� numeroa) muodostuu yhdest�toista numerosta PPKKVVNNNTT seuraavasti:
- PPKKVV: Syntym�aika, p�iv�, kuukausi ja vuosiluvun kaksi viimeist� numeroa
- NNN: Yksil�numero, miehill� pariton, naisilla parillinen
- TT: Kaksi tarkistetta
2. tarkisteen laskenta: Tunnuksen kymment� ensimm�ist� numeroa painotetaan vasemmalta oikealle kertoimilla 5, 4, 3, 2, 7, 6, 5, 4, 3 ja 2. Tulot lasketaan yhteen. Tarkiste on numero joka summaan on lis�tt�v�, jotta tulos olisi tasan jaollinen 11:ll�. Ensimm�inen tarkiste otetaan siis mukaan toisen tarkisteen laskentaan.
S��nt�jen mukaan lis�tt�v� arvo voisi olla 10, mutta t�llaisia tunnuksia ei anneta, joten kumpikin tarkiste on aina yksinumeroinen. Hihasta ravistettu esimerkki: 09128517526
0 9 1 2 8 5 1 7 5 2 6 3 7 6 1 8 9 4 5 2 0 63 6 2 64 45 4 35 10 = 229 ≡ 9 (mod 11) → 2 0 9 1 2 8 5 1 7 5 2 6 5 4 3 2 7 6 5 4 3 2 0 36 3 4 56 30 5 28 15 4 = 181 ≡ 5 (mod 11) → 6Syntym�vuoden kaksi ensimm�ist� numeroa ovat p��telt�viss� kahden viimeisen numeron ja yksil�numeron yhdistelm�st�:
- Vanhat s��nn�t, vuoteen 1999 saakka:
- 000..499: Henkil� on syntynyt 1900-luvulla
- 500..749: Henkil� on syntynyt 1800-luvulla
- 750..999: Erikoistapauksia, esim. ulkomailla syntyneet
- Uudet s��nn�t, vuodesta 2000 alkaen (tiedot maaliskuulta 2012):
- 000..499: Henkil� on syntynyt 1900-luvulla
- 500..749: Henkil� on syntynyt v�lill� 1854..1899
- 500..999: Henkil� on syntynyt v�lill� 2000..2039
- 900..999: Henkil� on syntynyt v�lill� 1940..1999 (erikoistapauksia, esim. ulkomailla syntyneet)
Hamming-koodi ja 10-j�rjestelm�
Richard Hamming keksi 1949 Hamming-koodin, jota edelleen k�ytet��n tallennettujen tai siirrett�vien bin��risten tietojen tarkistuksessa. Menetelm� pystyy korjaamaan kaikki yhden bitin virheet sek� havaitsee kaikki kahden bitin virheet ja suurimman osan isommista virheist�. Periaatteessa menetelm� soveltuu my�s muille kantaluvuille kuin 2, mutta t�ll�in kahden numeron virhe voidaan tulkita korjattavissa olevaksi yhden numeron virheeksi, mink� lis�ksi tarkisteita tarvitaan v�hint��n kaksi. Pelkk��n virheiden havaitsemiseen esim. Moduli 97-10 on yksinkertaisempi, joskin my�s hiukan heikompi. Yksi dokumentti vakuuttaa kuitenkin ettei em. virhetulkintaa tapahdu, jos kantaluvuksi valitaan 11, tarkisteita on kaksi ja tarkistettavia numeroita on enint��n yhdeks�n, mutta vaikka edell�kuvattu norjalainen henkil�tunnus vastaa tuntomerkkej�, kahden numeron virheen tunnistaminen ei silti aina onnistu, koska painokertoimet on valittu huonosti. Kappaleessa Verhoeffin menetelm� mainittu "The Laws of Cryptography with Java Code" kuvaa miten menetelm�� k�ytet��n oikein 10-j�rjestelm�n numeroille.Islantilainen henkil�tunnus
Islantilainen henkil�tunnus kennitala on muotoa PPKKVV-NNTS, jossa- PPKKVV: Syntym�aika, p�iv�, kuukausi ja vuosiluvun kaksi viimeist� numeroa
- NN: Satunnainen yksil�numero
- T: Tarkiste
- S: Vuosiluvun toinen numero
1 9 0 5 7 5 - 4 6 2 9 3 2 7 6 5 4 3 2 3 18 0 30 35 20 12 12 = 130 ≡ 9 (mod 11) → 2Tunnus kirjoitetaan usein ilman v�liviivaa. Huomaa ett� viimeinen numero ei ole tarkistuksessa mukana, mutta nykyisin se ei voi olla muu kuin 8, 9 tai 0. Tunnuksesta ei (luultavasti) voi p��tell� henkil�n sukupuolta. L�hde: Statistics Iceland.
Islannissa k�ytet��n my�s tunnuksia, jotka ovat muuten samanmuotoisia kuin henkil�tunnukset, mutta n�ytt�� silt� ett� ensimm�iseen numeroon on lis�tty 4; n�m� ovat luultavasti yritysten ja/tai yhteis�jen tunnuksia. Esimerkki: 590169-7579. My�s n�iden tunnusten nimi on kennitala.
Latvialainen henkil�tunnus
Huom! T�m� kappale ei tarkisteen laskennan osalta perustu mihink��n julkaistuun dokumenttiin, vaan yhdess� Internetist� l�ytyneess� keskusteluketjussa olevaan PHP-esimerkkiskriptiin ja Internetist� l�ytyneiden oletettavasti aitojen henkil�tunnusten tutkimiseen. Keskustelu lienee latviankielinen, mutta skriptin kommentit ovat englanniksi.Latvialainen henkil�tunnus (personas kods) on muotoa PPKKVV-SNNNT, jossa:
- PPKKVV on henkil�n syntym�aika (p�iv�, kuukausi ja kaksi viimesit� numeroa vuosiluvusta).
- S:n sanotaan osoittavan vuosisadan 0 = 19. 1 = 20. ja 2 = 21. mutta pid�n mahdollisena – jopa todenn�k�isen� – ett� oikea tulkinta onkin 0 = 1800-luku, 1 = 1900-luku ja 2 = 2000-luku.
- NNN on yksil�numero.
- T on tarkiste.
- Annetaan apumuuttujalle alkuarvo 1.
- Tunnuksen kymment� ensimm�ist� numeroa painotetaan vasemmalta oikealle kertoimilla 1, 6, 3, 7, 9, 10, 5, 8, 4 ja 2.
- Kukin tulo v�hennet��n apumuuttujasta.
- Jaetaan tulos 11:ll�. Jakoj��nn�s on tarkiste.
2 9 0 7 5 8 1 0 4 0 3 1 6 3 7 9 10 5 8 4 2 2 54 0 49 45 80 5 0 16 0 = 251 1 - 251 = -250; -250 - floor(-250 / 11) � 11 = 3Eo. kuvaus poikkeaa useimmista muista tarkistusmenetelmist�, koska siin� k�sitell��n negatiivisia lukuja. Samaan tulokseen p��st��n tutummalta vaikuttavalla ja lyhyemm�ll� tavalla seuraavasti:
- Tunnuksen kymment� ensimm�ist� numeroa painotetaan vasemmalta oikealle kertoimilla 1, 6, 3, 7, 9, 10, 5, 8, 4 ja 2.
- Lasketaan tulot yhteen ja lis�t��n 9.
- Jaetaan summa 11:ll�.
- V�hennet��n jakoj��nn�s 10:st�. Erotus on tarkiste.
2 9 0 7 5 8 1 0 4 0 3 1 6 3 7 9 10 5 8 4 2 2 54 0 49 45 80 5 0 16 0 = 251 10 - (251 + 9) mod 11 = 3Em. skriptin perusteella t�ss� laskentatavassa jakoj��nn�s ei koskaan ole 0 jos tunnus on virheet�n. Kertoimista on lis�tietoja standardiin ISO 7064 sis�ltyv�n menetelm�n Mod 11-2 kuvauksessa.
Moduli 11-11
Virolainen ja liettualainen henkil�tunnus
Virolainen henkil�tunnus
Virolainen henkil�tunnus isikukood (IK) on muotoa SVVKKPPNNNT jossa:- S: Numero osoittaa syntym�vuoden kaksi ensimm�ist� numeroa ja henkil�n sukupuolen
seuraavasti:
- 1 tai 2: 1800-luku
- 3 tai 4: 1900-luku
- 5 tai 6: 2000-luku
- Pariton numero: Mies
- Parillinen numero: Nainen
- VVKKPP: Syntym�aika; vuosi (kaksi viimeist� numeroa), kuukausi ja p�iv�
- NNN: Yksil�numero
- T: Tarkiste
- Tunnuksen numeroita painotetaan vasemmalta oikealle kertoimilla 1, 2, 3, 4, 5, 6, 7, 8, 9 ja 1.
- Tulot lasketaan yhteen. Summa jaetaan 11:ll�.
- Jos jakoj��nn�s on pienempi kuin 10, se on tarkiste; t�ll�in ohitetaan loput ty�vaiheet.
- Jos jakoj��nn�s on 10, yritet��n uudelleen kertoimilla 3, 4, 5, 6, 7, 8, 9, 1, 2 ja 3.
- Jos jakoj��nn�s on pienempi kuin 10, se on tarkiste.
- Jos jakoj��nn�s on 10, tarkiste on 0.
3 7 1 0 7 2 9 0 0 1 4 1 2 3 4 5 6 7 8 9 1 3 14 3 35 12 63 1 = 131 ≡ 10 (mod 11) → Uusi yritys 3 7 1 0 7 2 9 0 0 1 4 3 4 5 6 7 8 9 1 2 3 9 28 5 49 16 81 3 = 191 ≡ 4 (mod 11)Tiedot perustuvat vironkieliseen Wikipediaan, Internetin keskusteluryhmist� l�ytyneisiin ohjelmaesimerkkeihin ja vironkielisiin tietoihin sek� Internetist� l�ytyneiden tunnusten tutkimiseen. Varoitus! En osaa viroa, joten olen voinut ymm�rt�� jonkin kohdan v��rin. Keskusteluryhmien tiedot ovat ristiriitaisia: Tavallisin ero edell�kuvattuun on maininta, jonka mukaan viimeisess� kohdassa pit�isi lukea: "Jos jakoj��nn�s on 10, tunnus on virheellinen." Internetist� l�ytyneiden tunnusten joukossa on kuitenkin yksi (36506280030), joka sopii yhteen esitt�m�ni kuvauksen kanssa, mutta on vaihtoehtoisen kuvauksen mukaan virheellinen. Toisaalta 50 tunnuksen joukossa on viisi, jotka esitt�m�ni kuvauksen mukaan ovat virheellisi�, joukossa yksi jossa ensimm�inen numero on 4 kun sen luultavasti pit�isi olla 3 (olettaen ett� J�ri on miehen etunimi). Tunnukset ovat per�isin hyvin sekalaisista l�hteist�, joten niiss� voi todella olla virheit�.
Liettualainen henkil�tunnus
Mm. englanninkielisen Wikipedian ja Perlin CPAN-kirjastosta l�ytyv�n tarkistusohjelman mukaan liettualainen henkil�tunnus (asmens kodas) on t�ysin identtinen virolaisen henkil�tunnuksen kanssa, paitsi ett� ensimm�isess� positiossa numerot 7 ja 8 on jo varattu 2100-luvulla syntyville.Moduli 11-0
Osuuspankin konttoritunnus
Osuuspankkien tilinumeroissa on lopussa samanlainen tarkiste kuin muillakin Suomessa toimivilla pankeilla, mutta sen lis�ksi tilinumeron alussa olevan kuusinumeroisen konttoritunnuksen viimeinen numero on edelt�vist� numeroista laskettu tarkiste. Laskenta (vrt. Moduli 11-5):- Tarkistettavia numeroita painotetaan vasemmalta alkaen kertoimilla 2, 3, 9, 5 ja 7.
- Tulot lasketaan yhteen.
- Summa jaetaan 11:ll�.
- Jakoj��nn�s m��r�� tarkisteen seuraavasti:
- Jos jakoj��nn�s on 0 tai 1, tarkiste on 0.
- Jos jakoj��nn�s on 2..10, tarkiste on 11 miinus jakoj��nn�s.
5 2 9 0 5 0 - N N N N N N N T 2 3 9 5 7 10 6 81 0 35 = 132 ≡ 0 (mod 11) → 0Osuuspankkien tilinumerot tunnistaa siit�, ett� ensimm�inen numero on 5. Paikallisosuuspankeilla ensimm�inen numero kuitenkin on 4, kuten s��st�pankeilla, eik� t�t� tarkistusta k�ytet�. Muiden pankkien tilinumeroissa ei tarkistetta ole konttoritunnuksessa havaittu. Huom! T�m� kuvaus ei perustu mihink��n julkaistuun dokumenttiin, vaan yleis�lt� tammikuussa 2002 saatuihin tietoihin ja aitojen tilinumeroiden tutkimiseen.
Moduli 11-5
Postin l�hetystunnus
T�m� tarkistus on todettu toimivaksi kirjattujen ja pikakirjeiden 13-merkkisiss� l�hetystunnuksissa. Sama tarkistus voi olla k�yt�ss� my�s muissa l�hetyksiss�, joiden l�hetystunnukset ovat samanmuotoisia, sill� tarkistusmenetelm� sis�ltyy UPU:n standardiin S10 (Union postale universelle / Universal Postal Union / Maailman postiliitto). Sit� vastoin esim. tavallisten kotimaisten postipakettien 21-merkkisiss� l�hetystunnuksissa ei n�yt� olevan mit��n tarkistetta. Tunnuksen osat ovat:- Kaksi kirjainta, jotka osoittavat l�hetyksen tyypin (Service Indicator Code (SIC): Suomessa esim. LX = pikakirje, PE = postiennakko, RR = kirjattu kirje, VV = vakuutettu l�hetys; t�ydellist� luetteloa vaihtoehdoista ei ehk� ole lainkaan olemassa ja yksitt�inen koodi voi tarkoittaa eri asioita eri maissa).
- Kahdeksan yksil�iv�� numeroa, ei pelkki� nollia.
- Yksinumeroinen tarkiste (tai er�iss� erikoistapauksissa X-kirjain, joka ei ole tarkiste).
- Kaksikirjaiminen ISO 3166-1 -maatunnus, Suomessa FI.
- Tarkistettavia numeroita painotetaan oikealta alkaen kertoimilla 7, 9, 5, 3, 2, 4, 6 ja 8.
- Tulot lasketaan yhteen.
- Summa jaetaan 11:ll�.
- Jakoj��nn�s m��r�� tarkisteen seuraavasti:
- Jos jakoj��nn�s on 0, tarkiste on 5.
- Jos jakoj��nn�s on 1, tarkiste on 0.
- Jos jakoj��nn�s on 2..10, tarkiste on 11 miinus jakoj��nn�s.
Esimerkki 1 (kirjattu kirje): RR026224385FI
RR 0 2 6 2 2 4 3 8 5 FI 8 6 4 2 3 5 9 7 0 12 24 4 6 20 27 56 = 149 ≡ 6 (mod 11) → 5Esimerkki 2 (pikakirje): LX056327445FI
LX 0 5 6 3 2 7 4 4 5 FI 8 6 4 2 3 5 9 7 0 30 24 6 6 35 36 28 = 165 ≡ 0 (mod 11) → 5Huom! T�m� kuvaus ei perustu mihink��n Suomessa julkaistuun dokumenttiin, vaan Internetist� l�ytyneisiin ulkomaisiin tietoihin, yleis�lt� syyskuussa 2002 saatuun vihjeeseen ja aitojen syksyll� 2002 postista saatujen osoitelappujen tutkimiseen.
Moduli 11-10
Merikuljetuskontin numero
ISO-standardin 6346 mukaan merikuljetuksissa k�ytett�vien konttien numerot ovat muotoa AAAU 999999-T, jossa:- AAA on kontin omistajan tai p��asiallisen operaattorin kirjaintunnus (BIC-koodi; �l� sekoita t�t� rahaliikenteen BIC-koodiin)
- U on vakio (literaali), joka osoittaa ett� kyseess� on rahtikontti (er�iss� konttiliikenteeseen liittyviss� laitteissa t�ss� kohdassa voi olla J tai Z; muuten n�iden laitteiden tunnisteet noudattavat samoja s��nt�j�)
- 999999 on yksil�numero
- T on tarkiste, joka usein ymp�r�id��n suorakaiteen muotoisella kehyksell�
A 10 | B 12 | C 13 | D 14 | E 15 | F 16 | G 17 | H 18 | I 19 | J 20 | K 21 | L 23 | M 24 |
N 25 | O 26 | P 27 | Q 28 | R 29 | S 30 | T 31 | U 32 | V 34 | W 35 | X 36 | Y 37 | Z 38 |
C P S U 1 0 2 4 7 0 - 9 13 27 30 32 1 2 4 8 16 32 64 128 256 512 13 54 120 256 16 0 128 512 1792 0 = 2891 2891 mod 11 = 9Algoritmin toteutuksesta tietokoneohjelmassa annetaan menetelm�n Mod 37-2 yhteydess� vinkkej�, joita on kuitenkin v�h�n sovellettava.
Hampurilaisella Hapag-Lloyd -varustamolla on kaksi tunnusta, HLX (HLXU) ja HLC (HLCU), joista j�lkimm�isen tarkistus on poikennut standardista siten, ett� kirjaimille k�ytet��n seuraavia arvoja: H=4, L=0, C=2 ja U=9. Muuten tarkistus on sama kuin muillekin. Esimerkki HLCU 405447-0:
H L C U 4 0 5 4 4 7 - 0 4 0 2 9 1 2 4 8 16 32 64 128 256 512 4 0 8 72 64 0 320 512 1024 3584 = 5588 5588 mod 11 = 0T�st� k�yt�nn�st� on luovuttu, ja sen mukaisia kontteja on j�ljell� v�h�n jos ollenkaan. Kerrotaan my�s tapauksista, joissa omistajan tunnus on vaihdettu laskematta tarkistetta uudelleen. Valitettavasti minulla ei ole n�ist� luetteloa.
Esimerkit ovat aitoja. Aikaisemmin en ottanut t�m�n sovelluksen kuvausta mukaan dokumenttiin, koska luulin virheellisesti ettei aihe ket��n kiinnostaisi. Hyv� n�in, sill� ilman Timo Salmiselta huhtikuussa 2002 saatuja tietoja kuvaus olisi j��nyt puutteelliseksi. Monta yksityiskohtaa on t�ydennetty Internetist� l�ytyneiden tietojen perusteella, mink� lis�ksi on tutkittu n. 50 aitoa konttinumeroa, joihin sis�ltyy my�s em. poikkeuksia.
Kuljetuksen ja vakuuden viitenumerot
Kuljetuksen viitenumero
Kuljetuksen viitenumero (Movement Reference Number, MRN) on: "Tunnus, jonka Tullin j�rjestelm� antaa hyv�ksyess��n tietyt tulli-ilmoitukset vastaanotetuiksi. Annettu MRN ilmoitetaan asiakkaalle hyv�ksymissanomassa. MRN-numero annetaan passitusilmoituksille, vienti-ilmoituksille ja tietyille saapumisen ja poistumisen ilmoituksille." Kuljetuksen viitenumero on 18-merkkinen ja muodostuu seuraavista osista:- Vuosiluvun kaksi viimeist� numeroa
- Kaksikirjaiminen ISO 3166-1 -maakoodi
- Yksil�iv� tunniste, 13 aakkosnumeerista merkki� (0..9, A..Z)
- Tarkiste, yksi numero
9 | 9 | I | T | 9 | 8 | 7 | 6 | A | B | 8 | 8 | 9 | 0 | 1 | 2 | 0 |
19 | 31 | 10 | 12 | ← Kirjaimet korvattu numeroilla | ||||||||||||
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 65536 |
9 | 18 | 76 | 248 | 144 | 256 | 448 | 768 | 2560 | 6144 | 8192 | 16384 | 36864 | 0 | 16384 | 65536 | 0 |
Tulojen summa, jakoj��nn�s ja tarkiste: 154031 mod 11 = 9 → 9
Vakuuden viitenumero
Vakuuden viitenumero eli Vakuuden viite eli Vakuusviite (Guarantee Reference Number, GRN) on tunniste, jonka Tulli antaa maahantuojan tms. asettamalle vakuustalletukselle, jolla Tulli varmistaa saatavansa. GRN-numero on 17- tai 24-merkkinen ja muodostuu seuraavista osista:- Vuosiluvun kaksi viimeist� numeroa
- Kaksikirjaiminen ISO 3166-1 -maakoodi
- Yksil�iv� tunniste, 12 aakkosnumeerista merkki� (0..9, A..Z)
- Tarkiste, yksi numero
- Toinen yksil�iv� tunniste, jota useimmiten ei k�ytet� ja jota ei oteta huomioon tarkistetta laskettaessa, 7 aakkosnumeerista merkki�
9 | 9 | I | T | 1 | 2 | 3 | 4 | A | B | 7 | 8 | 8 | 9 | 6 | 6 |
19 | 31 | 10 | 12 | ← Kirjaimet korvattu numeroilla | |||||||||||
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 |
9 | 18 | 76 | 248 | 16 | 64 | 192 | 512 | 2560 | 6144 | 7168 | 16384 | 32768 | 73728 | 98304 | 196608 |
Tulojen summa, jakoj��nn�s ja tarkiste: 434799 mod 11 = 2 → 2
L�hde (MRN:n rakenne): Komission asetus (EY) N:o 502/1999, annettu 12. p�iv�n� helmikuuta 1999, tietyist� yhteis�n tullikoodeksista annetun neuvoston asetuksen (ETY) N:o 2913/92 soveltamista koskevista s��nn�ksist� annetun asetuksen (ETY) N:o 2454/93 muuttamisesta, Euroopan yhteis�jen virallinen lehti 12.03.1999.
L�hde (GRN:n rakenne): Decision No 1/2001 of the EC-EFTA joint committee on common transit of 7 June 2001 amending the Convention of 20 May 1987 on a common transit procedure (2001/472/EC), Official Journal of the European Communities, 21.06.2001
L�hde (Tarkisteiden laskenta): Check character algorithm for the MRN and GRN, Brussels, 1 June 1999, Ref: DGXXI/0879/99 - Rev.1, DGXXI - TCP
Luhnin moduli 10
Tarkisteen lis�ys- ja tarkistusohjelmaLuhnin moduli 10 on ehk� kaikkein yleisimmin k�ytetty tarkistusmenetelm�, eik� ihme, sill� se on yksinkertainen ja silti sen virheenpaljastuskyky on varsin hyv� (katso silti Havaittuja heikkouksia). Menetelm�� k�ytet��n mm. seuraavissa tapauksissa:
- Tarkisteen edess� olevia numeroita painotetaan oikealta alkaen kertoimilla 2, 1, 2, 1 jne..
- Jos tulo on kaksinumeroinen, sen numerot lasketaan yhteen (asia ilmaistaan joskus niin, ett� tulosta v�hennet��n 9, mik� onkin tietokoneella helpompaa; t�llainen v�hennyslasku ei kuitenkaan toimi jos menetelm�st� muokataan versio jossa kantaluku on suurempi kuin 10 mutta v�lituloksia k�sitell��n 10-kantaisina).
- Tulot lasketaan yhteen.
- Tarkiste on numero, joka summaan on lis�tt�v� jotta tulos olisi tasan jaollinen kymmenell�.
- M��ritell��n tarkistetta edelt�v� positio parittomaksi.
- Summataan parittomissa positioissa olevat numerot.
- Kerrotaan summa kahdella.
- Lis�t��n summaan parittomissa positioissa olevien 4:� suurempien numeroiden lukum��r�.
- Lis�t��n summaan parillisissa positioissa olevat numerot (ei tarkistetta).
- Tarkiste on numero, joka summaan on lis�tt�v� jotta tulos olisi tasan jaollinen kymmenell�.
Luhnin modulin sanotaan olevan vapaasti kenen tahansa k�ytett�viss� (vaikka se on patentoitu, patentti tuskin on en�� voimassa). Kaikista tarkistusmenetelmist� t�llaista ei nimenomaisesti sanota, mutta eip� ole my�sk��n tullut vastaan yht��n tapausta, jossa jonkin menetelm�n k�ytt� yritett�isiin kielt�� sill� perusteella, ett� joku omistaa siihen yksinoikeuden. Jokin t�m�ntapainen syy on kuitenkin voinut johtaa saman menetelm�n kuvaamiseen niin erilaisilla tavoilla, ett� niit� voisi ensi silm�yksell� pit�� eri menetelmin�. Tiedossani on my�s ainakin yksi sovellusalue, jolla menetelm�t pidet��n salaisina: Tanskalaisten pankkitilien numeroiden tarkistus. Joidenkin muidenkin tunnisteiden kehitt�j�t / yll�pit�j�t ilmoittavat ett� tarkistetta k�ytet��n, mutta kielt�yttyv�t kertomasta sen laskentatapaa.
Tarkistusmenetelm�n keksij�ksi ei yleens� nimet� henkil��, vaan yritys tai yhteis� jos mit��n, mutta t�m�n menetelm�n kehitt�j� oli IBM:ll� vv. 1941..1961 ty�skennellyt Hans Peter Luhn (1896..1964), joka tunnetaan automaattisen indeksoinnin pioneerina.
Pankkitilin numero
IBAN-muunnos- ja -tarkistusohjelmaVaroitus! 31.10.2011 pankit lopettivat t�m�n kappaleen mukaisten suomalaisten tilinumeroiden vastaanottamisen tilisiirtojen yhteydess�, poikkeuksena yksityishenkil�iden antamat maksuteht�v�t, joissa pankki voi muuttaa tilinumeron IBAN-muotoon automaattisesti. Finanssialan keskusliitto ilmoitti 02.06.2014 ett� muunnospalvelu lakkaa l�hikuukausina. Pyyd� tilin omistajalta IBAN-tilinumero! Vuoden 2012 j�lkeen suomalainen tilinumero ei saa esiinty� tilisiirtolomakkeessa. Suomalaisten tilinumeroiden tarkisteen laskentaa koskeva dokumentti on poistettu Finanssialan keskusliiton kotisivulta. Viimeinen suomalaisia tilinumeroita k�ytt�nyt sovellus – kotimainen suoraveloitus – poistui k�yt�st� 31.01.2014. �l� luota siihen, ett� t�ss� kuvattu tarkistus olisi k�yt�ss� sen j�lkeen avattujen pankkitilien numeroissa!
Vuonna 1971 k�ytt��n otetun standardin mukaan pankkitilin numerossa on kuusi numeroa, v�liviiva ja 2..8 numeroa. Tarkistusta varten numero on muokattava 14-numeroiseen konekieliseen muotoon lis��m�ll� tarvittaessa numerosarjaan nollia. Lis�yskohta ei ole kaikissa tapauksissa sama, vaan pankit jakautuvat kahteen ryhm��n sen mukaan, mihin lis�ys tehd��n. Ryhm� tunnistetaan tilinumeron ensimm�isest� numerosta. Muut kuin allamainitut numerot eiv�t ole k�yt�ss�, mutta 7- ja 9-alkuiset tilinumerot ovat kuuluneet ryhm��n 1. Er�iden nykyisten Suomessa toimivien pankkien BBAN-tilinumerot alkavat 7:ll�, mutta n�m� pankit ovat aina k�ytt�neet vain IBAN-tilinumeroita. L�hde: Suomen pankkiyhdistys (vuoden 2007 alusta Finanssialan keskusliitto), Suomalaisten tilinumeroiden rakenne, toukokuu 2000.
Ryhm� 1: 1. numero on 1, 2, 3, 6 tai 8 → lis�ys viivan j�lkeen
999999-99999 999999-00099999 ===Esimerkki:
117835-53192 117835-00053192 ===Ryhm� 2: 1. numero on 4 tai 5 → lis�ys viivaa seuraavan numeron j�lkeen
999999-99999 999999-90009999 ===Esimerkki:
574044-25478 574044-20005478 ===T�st� eteenp�in tarkistus on normaali Luhnin moduli 10 ja se on sama kaikille pankeille.
Esimerkki: 159030-776 (Hassen matkat)
1 5 9 0 3 0 - 0 0 0 0 0 7 7 6 2 1 2 1 2 1 2 1 2 1 2 1 2 2 5 9 0 6 0 0 0 0 0 0 7 5 = 34 → 6Jotkin osat tilinumerossa voivat kertoa esim. konttorin jossa tili on avattu, tililajin ja/tai asiakasryhm�n (yhteis� / yksityinen), mutta n�m� k�yt�nn�t vaihtelevat pankkiryhmitt�in. Osuuspankeissa tilinumeron alkuosa sis�lt�� erillisen tarkisteen. Suomalaisesta pankkitilin numerosta voidaan muodostaa kansainv�linen tilinumero IBAN, jolla my�s on oma tarkisteensa.
Arvo-osuustilin numero ja X-tunnus
Mm. kaikki p�rssiss� noteerattavat arvopaperit on kirjattu arvo-osuusj�rjestelm��n, ja jokaisella t�llaisia arvopapereita omistavalla t�ytyy olla arvo-osuustili. Arvo-osuustiln numero voi olla pitk� (enint��n 19 merkki�) tai lyhyt (10 merkki�). Pitk�n numeron muoto on RROOOOVVXXXXXXXXXNT jossa:- RR = Arvo-osuusrekisterin tunnus
- OOOO = Osarekisteritunnus
- VV = Vakio / vapaamuotoinen (Euroclear Finland Oy:ll� 00 [aikaisempi Suomen Arvopaperikeskus Oy, APK])
- XXXXXXXXXN = 10-numeroinen tilinumero, jossa N on tarkiste
- T = Koko tilinumeron tarkiste
- 6 numeroa + 12 numeroa + 1 numero tai
- 2 numeroa + 4 numeroa + 12 numeroa + 1 numero
T�st� eteenp�in tarkistusmenettely on normaali Luhnin moduli 10. Esimerkkej�:
19-numeroinen: 04 4600 22A00003129 9, standardimuodossa: 044600 022A00003129 9
0 4 4 6 0 0 0 2 2 A 0 0 0 0 3 1 2 9 9 A korvattu 1 0 ← numeroilla 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 0 4 8 6 0 0 0 2 4 1 0 0 0 0 0 3 2 2 9 = 41 → 910-numeroinen: 0000328112
0 0 0 0 3 2 8 1 1 2 2 1 2 1 2 1 2 1 2 0 0 0 0 6 2 7 1 2 = 18 → 2Huom! Tehtyjen havaintojen perusteella t�m� tarkistus koskee 10-numeroisia tilinumeroita vain jos numerosarja ei sis�ll� kirjaimia (esim. Euroclear Finland Oy:n tilinumerot). Tiedossa ei ole, k�ytet��nk� kirjaimia sis�lt�viss� 10-numeroisissa tilinumeroissa mit��n tarkistusta.
Euroclear Finland Oy antaa X-tunnuksia (= keinotekoinen tunnus = keinotekoinen asiakastunnus) ulkomaisille osingonmaksajille ja suomalaisten osakkeiden omistajille, joilla ei ole suomalaista henkil�- tai y-tunnusta. Tunnus muodostuu X-kirjaimesta ja kahdeksasta numerosta. Olen l�yt�nyt vain kaksi aitoa tunnusta, mutta molempiin sopii sama tarkistus kuin arvo-osuustilien numeroihin. Esimerkki X00476516:
X 0 0 4 7 6 5 1 6 X korvattu 3 3 ← numeroilla 2 1 2 1 2 1 2 1 2 6 3 0 0 8 7 3 5 2 = 34 → 6X-tunnusta ei pid� sekoittaa CINS-tunnukseen, joka voi olla samann�k�inen kun CINS viittaa suomalaiseen arvopaperiin.
Huom! Edell� esitetty ei perustu mihink��n Netist� l�ytyneeseen kuvaukseen, vaan aidoista numeroista tekemiini havaintoihin, yleis�lt� saatuihin vihjeisiin, Netist� l�ytyneisiin pikkutietoihin ja merkitt�v�lt� osin dokumenttiin ja muihin tietoihin jotka l�hetti Marko Turpeinen hein�kuussa 2006.
ISIN ja CUSIP
ISIN = International Securities Identification Number, ISO 6166 -standardin mukainen kansainv�linen koodi, jota k�ytet��n arvopaperien tunnistamiseen. Koodissa on 12 merkki�:- ISO 3166-1 -standardin mukainen kaksikirjaiminen maatunnus, suomalaisissa koodeissa FI. Poikkeus: Clearstream (ent. Cedel) ja Euroclear k�ytt�v�t kansainv�listen arvopaperien yhteydess� tunnusta XS, joka ei viittaa mihink��n maahan (ISO 3166-1 j�tt�� koodit AA, QM..QZ, XA..XZ ja ZZ organisaatioiden sis�iseen k�ytt��n).
- Arvopaperilajin 9-merkkinen tunniste, jossa saa olla numeroita 0..9 ja kirjaimia A..Z.
- Tarkiste, yksi numero.
F I 0 0 0 9 0 0 3 6 4 4 Kirjaimet korvattu 1 5 1 8 ← numeroilla 2 1 2 1 2 1 2 1 2 1 2 1 2 2 5 2 8 0 0 0 9 0 0 6 6 8 = 46 → 4Kanadalaisilla ja yhdysvaltalaisilla arvopapereilla on CUSIP-koodi (Committee on Uniform Security Identification Procedures), jossa kirjainten k�sittely poikkeaa ISIN:ist� sen verran, ett� painotus kohdistuu suoraan kirjainta vastaavaan lukuun eik� sen numeroihin. Painotuksen j�lkeen summaukseen otetaan kuitenkin mukaan tulon numerot, ei itse tuloa. CUSIP-koodissa on kahdeksan numeroa tai kirjainta plus tarkiste; kolme ensimm�ist� merkki� ovat kuitenkin aina numeroita. Esimerkki: 392690QT3
3 9 2 6 9 0 Q T 3 Kirjaimet korvattu 2 6 2 9 ← numeroilla 1 2 1 2 1 2 1 2 3 9 2 3 9 0 2 6 5 8 = 47 → 3CUSIP:iin sis�ltyy my�s k�site Private Placement Number (PPN). T�llaisissa numeroissa voi esiinty� er�it� erikoismerkkej�, joiden arvot tarkisteen laskennassa ovat: *=36, @=37, #=38.
Kansainv�lisi� arvopapereita varten CUSIP:ista on versio nimelt� CINS (CUSIP International Numbering System), jonka ensimm�isess� positiossa on numeron sijasta maa- tai aluetunnuksena kirjain. Muuten rakenne ja tarkisteen laskenta ovat samat. Suomi kuuluu alueeseen "muu Eurooppa", tunnuskirjain X (n�it� ei pid� sekoittaa X-tunnuksiin; sek� tunnuksen antaja, k�ytt�tarkoitus ett� tarkisteen laskenta ovat erilaiset, vaikka muoto saattaa olla sama).
CUSIP Service Bureau (CSB) voi muodostaa CUSIP- tai CINS-koodista CSB-ISIN -koodin lis��m�ll� eteen maakoodin (CA tai US) ja loppuun ISIN-koodin tarkisteen.
Arvopapereille on my�s muita tunnistej�rjestelmi�. Esim. SEDOL (Stock Exchange Daily Official List) on brittil�inen j�rjestelm�, jossa k�ytett�v� tarkiste on kuvattu mm. Wikipediassa. My�s SEDOL:ista voidaan muodostaa ISIN.
Pankkikortti, luottokortti ym.
T�m� koskee ainakin seuraavia kortteja:- Pankkikortit, ml. automaattikortit
- Luottokortit: American Express (AmEx), Diner's Club, Eurocard, MasterCard, Visa
- E-liikkeen KantaAsiakaskortti, K-kaupparyhm�n Plussa-kortti, S-kaupparyhm�n S-etukortti, Silja Linen kanta-asiakaskortti, Finnairin Plus-kortti (vuodesta 2001 alkaen jaettu malli, jossa on kolme kolmen numeron ryhm��)
Esimerkkej� tarkistuksesta:
Visa-kortti, keksitty numero:
4 9 2 0 1 9 0 0 7 5 2 6 7 2 7 6 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 8 9 4 0 2 9 0 0 5 5 4 6 5 2 5 = 64 → 6Silja Linen kanta-asiakaskortti, aidosta kortista hiukan muokattu numero:
1 1 1 1 6 0 0 0 7 4 2 3 9 4 2 8 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 3 0 0 0 5 4 4 3 9 4 4 = 42 → 8Monissa luottokorteissa (mm. Visa ja Mastercard / Eurocard) kortin taakse on painettu kolminumeroinen tarkistuskoodi. American Express -korteissa vastaava koodi on nelinumeroinen ja painettu kortin etupuolelle. Koodi tunnetaan nimill� CVC2 (Card Verification Code), CVV2 (Card Verification Value), CID (Card Identification Number) sek� usealla muulla nimell�. Koodia ei esitet� kohokuviona eik� sit� l�ydy kortin magneettijuovasta. Koodia voidaan k�ytt�� mm. Internetiss� tai puhelimitse varmistamaan, ett� maksajalla on maksuhetkell� hallussaan kortti eik� pelk�st��n sen magneettijuovalta luetut tai mankeloituun kuittiin j��neet tiedot. Koodeista k�ytet��n my�s lyhenteit� CVC tai CVV, mutta t�m� on virhe: T�m�nnimiset vanhemmat kooditkin ovat toki olemassa (my�s nimill� CVC1 ja CVV1), mutta ne on talletettu magneettijuovalle hoitamaan samantyyppist� teht�v�� s�hk�isiss� maksuissa - ne tekev�t magneettijuovan tietojen v��rent�misen muuten kuin kopioimalla l�hes mahdottomaksi. Kaikki n�m� koodit tunnetaan yhteisell� nimell� Card Security Code (CSC) tai Credit Card ID (CCID). CVC2 ja CVV2 lasketaan kortin numerosta ja viimeisest� voimassaoloajankohdasta julkisella Triple DES -salakirjoitusalgoritmilla (3DES tai DES3, Data Encryption Standard) k�ytt�en kunkin luottokorttiyhti�n omia salaisia avaimia, joita ulkopuoliset tiett�v�sti eiv�t ole onnistuneet selvitt�m��n. Tosin Internetiss� jotkut kauppaavat ohjelmia, joiden v�itet��n n�it� koodeja tuottavan; jos t�m� pit�� paikkansa, koodit ovat menett�neet merkityksens� turvatekij�in�, mutta min� en ole valmis t�llaiseen uskomaan.
Luottokortit ja Internet
Usein varoitetaan luottokorttien numeroiden l�hett�misest� Internetin kautta erityisesti salaamattomilla yhteyksill�. Yksi hyv� syy t�h�n on se, ett� koska numeron alusta l�ytyy kortin my�nt�j�n tunnus, luottokorttien numeroiden pituuden vaihtelu on pieni (yleens� vain yksi, joskus kaksi vaihtoehtoa / luottokorttiyhti�) ja numeron lopussa on yksi tai kaksi tarkistetta, mik� tahansa Internet-liikennett� tarkkaileva tietokone pystyy isostakin datavirrasta helposti tunnistamaan ja poimimaan talteen salaamattomat luottokorttinumerot. Sama koskee tietysti muitakin m��r�muotoisia sensitiivisi� tietoja, kuten henkil�tunnuksia. Toisaalta sanotaan my�s, ettei ole yht��n todistettua tapausta, jossa luottokortin numero olisi t�ll� tavoin joutunut v��riin k�siin, kun taas muulla tavoin sit� kyll� on tapahtunut.Jakelukoodi
Kaikissa tutkituissa tapauksissa uudehkojen suomalaisten lehtien Tuotekoodissa on maatunnuksen (64) j�lkeen kustantajasta riippumatta numerot 1488, joita seuraava Lehtipisteiden k�ytt�m� 6-numeroinen Jakelukoodi pysyy samana lehden numerosta toiseen. Jakelukoodi sis�lt�� oman tarkisteensa, jonka laskentamenetelm� on Luhnin moduli 10. Sama koodi l�ytyy usein viivakoodin l�helt� toisestakin numerosarjasta (R-koodi), jonka muut osat l�ytyv�t my�s varsinaista Tuotekoodia seuraavasta EAN-5 -lis�koodista. Esimerkki tarkistuksesta (Tekniikan Maailma):6 4 1 4 8 8 8 1 5 0 0 1 8 2 1 2 1 2 7 1 1 0 0 = 9 → 1Jakelukoodilla ei n�yt� olevan mit��n yhteytt� lehden ISSN-numeroon. Vanhoissa lehdiss� 1488:n tilalla voi olla 1411 ja muitakin eroja voi olla (tarkisteen tilalla n�ytt�� yleens� olevan 0). Lehdiss�, joissa ei ole Tuotekoodia, voi olla Jakelukoodin n�k�inen numerosarja, jossa tarkistusta ei v�ltt�m�tt� k�ytet� (t�m�kin voi olla nimelt��n R-koodi). T�llainen numerosarja voi l�yty� my�s sarjana ep�s��nn�llisesti julkaistavista kirjoista, kuten sarjakuva-albumeista, mutta numerosarjan loppuosan yksityiskohdat vaihtelevat kustantajasta riippuen. Huom! Tieto k�ytett�v�st� tarkistusmenetelm�st� ei perustu mihink��n julkaistuun dokumenttiin, vaan kymmenist� aidoista Jakelukoodeista tehtyihin havaintoihin.
T-koodi
T-koodi on Tukkukauppojen Oy:n (= Tuko Oy) kehitt�m� EAN-Tuotekoodin kaltainen 6..8-numeroinen tunniste. Se otettiin k�ytt��n 1970-luvulla, jolloin Tuotekoodit eiv�t viel� olleet niin yleisi� kuin nyt. Koodia k�ytet��n elintarvikkeissa ja k�ytt�tavaroissa, ja nykyisin sen voi l�yt�� esim. Anttilan tavaratalon hintalapuista - ei l�hesk��n kaikista, sill� useimmissa tuotteissa on EAN-koodi. Tarkisteen laskentamenetelm� on Luhnin moduli 10.Esimerkki (vy�n hintalapusta): 3963659
3 9 6 3 6 5 9 1 2 1 2 1 2 3 9 6 6 6 1 = 31 → 9Hintalapussa on my�s viivakoodi, joka n�ytt�� Tuotekoodin viivakoodiesitykselt�, ja kyseess� onkin 02-alkuinen EAN-13, joka voidaan tulkita my�s 2-alkuiseksi UCC-12:ksi. N�m� on varattu kaupassa annettaviksi, erotukseksi tavanomaisista valmistajan antamista Tuotekoodeista. T�ss� tapauksessa EAN-13 -koodi sis�lt�� T-koodin tarkisteineen oikeaan reunaan tasattuna sek� tietysti Tuotekoodin tarkisteen. Eo. T-koodista muodostettu EAN-13:
0 2 0 0 0 3 9 6 3 6 5 9 5 1 3 1 3 1 3 1 3 1 3 1 3 0 6 0 0 0 9 9 18 3 18 5 27 = 95 → 5Koodin nimess� oleva T viittaa Tukoon. Huom! T�m� kuvaus ei perustu mihink��n julkaistuun dokumenttiin, vaan Raimo H�liselt� alkuvuodesta 2000 saatuihin tietoihin ja aidoista numeroista tehtyihin havaintoihin.
Nokian puhelimen sarjanumero
Kolmessatoista tutkitussa Nokian GSM-puhelimessa, jotka edustavat kahdeksaa eri mallia, sarjanumerossa (= IMEI, International Mobile station Equipment Identity) on viimeisen� tarkiste jonka laskentamenetelm� on Luhnin moduli 10. Mallit ovat 5110, 6110, 6150, 6210, 6250, 7110, 8210 ja 9110. Sama tarkistus ei kuitenkaan toimi malleissa 1630, 2110 ja 3110, joissa viimeinen numero n�ytt�� aina olevan nolla. Tarkistus on ilmeisesti otettu k�ytt��n vasta uudemmissa puhelimissa. Esimerkki:4 9 3 0 0 5 / 1 0 / 0 6 0 1 5 3 / 6 1 2 1 2 1 2 1 2 1 2 1 2 1 2 4 9 3 0 0 1 1 0 0 3 0 2 5 6 = 34 → 6Kolme ensimm�ist� kauttaviivoin erotettua osaa ovat TAC (Type Approval Code, 6 numeroa), FAC (Final Assembly Code, 2 numeroa) ja SNR (Serial Number, 6 numeroa). TAC:n ensimm�iset numerot ovat tyyppihyv�ksynn�n my�nt�neen maan tunnus; kaikissa tutkituissa puhelimissa joko 44 (Yhdistynyt kuningaskunta) tai 49 (Saksa), eli t�m� n�ytt�isi olevan sama kuin ao. maan kansainv�linen suuntanumero. Suomessa tyyppihyv�ksytyn puhelimen maatunnus on kuitenkin 35, joka on vain suuntanumeron (358) alkuosa. TAC:n loput numerot oletettavasti osoittavat ep�suorasti puhelimen merkin ja mallin, mutta samanmallisissakin puhelimissa voi olla eri numeroita. FAC kertoo tehtaan, jossa loppukokoonpano on tehty - v�lillisesti siis my�s valmistusmaan; Nokialla on k�yt�ss� ainakin seuraavat koodit:
10 | Salo, Suomi | 90 | Special Products, Saksa |
20 | Bochum, Saksa | 91 | Elcoteq, Tallinna, Viro |
30 | Korea | 92 | Elcoteq, Suomi |
40 | Beijing, Kiina | 93 | Elcoteq, Unkari |
70 | Salo Components, Suomi |
IMEI:n sis�ll�st� on tarjolla runsaasti ristiriitaisia tietoja, joista monet voidaan todeta v��riksi koska ne eiv�t sovi yhteen todellisten puhelimissa olevien numeroiden kanssa. T�ss� annetut tiedot perustuvat omiin havaintoihini ja niiden kanssa parhaiten yhteensopiviin dokumentteihin, ml. kaksi ETSI:n (European Telecommunications Standards Institute) virallista standardim��rityst�.
Joskus v�itet��n ett� IMEI voi olla 16-numeroinen, mutta t�ll�in kyseess� on IMEISV, jossa tarkisteen tilalla on kaksinumeroinen SVN (Software Version Number). T�ss� muodossa tunnus voidaan l�hett�� puhelimesta tukiasemalle. Jos l�hetet��n pelkk� IMEI, tarkisteen paikalla on 0.
Edell�kuvattuja sarjanumeroita k�ytt�en yksitt�isess� tehtaassa voidaan valmistaa miljoona saman tyyppihyv�ksynn�n mukaista puhelinta, mutta t�m� ei ilmeisesti riit�. Koska esim. IMEI:n pident�minen olisi hyvin suurit�ist�, on ehdotettu mm. ett� IMEI muutetaan k�ytt�m��n heksadesimaalinumeroita; t�m� muutos olisi puhelinten valmistajille teknisesti yksinkertainen, koska nytkin IMEI talletetaan BCD-muodossa. Miljoonan sijasta voitaisiin valmistaa 16,7 miljoonaa puhelinta. Tarkisteen laskennan periaate pysyisi ennallaan, mutta laskenta teht�isiin 16-kantaisessa lukuj�rjestelm�ss�, jolloin menetelm� olisi nimelt��n "Luhnin moduli 16". Yhteensopivuuden s�ilytt�miseksi muutos ei tietenk��n koskisi olemassaolevia sarjanumeroita. Operaattorit ovat suhtautuneet hankkeeseen nihke�sti, ja k�yt�nn�ss� ratkaisu voikin olla FAC:n ja SNR:n yhdist�minen, jolloin yhdell� tyyppihyv�ksynn�ll� voidaan valmistaa sata miljoonaa puhelinta. N�in tarkisteen laskenta s�ilyisi ennallaan my�s GSM-puhelinten seuraajissa.
SIM-kortin sarjanumero
GSM-puhelimissa k�ytett�viss� SIM-korteissa (Subscriber Identity Module) on sarjanumero (Integrated Circuit Card ID, ICCID), jossa olevan tarkisteen laskentamenetelm� on Luhnin moduli 10. Esimerkki (keksitty):0 1 0 5 1 2 3 1 4 1 6 1 2 1 2 1 2 1 2 1 2 1 2 0 1 0 5 2 2 6 1 8 1 3 = 29 → 1Usein jokin osa kortin numerosta voidaan tulkita valmistusajankohdaksi kuukauden tai ehk� jopa p�iv�n tarkkuudella. Jotkin muut osat numeroista voivat olla operaattori- tai maatunnuksia. Operaattorikohtaiset erot ovat kuitenkin niin suuria, ett� kattavan luettelon laatiminen olisi ty�l�st�, osittain arvailujen varassa, eik� varsinaisesti kuulu t�m�n dokumentin aihepiiriin.
Junakalustoyksik�n sarjanumero
Euroopan unionin 11.08.2006 tekem�n p��t�ksen mukaan EU:ssa otetaan k�ytt��n uusi junakaluston sarjanumeroj�rjestelm�, European Vehicle Number (EVN), joka n�ytt�� olevan aivan sama kuin j�rjestelm�, jonka on jo aikaisemmin m��ritellyt Kansainv�linen rautatieliitto UIC (Union Internationale des Chemins de Fer). Suomessa ensimm�inen uuden j�rjestelm�n mukainen numero otettiin k�ytt��n 10.11.2008, kun ensimm�inen p��kaupunkiseudun l�hiliikenteeseen hankituista Sm5- eli FLIRT-s�hk�moottorijunista tuotiin Suomeen. V�hitellen uudet numerot tulevat k�ytt��n kaikessa s��nn�llisesti k�ytett�v�ss� kalustossa. Uusi sarjanumerointi ei est� vetokaluston vanhojen tyyppimerkint�jen ja sarjanumeroiden (esim. Dv12 2714) eik� vaunujen tyyppi� osoittavien kirjainkoodien (esim. Gbln) k�ytt��. Uusi sarjanumero eli standarditunnus on muotoa AA BB CCCC DDD-T jossa:- AA osoittaa kalustoyksik�n tyypin (Sm5:ss� 94 = s�hk�moottorijuna, muu kuin suurnopeusjuna)
- BB on maatunnus (Suomi = 10)
- CCCC kertoo kalustoyksik�st� teknisi� tietoja (Sm5:ss� 2081); koodien merkitys riippuu kalustoyksik�n tyypist�; joissakin maissa t�m� osuus alleviivataan
- DDD on yksil�numero
- T on tarkiste, jonka laskentamenetelm� on Luhnin moduli 10
9 4 1 0 2 0 8 1 0 0 1 - 1 2 1 2 1 2 1 2 1 2 1 2 9 4 2 0 4 0 7 1 0 0 2 = 29 → 1T�ydellinen koodiluettelo on kymmeni� sivuja pitk�, joten en edes yrit� toistaa sit� t�ss�. Sarjanumeron ryhmittelyss� on vaihtelua ainakin seuraavasti:
- Vetokalustossa teknisten tietojen koodit ja yksil�numero voidaan kirjoittaa yhteen. Painetussa tekstiss� koko numerosarja voidaan kirjoittaa yhten�isen�, paitsi tarkiste joka t�ll�inkin erotetaan v�liviivalla.
- Matkustajavaunuissa teknisten tietojen koodit voidaan esitt�� kahdessa kahden numeron ryhm�ss�, joiden v�liss� on v�liviiva.
- Tavaravaunuissa koodi kirjoitetaan tilan salliessa (eli matalimpia avovaunuja lukuun ottamatta aina) kolmelle riville, ja mukaan liitet��n my�s kirjainkoodeja numerokoodien selitykseksi (esim. 10 VR). Kirjainkoodit eiv�t vaikuta tarkisteeseen.
Suomen rautateill� voi n�hd� my�s ulkomaisia vaunuja, useimmiten ven�l�isi� (maatunnus 20), joskus my�s ruotsalaisia (74).
Suomalaisten tavaravaunujen vanha numerointi
Ennen yhten�isen EU-numeroinnin k�ytt��nottoa suomalaisissa kotimaan liikenteen tavaravaunuissa on ollut sarjanumero, joka havaituissa tapauksissa muodostuu 5..6 numerosta, v�liviivasta ja tarkistenumerosta, jonka laskentamenetelm� on Luhnin moduli 10. Varsinainen numero m��r�ytyy siten, ett� ao. vaunusarjalle varatuista numeroista otetaan ensimm�inen vapaana oleva. L�hde: Resiina-lehti 3/1988 s. 30. Esimerkki: 463892-04 6 3 8 9 2 - 0 1 2 1 2 1 2 4 3 3 7 9 4 = 30 → 0Kansainv�lisen liikenteen vaunuissa UIC:n numerointia on k�ytetty jo pitk��n. - Australiassa veturien ja vaunujen kirjaimista ja numeroista muodostuvat sarjanumerot tarkistetaan omintakeisella moduli 23 -algoritmilla.
Yksil�intitunnus
Valitettavasti tomppeli lains��t�j� on valinnut tunnisteelle niin yleisluonteisen nimen, ett� otsikkoa voidaan joutua muuttamaan tulevaisuudessa. (Laki 46/2009)Sosiaali- ja terveysalan lupa- ja valvontavirasto Valvira antaa l��k�rille ja hammasl��k�rille, valtioneuvoston asetuksessa s��detyt opinnot (= v�hint��n nelj� opintovuotta) suorittaneelle l��ketieteen tai hammasl��ketieteen opiskelijalle sek� l��kkeen m��r��miseen oikeutetulle sairaanhoitajalle, suuhygienistille ja optikolle Yksil�intitunnuksen, jota t�m�n tulee k�ytt�� laatiessaan mm. tutkimus-, hoito- ja l��kem��r�yksi� ja l��k�rintodistuksia.
Yksil�intitunnus korvasi 01.03.2009 Sairausvakuutusnumeron (SV-numero), joita Kansanel�kelaitos aikaisemmin antoi l��k�reille ja hammasl��k�reille. Vanhat Sv-numerot kelpaavat sellaisenaan Yksil�intitunnuksiksi, eik� l��k�rien tarvitse uusia leimasimiaan tunnuksen nimen muuttumisen vuoksi. Paremman tiedon toistaiseksi puuttuessa oletan, ett� tunnukset ovat samanmuotoisia (lakiteksti ei m��rittele Yksil�intitunnuksen tarkkaa muotoa). Sv-numero on kuusinumeroinen ja sen tarkistusmenetelm� on Luhnin moduli 10.
Esimerkki (keksitty): SV 275230
2 7 5 2 3 0 2 1 2 1 2 4 7 1 2 6 = 20 → 0Huom! Tieto k�ytett�v�st� tarkistusmenetelm�st� ei perustu mihink��n julkaistuun dokumenttiin, vaan ainoastaan l��kem��r�yksist� ja l��k�rintodistuksista tehtyihin havaintoihin.
Ruotsalainen henkil�tunnus (PNR)
Ruotsalainen henkil�tunnus personnummer (PNR) muistuttaa suomalaista, mutta syntym�ajan j�rjestys on vuosi-kuukausi-p�iv� ja tarkisteen laskentamenetelm� on Luhnin moduli 10. Sukupuoli tunnistetaan kuten Suomessa. Tunnuksia alettiin jakaa vuonna 1947; tuolloin annetut tunnukset kertovat jotakin henkil�n silloisesta asuinpaikasta. My�hemmin mutta ennen vuotta 1990 annetuissa tunnuksissa yksil�numerosta voidaan (useimmiten) p��tell� henkil�n syntym�paikka l��nin tarkkuudella. Tarkiste lis�ttiin 1967. V�limerkki on alun perin "-" mutta vaihtuu "+":ksi sin� vuonna jona henkil� t�ytt�� sata vuotta (on ihme jos t�m� ei aiheuta sekaannusta). L�hteen� on k�ytetty mm. Ruotsin verohallinnon kotisivua. (Ehk� maan luonteesta kertoo jotakin se, ett� Ruotsissa tunnukset antaa verohallinto, kun esim. Suomessa ja Tanskassa ne kuuluvat v�est�kirjanpidon toimialaan.)Esimerkki ruotsalaisesta henkil�tunnuksesta: 720310-1212
7 2 0 3 1 0 - 1 2 1 2 2 1 2 1 2 1 2 1 2 5 2 0 3 2 0 2 2 2 = 18 → 2Ruotsalaisten valitsema tarkistusmenetelm� ei voine olla t�h�n tarkoitukseen paras mahdollinen, sill� syntym�aika muodostuu kahden numeron ryhmist�, eik� tarkistus paljasta n�iden ryhmien j�rjestyksen vaihtumista, eli vaikka p�iv�m��r� muistettaisiin sopivasti v��rin, tunnus olisi edelleen muodollisesti virheet�n. Eo. tunnuksesta muokattu esimerkki:
7 2 1 0 0 3 - 1 2 1 2 2 1 2 1 2 1 2 1 2 5 2 2 0 0 3 2 2 2 = 18 → 2Suomalaisessa henkil�tunnuksessa kahden p�iv�m��r��n kuuluvan kent�n (esim. p�iv�n ja kuukauden) vaihtuminen kesken��n havaitaan tarkisteen avulla aina, jos vaihto tuottaa muodollisesti virheett�m�n p�iv�m��r�n. Ruotsalaisessa tunnuksessa tarkiste ei paljasta t�llaista virhett� koskaan.
Yhden l�hteen mukaan p�iv� tai sek� p�iv� ett� kuukausi voivat olla nollia, mik� merkitsee ao. tiedon puuttumista. T�m� lienee tarpeen, koska Ruotsiin on muuttanut paljon ihmisi� maista, joissa tarkkoja syntym�p�ivi� ei aina ole merkitty muistiin. Jos t�llainen k�yt�nt� olisi my�s Suomessa, sen olisi varmaankin pit�nyt t�h�n menness� tulla jossakin vastaan. - Suomessa kerrotaan kyll� olevan henkil�it�, joiden virallinen syntym�p�iv� poikkeaa todellisesta, mutta heit� ei ole helppo yksil�id� pelk�n henkil�tunnuksen avulla.
Jos vuosiluvun kahta ensimm�ist� numeroa (18, 19 tai 20) tarvitaan, ne liitet��n varsinaisen henkil�tunnuksen eteen (niit� ei oteta huomioon tarkistetta laskettaessa). Juridisten henkil�iden vastaavassa tunnisteessa (organisationsnummer, annettu vuodesta 1975 alkaen) etuliite on tarvittaessa 16, esim. 16 916570-2292. N�m� tunnukset erottaa henkil�tunnuksista siit�, ett� positioissa 3..4 on kuukauden numeron sijasta 20 tai sit� suurempi luku. Tunnuksia k�ytt�v�t l�hinn� verottaja ja muut viranomaiset.
Ulkomaalaisille, joille ei voida antaa ruotsalaista henkil�tunnusta, mutta jotka tarvitsevat Ruotsissa jonkin tunnuksen, voidaan er�iden ruotsalaisten viranomaisten pyynn�st� antaa samordningsnummer, joka on muuten kuin personnummer, mutta kuukauden p�iv��n on lis�tty 60. T�llaisia henkil�it� ovat esim. tilap�isesti Ruotsissa ty�skentelev�t, naapurimaasta p�ivitt�in ty�ss� k�yv�t, yliopisto-opiskelijat, ruotsalaisissa laivoissa ty�skentelev�t, henkil�t jotka tarvitsevat ruotsalaisen ajokortin sek� vangit. N�it� tunnuksia on jaettu vuoden 2000 alusta alkaen.
Tunnukset ovat loppumassa kesken, koska Ruotsiin on muuttanut paljon ihmisi� maista, joissa syntym�p�iv�ksi kirjataan aina 1.1. tai 1.7., olipa todellinen syntym�p�iv� mik� tahansa. T�m�n vuoksi kes�kuussa 2008 on ehdotettu, ett� vuoden 2010 alusta alkaen annettavissa tunnuksissa (vastasyntyneet, maahanmuuttajat ja tunnusta vaihtavat) vuosi ja kuukausi ovat kuten nykyisin, mutta positioihin 5..6 tuotetaan syntym�p�iv�n sijasta satunnainen luku v�lilt� 01..31 (n�in asia on uutisoitu, mutta koska yhdeksi tavoitteeksi on asetettu mahdollisimman pienet muutoskustannukset, oletan ett� todellisuudessa yl�raja vaihtelee kuukauden pituuden mukaan kuten t�h�nkin saakka). Muuten tunnus pysyy ennallaan. Vanhat tunnukset eiv�t muutu. Samalla on ehdotettu, ett� jatkossa annetaan personnummer monille sellaisille henkil�ille, joille nyt annetaan samordningsnummer.
Moduli 10
Menetelm�� k�ytet��n Tuotekoodissa, ISMN-numerossa ja ISBN-13 -numeroissa. Sek� tavallisessa ett� lomitetussa 2/5 viivakoodissa (2 of 5 ja Interleaved 2 of 5) voidaan valinnaisesti k�ytt�� samaa tarkistusta.Nimityst� Moduli 10 k�ytet��n usein muistakin kuin t�ss� kappaleessa kuvattavasta menetelm�st� (yhteens� ainakin kymmenest�). Yhteist� kaikille on luvun 10 k�ytt�minen jakajana, mutta muut yksityiskohdat vaihtelevat.
Tuotekoodi
Tuotekoodin tarkistusohjelmaYleist�
Tuotekoodi l�ytyy sek� numerosarjana ett� viivakoodina useimmista kaupoissa myyt�vist� tuotteista. Tuotekoodi yksil�i tuotteen maailmanlaajuisesti valmistajalta l�pi koko jakeluketjun aina kassalle saakka, mik� helpottaa tavaroiden tunnistamista ja tuottaa suuria kustannuss��st�j�. Vuoden 2005 helmikuusta alkaen kaikkien Tuotekoodien muodostama j�rjestelm� ja siit� vastaava kansainv�linen organisaatio tunnetaan nimell� GS1 eli General Standard 1. Nimi viittaa siihen, ett� t�ll� alalla on vain yksi maailmanlaajuinen standardi. Aikaisemmin k�ytetyist� nimist� johdetut lyhenteet pysyv�t silti k�yt�ss� eri koodien nimiss�. T�ss� kuvattava tarkistusmenetelm� koskee seuraavia koodeja:Koodi | Lyhyt kuvaus | Vaihtoehtoisia nimi� | Vastaava viivakoodi |
---|---|---|---|
EAN-13 | Suomessa ja useimmissa muissa maissa tavallisin, 13-numeroinen koodi. | EAN-13 ITF-14 | |
EAN-8 | 8-numeroinen koodi; tarkoitettu k�ytett�v�ksi tuotteissa, joissa t�yspitk�lle koodille ei ole tilaa (k�yt�nt� ei aina vastaa teoriaa). | EAN-8 | |
EAN-14 | EAN-13:n pidennetty 14-numeroinen versio. K�ytet��n yksitt�ist� kuluttajapakkausta suuremmissa tuote-eriss�. | EAN/UCC-14, DUN-14 (Distribution Unit Number), SCC-14 (Shipping Container Code) | ITF-14 |
UCC-12 | 12-numeroinen koodi. K�ytet��n Yhdysvalloissa ja Kanadassa EAN-13:n sijasta. | UPC-A UPC-E ITF-14 | |
SSCC-18 | SSCC = Serial Shipping Container Code. 18-numeroinen koodi, jolla yksil�id��n tuotel�hetyksi�, ei tuotteita. | SSCC, sarjatoimitusyksikk�koodi | EAN-128 |
GSRN-tunnus, Global Service Relation Number, on 18-numeroinen tunniste, joka annetaan mm. s�hk�laitosten asiakkaille, mutta jota k�ytet��n laajasti muidenkin palveluiden vastaanottajien yksil�intiin. Sen tarkiste lasketaan samoin kuin SSCC-18:n (eli samoin kuin kaikkien tuotekoodien). | |||
GLN | Global Location Number. Vastaa muodoltaan EAN-13:a. K�ytet��n yritysten / laitosten ja niiden fyysisten, loogisten tai juridisten toimipaikkojen tunnistamiseen. | EAN Location Number, EAN Location Code, International Location Number (ILN), maailmanlaajuinen osapuolitunniste | EAN-128 |
- EAN-koodit (European Article Number tai International Article Number) ovat yleismaailmallisia.
- UCC = Uniform Code Council, Tuotekoodeista Yhdysvalloissa ja Kanadassa vastaavan organisaation aikaisempi nimi, nykyisin GS1 USA.
- UPC = Uniform Product Code, aikaisemmin Universal Product Code.
- UPC-A on 12-numeroinen viivakoodi. Er��t UCC-12 -koodit voidaan nollia pois j�tt�m�ll� tiivist�� lyhyemmiksi, jolloin ne voidaan esitt�� UPC-E-viivakoodina, jota k�ytet��n kuten EAN-8:a. Tarkisteen laskeminen (ja kaikki muukin k�sittely tietoj�rjestelmiss�) edellytt�� koodin palauttamista 12-numeroiseksi.
- Numeeriset koodit EAN-13, EAN-8, EAN-14 ja UCC-12 tunnetaan yhteisell� nimell� Global Trade Item Number (GTIN, maailmanlaajuinen tuotenumero).
- GLN: Muutamissa maissa (Ranska, Benelux-maat, Etel�-Afrikka) tarkisteen laskenta voi poiketa kansainv�lisest� k�yt�nn�st�. GLN ja EAN-13 voivat olla identtisi�; sekaannuksen vaaraa ei ole, koska asiayhteydest� k�y aina ilmi kummasta on kyse.
- Viivakoodit EAN-13, EAN-8, UPC-A ja UPC-E tunnetaan yhteisell� nimell� GS1-viivakoodi. N�it� k�ytet��n vain Tuotekoodien esitt�miseen. Koodit eroavat toisistaan siten, ett� viivakoodinlukija pystyy ne tunnistamaan, mutta kaikki perustuvat samaan symbolij�rjestelm��n.
- ITF = Interleaved Two of Five (I25, lomitettu 2/5). Yleisk�ytt�inen viivakoodi, jota voidaan k�ytt�� mm. Tuotekoodien esitt�miseen. Muut kuin EAN-14 esitet��n ITF-muodossa yleens� vain, jos pinnan laatu tekee GS1-viivakoodin lukemisen tavallista alttiimmaksi virheille (esim. aaltopahvi). ITF on tiivis tapa esitt�� lyhyit� numerosarjoja. Se on my�s yksinkertainen - ainoa viivakoodi jota osaan lukea ilman k�sill� olevia dokumentteja.
- Koodien nimiss� mainitut numerom��r�t sis�lt�v�t aina tarkistenumeron.
- EAN-128:a ei kuvata t�ss� dokumentissa tarkemmin.
Poikkeuksia: GS1 voi antaa tunnuksia suoraan valmistajille tai jopa yksitt�isille tuotteille maissa, joissa kansallista GS1-organisaatiota ei ole. EAN-8 -koodit kansallinen GS1 antaa suoraan yksitt�isille tuotteille, koska n�it� koodeja on melko rajoitetusti.
Vaikka t�ss� esityksen lyhent�miseksi puhutaan valmistajasta koodin antajana, t�ll� tarkoitetaan kaikkia niit� tahoja jotka antavat koodeja yksitt�isille tuotteille.
L�htein� on k�ytetty mm. GS1:n (entinen EAN International), GS1 USA:n (entinen Uniform Code Council) ja GS1 Finlandin (entinen EAN-Finland) kotisivuja. GS1 USA on GS1:n j�sen; Uniform Code Council oli rinnakkainen EAN Internationalin kanssa.
Tuotekoodin tavanomainen rakenne
EAN-8:n kaksi tai kolme ensimm�ist� numeroa ovat maatunnus ja seuraavat viisi tai nelj� numeroa osoittavat sek� valmistajan ett� tuotteen. Viimeinen numero on tarkiste. Monissa tapauksissa EAN-13 jakautuu osiin seuraavasti: Maatunnus (2 tai 3 numeroa), valmistaja (5 tai 4 numeroa), tuote (5 numeroa) ja tarkiste (1 numero). Valmistajatunnus voi kuitenkin olla pitempi ja tuotetunnus vastaavasti lyhyempi tai p�invastoin - pitemm�t valmistajatunnukset ovat halvempia. Useilla Euroopan mailla ja er�ill� muilla taloudellisesti t�rkeill� mailla (Japani) on kaksinumeroiset maatunnukset, kun taas pienemm�t, my�hemmin mukaan tulleet ja/tai Euroopan ulkopuoliset maat ovat saaneet kolminumeroiset maatunnukset. Joillakin isoilla Euroopan mailla (Italia) on useita kaksinumeroisia ja joillakin muilla isoilla mailla (Kiina) useita kolminumeroisia maakoodeja. My�s nelinumeroisia maatunnuksia on k�yt�ss�.Suomalaiset koodit alkavat yleens� numeroilla 64, mutta maatunnus ei automaattisesti kerro valmistusmaata, vaan koodin voi antaa my�s esim. maahantuoja, pakkaaja tai kauppiaiden yhteenliittym�. Jos samaa tuotetta valmistetaan useissa maissa, kaikki voivat k�ytt�� yhden valmistusmaan tai yhti�n p��konttorin sijaintimaan koodia. Esim. suomalainen maahantuoja voi antaa thaimaalaiselle tonnikalapurkille suomalaisen Tuotekoodin, ja sek� suomalaisissa ett� italialaisissa Coca-Cola -pulloissa oli belgialainen Tuotekoodi (54; Suomessa koodi vaihtui 64-alkuiseksi vuonna 2008 kun siirryttiin k�ytt�m��n pantillisia kertak�ytt�pulloja). Suomessa valmistajatunnukset ovat yleens� 5- tai 7-numeroisia ja tuotetunnukset vastaavasti 5- tai 3-numeroisia. EAN-13:lla on useita erikoistapauksia.
Harvinainen 0-alkuinen EAN-13 on itse asiassa UCC-12, jollaiseksi viivakoodinlukijakin sen tunnistaa, vaikka se olisi tulostettu EAN-koodin n�k�isen�. T�m� voidaan ymm�rt�� niin, ett� 0 on Yhdysvaltain ja Kanadan poikkeuksellinen yksinumeroinen maatunnus, vaikkei asiaa kovin usein n�in esitet�. Olen n�hnyt t�llaisia koodeja CD-levyjen koteloissa. Toinen numero (= normaalisti UCC-12 -koodin ensimm�inen tulostuva numero) kertoo UCC-12 -koodin tarkemman tyypin, ja muut numerot ovat kuten EAN-13:ssa. Joissakin tapauksissa kahdella tai kolmella valmistajalla voi olla sama 5-numeroinen valmistajatunnus, jolloin ne erotetaan edelt�v�n numeron (0, 6 tai 7) perusteella. Vuodesta 2000 alkaen UCC-12 -koodit voivat alkaa my�s numeroilla 1, 8 ja 9 ja valmistajatunnuksen pituus voi vaihdella. UCC-12 -koodin ensimm�inen numero voi olla muu kuin t�ss� mainittu; t�llaisilla numeroilla on erityismerkityksi�. Yhdysvalloille on varattu my�s EAN-tunnusten maakoodit 10..13 ja Kanadalle 754..755.
Kuljetuspakkausten koodit
EAN-14 on muuten kuten EAN-13, mutta eteen on lis�tty yksi numero, joka kertoo jotakin kuljetuspakkauksen sis�ll�st�, tavallisesti sis�ll� olevien identtisten kuluttajapakkausten lukum��r�st�:- 0 = Tavallinen EAN-13 etunollitettuna (yksi pakkaus).
Tai: Standardivalikoima erilaisia tuotteita, joilla kullakin on oma koodinsa. T�llaisessa tapauksessa EAN-14 yksil�i ko. valikoiman, ja koodin loppuosa poikkeaa sis�ll� olevien pakkausten koodeista. - 1..8 = Katsotaan tietokannasta ao. tuotteen kohdalta. Numero ei kerro kuluttajapakkausten m��r�� suoraan, ja numeroa vastaava yksikk�m��r� vaihtelee riippuen siit� mik� tuote on kyseess�. Numerosarjan loppuosa (paitsi tarkiste) on sama kuin er��n sis�ltyviss� tuotteissa.
- 9 = Ep�m��r�inen koko eli tieto on saatava jostakin muualta. Sis�ll�ll� ei ole omaa koodia (esim. painon mukaan myyt�v� tuote).
SSCC-18:ssa ensimm�inen numero kertoi aikaisemmin pakkauksen tyypin (ei kokoa), vaihtoehdot 0..4 olivat k�yt�ss�. Vuoden 2001 alusta l�htien l�hett�j� saa m��ritell� t�m�n numeron ja sen merkityksen vapaasti. Seuraavat numerot ovat l�hett�j�n tunnus, sama kuin EAN-13:n maa- ja valmistajatunnus, usein 7-numeroinen mutta pituus voi vaihdella. N�it� seuraa l�hetyksen sarjanumero, jolle l�hett�j� voi halutessaan m��ritell� sis�isen rakenteen omien tarpeidensa mukaan (tietokannan kautta selvitett�viss� esim. sis�lt�, l�hetysp�iv�, kuljetustapa ja vastaanottaja). Maatunnuksen, valmistajatunnuksen ja sarjanumeron yhteinen pituus on 16 numeroa. Viimeisen� on tarkiste. SSCC-18:n edess� voi olla sovellustunnus (00). Samaa SSCC-18:aa ei saa k�ytt�� uudelleen ennen kuin vuoden kuluttua edellisest� k�ytt�kerrasta. SSCC-18 -koodattu kuljetuspakkaus voi sis�lt�� pakkauksia, joiden p��ll� on EAN-14.
EAN-13:n erikoistapauksia
T�m� ei pyri olemaan t�ydellinen luettelo, vaan vain kokoelma esimerkkej� sen havainnollistamiseksi, kuinka monimuotoinen ilmi� Tuotekoodi on.2- ja 02-alkuiset koodit on varattu k�ytett�viksi tuotteissa, joille valmistaja ei anna normaalia Tuotekoodia. T�llaisia ovat esim. painon mukaan myyt�v�t tuotteet. K�yt�nn�t vaihtelevat maittain. Suomessa k�ytett�v�t koodit muodostuvat seuraavista osista:
Kaupan sis�inen k�ytt�, mm. kaupassa punnittavat tuotteet ja pullonpalautuskuitit | 20 | Vakio 00 | Tuotteen tunnus, 4 numeroa | HH,HH | Tarkiste |
21 | HHH,H | ||||
22 | HHHH | ||||
28 | Tuotteen tunnus, 5 numeroa | HHH,HH | |||
Kaupan sis�inen k�ytt� | 02 | Tuotteen tunnus, 10 numeroa | |||
23 | Vakio 00 | Tuotteen tunnus, 4 numeroa | P,PPP | ||
24 | PP,PP | ||||
25 | PPP,P | ||||
Tehtaalla yksitellen punnittavat tai muuten mitattavat tuotteet | 23 | Valmistajan tunnus, 4 numeroa | Tuotteen tunnus, 2 numeroa | P,PPP | |
24 | PP,PP | ||||
25 | PPP,P |
- H = hinta, P = paino tai muu yksikk�. Desimaalipilkku ei sis�lly koodiin, vaan sen paikka p��tell��n koodin alkuosasta.
- 21..22-alkuisissa koodeissa summa on py�ristetty, joten viivakoodista kassalla luettava hinta voi poiketa numeroin merkityst�.
- Joissakin maissa on oma koodinsa kappaleittain myyt�ville tavaroille (eli koodi ilmoittaa hinnan tai painon sijasta esim. laatikossa olevien leivosten lajin ja lukum��r�n), mutta Suomessa k�ytet��n samoja koodeja kuin kaupassa punnittavilla tuotteilla. Loogisesti t�llainen koodi voisi olla Suomessa 26-alkuinen (PPPP).
- Vakiomittainen tuote, jolla ei ole omaa EAN-koodia, voidaan yksil�id� kaupassa 02-alkuisella koodilla; t�st� on esimerkki kohdassa T-koodi.
- GS1 Finland suosittelee, ett� myym�l�t antavat tuotteille tunnuksia
seuraavan ryhmittelyn mukaisesti:
- 0001..0999 Myym�l�n itse numeroimat tuotteet
- 1000..1999 Liha, grillituotteet
- 2000..2999 Liha- ja einesvalmisteet
- 3000..3499 Juustot, kananmunat
- 3500..3999 Leipomotuotteet
- 4000..4999 Kalat ja �yri�iset
- 5000..5999 Tuoreet hedelm�t
- 6000..6999 Juurekset, vihannekset, marjat ja sienet
- 7000..8999 Varalla
- 9000..9999 Muut tuotteet
- Vaikka 23..25-alkuisiin koodeihin tavallisesti sis�ltyy ostoksen paino, muut vaihtoehdot ovat mahdollisia. Jos esim. kauppa on antanut metreitt�in myyt�v�lle k�ydelle koodin 9876, hintalappuun tulostettu 2400987611257 tarkoittaa, ett� k�ytt� on ostettu 11,25 metri�, mist� kassaj�rjestelm� osaa laskea hinnan.
- Valmiiksi pakattu liha on hyv� esimerkki valmistajan (pakkaajan) yksitellen punnitsemista tuotteista; koska pakkausten painoissa on vaihtelua, hinnat vaihtelevat samassa suhteessa.
- Nelinumeroisesta valmistajan tunnuksesta voidaan muodostaa my�s vakiomittaiselle tuotteelle Tuotekoodi: 640VVVVTTTTTC, jossa V on valmistajan tunnus, T on tuotteen tunnus ja C on tarkiste. T�llainen valmistajan tunnus ei n�ht�v�sti voi olla 00-alkuinen.
Vain melko harvoissa tapauksissa pit�� paikkansa laajalle levinnyt k�sitys, jonka mukaan tuotteen hinta on jotenkin sis�llytetty Tuotekoodiin. Yleens� koodi on pelkk� tunniste, jonka avulla hinta l�ytyy tietokannasta. Asia tulee aika selv�ksi, jos ajatellaan vaikkapa suklaapatukkaa, jota myyd��n t�sm�lleen samanlaisessa pakkauksessa ja samalla Tuotekoodilla varustettuna kymmeniss� maissa kymmenill� valuutoilla, ja samankin valuutan puitteissa vaihtelevilla hinnoilla.
EAN-13:sta on joissakin maissa k�ytetty kansallisia nimi�, joihin lukemattomat tekstit Internetiss� edelleen viittaavat, vaikka GS1:n dokumentit eiv�t niit� nykyisin tunne. Esimerkkej�:
- Japani: Japanese Article Number, JAN, maakoodit 45 ja 49
- Etel�-Korea: Korean Article Number, KAN-13, maakoodi 880
- Australia: Australian Product Code, APC, maakoodi 93
Kirjoissa EAN-13:n ensimm�iset numerot ovat usein 978, jolloin seuraavat yhdeks�n numeroa ovat kirjan ISBN-numero (ISBN-10) ilman ISBN-numeron omaa tarkistemerkki�. Asia ilmaistaan joskus niin ett� kirjoilla on maatunnus, joka viittaa Bookland-nimiseen maahan, tai puhutaan Bookland-koodista ("kirjamaatunnus"), johon tyypillisesti kuuluu EAN-2 tai EAN-5 lis�koodi. Nimi voidaan kirjoittaa my�s muodossa Booklan tai BookLan, mutta merkityseroa ei n�yt� olevan. Joissakin kirjoissa ISBN-numeroa k�ytet��n suoraan Tuotekoodina, mik� n�ytt�isi olevan vastoin standardia (tarkiste lasketaan tietysti Tuotekoodin s��nn�ill�). Vuodesta 2007 alkaen kirjoissa k�ytet��n my�s 9791..9799-alkuisia koodeja, kts. ISBN-13. Lehdiss� (ei suomalaisissa, mutta ainakin australialaisissa, englantilaisissa, etel�afrikkalaisissa ja virolaisissa) ensimm�iset numerot ovat 977 ja seuraavat seitsem�n numeroa ovat lehden ISSN-numero j�lleen ilman tarkistemerkki�. Seuraavat kaksi numeroa ovat nollia tai sis�lt�v�t julkaisun tyypist� riippuvia lis�tietoja, esim. hintakoodin. Suomalaisissa lehdiss� Tuotekoodi muodostetaan nykyisin Jakelukoodista. 9790-alkuiset koodit taas ovat ISMN-numeroita.
Useiden ulkomaisten l�hteiden mukaan er�ill� muilla numeroilla alkavia koodeja k�ytet��n seuraaviin erityistarkoituksiin:
980 | Refund receipts |
981..984 | Common Currency Coupons |
99 | Coupons / In-Store Coupons |
980-alkuisesta koodista on vain niukasti tietoja. N�ytt�� silt�, ett� sit� k�ytet��n kuiteissa, joita vastaan palautetaan rahaa joistakin ostoksista (esim. pullonpalautuskuitit). Koodin rakenne on maakohtainen, mutta suositus on ett� positiot 4..8 sis�lt�v�t kuitin yksil�iv�n numeron ja positiot 9..12 palautettavan summan.
Euroalueella 981..983-alkuisissa koodeissa positiot 4..7 yksil�iv�t alennuskupongin antajan, positiot 8..9 ovat kupongin referenssinumero (esim. tarjouskampanjan tunniste) ja positiot 10..12 ilmoittavat kupongin arvon. 981-alkuisessa koodissa arvo ilmoitetaan kymmenin� senttein� (maksimi 99,90 €), 982- ja 983-alkuisissa senttein� (maksimi 9,99 €). Jos tuote on ilmainen, arvo on 000. 984-alkuisesta koodista en l�yd� dokumenttia.
980..983-alkuisten koodien k�yt�st� Suomessa ei ole havaintoja.
99-alkuinen koodi tunnetaan my�s nimell� EAN-99, ja Suomessa sit� k�ytet��n ainakin K-kaupparyhm�n Plussa-pisteseteleiss� (Plussa-kortilla ker�t��n ostoksista Plussa-pisteit�, ja tietyll� pistem��r�ll� saa Plussa-pistesetelin, jolla voidaan maksaa ostoksia). Jokaisessa seteliss� on ilmeisesti yksil�llinen koodi, jolla ei n�yt� olevan helposti tunnistettavaa rakennetta. Koodeja on my�s Plussa-pistesetelien kanssa k�ytett�viss� tarjouskupongeissa. Muualla maailmassa t�llaiset alennuskupongit lienev�t yleisempi�. Ruotsissa k�ytett�viss� kupongeissa koodissa voi n�ky� kupongin arvo samaan tapaan kuin suomalaisissa 20..22-alkuisissa koodeissa. Yhdysvaltalaiset dokumentit taas kuvaavat aivan erilaisen rakenteen ja hiukan erilaisen k�ytt�tavankin. Ilmeisesti asia m��ritell��n maakohtaisesti.
Tarkistus
Numeerinen Tuotekoodi merkit��n viivakoodin alle, mutta my�s viivakoodin edess� ja j�ljess� on yleens� numeroita, jotka on otettava huomioon. Viimeinen numero on tarkiste. UCC-12:sta se voi joskus puuttua, vaikka se sis�ltyy viivakoodiin.Tarkisteen laskenta: Tarkistusnumeron edess� olevia numeroita painotetaan kertoimilla 3, 1, 3, 1 jne. oikealta alkaen. Tulot lasketaan yhteen. Tarkistusnumero on numero, joka summaan on lis�tt�v� jotta tulos olisi tasan jaollinen kymmenell�. Esimerkkej�:
6 4 1 0 1 0 7 2 1 0 3 3 4 EAN-13 1 3 1 3 1 3 1 3 1 3 1 3 (Suomi) 6 12 1 0 1 0 7 6 1 0 3 9 = 46 → 4 9 7 8 9 5 2 5 1 5 9 0 0 4 EAN-13 1 3 1 3 1 3 1 3 1 3 1 3 (kirja) 9 21 8 27 5 6 5 3 5 27 0 0 = 116 → 4 5 4 4 9 0 2 4 6 EAN-8 3 1 3 1 3 1 3 (Belgia) 15 4 12 9 0 2 12 = 54 → 6 0 5 4 6 5 1 1 9 1 0 9 9 UCC-12 3 1 3 1 3 1 3 1 3 1 3 0 5 12 6 15 1 3 9 3 0 27 = 81 → 9 0 3 3 7 5 9 0 5 UCC-12 (tiivistetty) 0 3 3 0 0 0 0 0 7 5 9 5 Sama ilman 3 1 3 1 3 1 3 1 3 1 3 tiivistyst� 0 3 9 0 0 0 0 0 21 5 27 = 65 → 5Viimeisess� esimerkiss� kannattaa huomata, ett� tarkisteen laskeminen suoraan tiivistetyst� muodosta antaa v��r�n tuloksen. Tiivistetty koodi voidaan palauttaa alkuper�iseen muotoonsa seuraavasti:
- Jos viimeinen numero ennen tarkistusnumeroa (z) on 0..2:
0 xxyyyz c → 0 xxz00 00yyy c - Jos viimeinen numero ennen tarkistusnumeroa on 3:
0 xxxyy3 c → 0 xxx00 000yy c - Jos viimeinen numero ennen tarkistusnumeroa on 4:
0 xxxxy4 c → 0 xxxx0 0000y c - Jos viimeinen numero ennen tarkistusnumeroa (z) on 5..9:
0 xxxxxz c → 0 xxxxx 0000z c
Muita tietoja ja lis�koodeja
EAN-13:n ensimm�inen numero ja UPC-E:n tarkiste eiv�t sis�lly viivakoodiin samalla tavalla kuin muut numerot, vaan ne p��tell��n siit�, miss� j�rjestyksess� ns. parillisia ja parittomia viivakoodisymboleja on k�ytetty kuuden ensimm�isen viivakoodiin sis�ltyv�n numeron esitt�miseen. UPC-E:n tapauksessa ensimm�inen numero piilotetaan viivakoodiin kuten tarkiste, ja se voi olla 0 tai 1, eli 6 viivakoodisymbolilla esitet��n 8 numeroa, jotka sitten laajennetaan 12-numeroiseksi UCC-12 -koodiksi.L�hinn� painotuotteissa (mutta joskus olutt�lkeiss�kin) voidaan k�ytt�� varsinaisen EAN-8:n tai EAN-13:n lis�ksi 2- tai 5-numeroisia EAN-2 ja EAN-5 -koodeja, joiden tarkisteet lasketaan eri tavoilla kuin EAN-13:n, mutta koska tarkisteita ei tulosteta numeroina, vaan ne piilotetaan viivakoodisymbolien pariteettiin, niiden tarkempia kuvauksia ei ole otettu mukaan (EAN-5:ss� menetelm� on Kerroin 39). Vastaavia lis�koodeja voidaan k�ytt�� my�s UPC-A:n ja UPC-E:n kanssa. Lis�koodien merkitys vaihtelee. Olen my�s n�hnyt EAN-5:n erillisen� tarrassa, joka luultavasti sis�lsi varash�lyttimen.
98024 98024 98024 98024 98024 Yhdistelmien merkitys on tietenkin sopimuksenvarainen. Muualla kuin (Tuotekoodien) viivakoodeissa t�llaista tuskin k�yt�nn�ss� tehd��n - t�ss� yritet��n vain havainnollistaa periaatetta. (Huom! Yll�olevat numerosarjat voivat tulostua kirjoittimelle t�ysin mustina, mutta n�yt�ll� niiden pit�isi n�ky� oikein.)
Suomalaisissa lehdiss� EAN-5:n kaksi ensimm�ist� numeroa ovat samat kuin ilmestymisvuoden kaksi viimeist� numeroa (2001 → 01) ja kolmas numero on kaikissa havaituissa tapauksissa nolla (poikkeuksena kuitenkin er��t vuoden 2001 alussa julkaistut lehdet, joissa koodi oli virheellinen). Kaksi viimeist� numeroa ovat viikkonumero jos lehti ilmestyy kerran viikossa tai useammin, muussa tapauksessa lehden numero. Esim. kuukausittain julkaistavan lehden vuoden 1998 viimeisen numeron koodi: 98012.
Tuotekoodit ovat yksil�ivi� siin� mieless�, ett� maailmasta ei pit�isi l�yty� samanaikaisesti kahta erilaista myynniss� olevaa tuotetta, joilla on sama valmistajan antama koodi, mutta kun jonkin tuotteen valmistus lopetetaan, sen koodi voidaan antaa toiselle tuotteelle nelj�n vuoden karenssiajan j�lkeen. Vaatteilla karenssiaika on kaksi ja puoli vuotta.
Viivakoodinlukijat ja atk-j�rjestelm�t, jotka on suunniteltu k�sittelem��n EAN-koodeja, pystyv�t useimmiten k�sittelem��n my�s UPC/UCC-koodeja. L�hinn� atk-j�rjestelmien puutteiden vuoksi t�m� ei aikaisemmin ole toisin p�in onnistunut, mutta vuoden 2005 alusta alkaen j�rjestelmien pit�isi olla yhteensopivia molempiin suuntiin.
Yleens� viivakoodin lukeminen edellytt��, ett� koodin edess� ja j�ljess� on alue, jossa ei ole mit��n merkint�j� ("quiet zone"). GS1-viivakoodeja k�ytett�ess� numeerisen koodin alussa ja/tai lopussa on joskus < tai > joiden k�rki osoittaa mihin saakka tyhj� alue ulottuu.
Tuotekoodi ja "Pedon luku" 666
T�t� teksti� en olisi halunnut kirjoittaa, mutta katsoin sen v�ltt�m�tt�m�ksi, kun t�m� dokumentti oli aiheeseen yhdistetty er��ll� Internetin keskustelupalstalla. Valitettavasti jotkut ovat p��tt�neet, ett� t�m�kin huuhaa on Yhdysvalloista Suomeen levitett�v�, joten yleisen harhaanjohtamisen v�ltt�miseksi jonkun t�ytyy my�s antaa rationaalinen vastine.V�ite: Jokaisen Tuotekoodin viivakoodiesitykseen sis�ltyy Pedon luku 666. Numeron 6 viivakoodisymboli on kaksi kapeaa mustaa viivaa, ja t�m� yhdistelm� l�ytyy jokaisen viivakoodin alusta, keskelt� ja lopusta. Siis kolme kuutosta.
Lyhyt vastine: V�ite ei pid� paikkaansa, vaan perustuu siihen, ett� viivakoodij�rjestelm�� ei ole ymm�rretty oikein. Useimmat ihmiset eiv�t tunne viivakoodeja yksityiskohtaisesti, joten virheellinen tieto, jota joku vakavissaan todeksi v�itt��, on helppo hyv�ksy� ilman kritiikki�.
Pitempi vastine menee valitettavasti v�ist�m�tt� hiukan tekniseksi. Ymm�rt�mist� helpottaa, jos otat k�sille muutaman t�llaisen viivakoodin (mieluiten isokokoisia) koska t�ss� esityksess� ei ole mukana kuvia, paitsi jos seuraat lopussa olevaa linkki�. K�yt�n sanoja "musta" ja "valkoinen", jotka useimmiten osuvat kohdalleen, mutta muutkin vaihtoehdot ovat mahdollisia.
Viivakoodien kokoja ei yleens� m��ritell� absoluuttisesti, vaan k�ytet��n k�sitett� "yksikk�" ("unit", "element" tai "module"), jonka leveydelle m��ritell��n ala- ja yl�raja. Useimmiten kapein viiva on yhden yksik�n levyinen, ja muut t�m�n kokonaisia monikertoja. EAN-13:ssa ja UPC-A:ssa viivojen leveydet ovat 1, 2, 3 tai 4 yksikk��. Se mit� 666-intoilijat eiv�t ymm�rr� on, ett� mustien viivojen v�liin j��v�t valkoiset alueet (t�st� eteenp�in valkoiset viivat) ovat aivan yht� t�rkeit� kuin mustatkin. T�m� ymm�rryksen puute voi selitty� sill�, ett� aiheeseen perehtym�tt�m�t ihmiset rinnastavat viivakoodin tavalliseen tekstiin, jossa sanav�leill� on merkityst�, mutta niiden t�sm�llisill� leveyksill� yleens� ei. Viivakoodien maailmassa t�llainen talonpoikaisj�rki ei toimi. Valkoisten viivojen leveyksille on samat vaihtoehdot kuin mustilla viivoilla.
EAN-13 -viivakoodin alussa, keskell� ja lopussa on kohdistusviivat, jotka yleens� ovat muita pitempi� ja erottuvat siksi helposti. Viivojen pituudella ei kuitenkaan ole merkityst� koodia koneellisesti luettaessa. Kaikki viivakoodij�rjestelm�t k�ytt�v�t kohdistusviivoja tai muita alku- ja loppumerkkej�, joiden perusteella viivakoodinlukija tunnistaa yksik�n koon ja k�ytetyn j�rjestelm�n - useimmat lukijat pystyv�t lukemaan kymmeni� eri j�rjestelmi� ilman, ett� lukijalle etuk�teen kerrotaan mink� j�rjestelm�n viivakoodia on tarkoitus lukea. Koodissa on my�s 12 numerosymbolia, kuusi keskimm�isten kohdistusviivojen kummallakin puolella. Numeerisen koodin ensimm�iselle numerolle ei ole omaa viivakoodisymbolia, jonka vuoksi t�m� numero sijoitetaan tavallisesti viivakoodin eteen, eik� alle kuten muut numerot.
Kaikki kohdistusviivat ovat yhden yksik�n levyisi�. Alussa ja lopussa on kaksi mustaa ja yksi valkoinen viiva, siis yhteens� kolme yksikk�� kummassakin p��ss�. Keskell� on kolme valkoista ja kaksi mustaa viivaa, yhteens� viisi yksikk��. Jokainen numerosymboli muodostuu kahdesta mustasta ja kahdesta valkoisesta viivasta, joiden yhteinen leveys on seitsem�n yksikk��. Koodin vasemmalla puolella jokainen numerosymboli alkaa (vasemmalta oikealle edett�ess�) valkoisella viivalla, oikealla puolella taas mustalla.
Numeron 6 ja kohdistusviivojen samanlaisuus on n�k�harha, joka perustuu siihen, ett� valkoisia viivoja ei ymm�rret� symbolien merkityksellisiksi osiksi. Todellisuudessa numeron 6 symboli muodostuu kahdesta yhden yksik�n levyisest� mustasta viivasta, yhdest� yhden yksik�n levyisest� valkoisesta viivasta ja yhdest� nelj�n yksik�n levyisest� valkoisesta viivasta, eik� siis seitsem�n yksik�n levyisen� voi mitenk��n olla sama asia kuin kolmesta tai viidest� yksik�st� muodostuvat kohdistusmerkit. Jos huomio kohdistetaan vain valkoisiin viivoihin, havaitaan ett� jokaisessa numerosymbolissa on kaksi valkoista viivaa, kun taas kohdistusmerkeiss� niit� on yksi tai kolme. Eli ei mit��n yhdenn�k�isyytt�. Lis�ksi voidaan todeta, ett� koodin vasemmalla puolella kuutosen symboli voi esiinty� my�s muodossa, jossa musta ja valkoinen ovat vaihtaneet paikkaa. Suomalaisessa 64-alkuisessa koodissa t�m� voi tapahtua niiss� kahdessa positiossa, jotka ovat l�hinn� keskimm�isi� kohdistusviivoja. UPC-A -koodin vasemmalla puolella k�ytet��n vain t�t� muotoa, mink� 666-intoilijat poikkeuksetta j�tt�v�t vaille huomiota, koska heille ei sovi sellainen todellisuus, joka liian selv�sti poikkeaa heid�n teoriastaan.
Johtop��t�s: Viivakoodin kohdistusviivat eiv�t sis�ll� lukua 666.
Silti on v�itetty, ett� viivakoodin suunnittelijat olisivat tahallisesti valinneet numerolle 6 symbolin, joka "muistuttaa" kohdistusviivoja. Oman k�sitykseni mukaan he tiesiv�t mik� on kohdistusviivojen rakenne ja mit� ne tarkoittavat (eli niill� ei ole varsinaista tietosis�lt��), eik� heille tullut mieleen ett� joku alkaisi tulkita niit� joksikin mit� ne eiv�t ole. Numerosymbolit ja kohdistusviivat eiv�t edes muistuta toisiaan, kun koodia luetaan oikein.
My�s on esitetty, ett� kohdistusviivat vastaisivat esim. A-kirjaimia. Tuskin v�ite suoranaisesti v��r� on, muttei se ole my�sk��n yleisp�tev� totuus: Kun viivakoodeja tuotetaan jollakin ohjelmalla tai viivakoodifonttia k�ytt�en, kohdistusviivojen paikka suhteessa numerosarjaan voidaan joutua osoittamaan jotenkin, ja silloin niit� voi edustaa vaikkapa jokin kirjain. Valmiin viivakoodin tietosis�lt�n� on kuitenkin pelkki� numeroita. Viivakoodinlukija ei siit� kirjaimia l�yd�. T�m� siis koskee nimenomaan EAN-13:a ja UPC-A:ta - tietysti on olemassa muita viivakoodij�rjestelmi�, joilla voidaan esitt�� my�s kirjaimia.
Jos kohdistusviivat sittenkin v�ltt�m�tt� halutaan tulkita v��rin, osaisiko joku kertoa mist� alkaen jokin luku on muodostunut kolmesta erillisest� numerosta, joiden v�liss� on muita numeroita? T�ll� periaatteella mink� tahansa kolminumeroisen luvun l�yt�� mm. lukemattomista puhelinnumeroista (vaikkapa 626 3465). Tied�n kyll� taistelevani tuulimyllyj� vastaan, koska niihin jotka haluavat uskoa huuhaa-juttuja ei mik��n logiikka tai j�rki vaikuta.
Jostakin syyst� Pedon luvun etsij�t unohtavat mainita, etteiv�t he pysty uskottelemaan edes itselleen, ett� 666 olisi l�ydett�viss� UPC-E:st�, vaikka sen "pit�isi" l�yty� "kaikista" viivakoodeista.
Ilman v��r�� vaatimattomuutta uskallan v�itt�� tuntevani t�m�n asian paremmin kuin 95 % niist� ihmisist�, jotka uskovat siit� jotakin tiet�v�ns�. V�ite perustuu siihen, ett� olen kirjoittanut ohjelmapaketin, joka tuottaa EAN-13 -viivakoodeja k�ytt�m�tt� mit��n valmista viivakoodifonttia (eli tein "fontin" itse). T�t� tehdess�ni sain perehty� asiaan pikselin tarkkuudella. Kokeile vapaasti. Kaikissa testeiss�ni ohjelma on tuottanut virheett�m�n viivakoodin. Viivakoodi tuotetaan vain EAN-13:lle, vaikka ohjelma osaa tarkistaa muitakin. Koodi saattaa olla ep�ter�v� LCD-n�yt�ll�, jos resoluutio on asetettu ko. n�yt�n optimista poikkeavaksi. JavaScript-tuki on v�ltt�m�t�n.
666-vouhotuksella on yksi yhteinen piirre l�hes kaikkien muiden salaliittoteorioiden kanssa: Salaliittolaiset oletetaan niin tyhmiksi, ett� kuka tahansa asiaa edes pintapuolisesti "tutkinut" pystyy heid�n toimensa "paljastamaan", eiv�tk� salaliittolaiset ilmeisesti edes opi virheist��n mit��n, vaan samat henkil�t (varsinkin Yhdysvaltain liittovaltio) "j��v�t kiinni" kerran toisensa j�lkeen. Eik�h�n ole niin, ett� useimmat todelliset salaliitot todella pysyv�t salassa, ainakin niin kauan kuin niill� on merkityst�. Kaikki edell�sanottu siis tietysti sen lis�ksi, ett� itse "Pedon luku" on alun perinkin silkkaa p�ty�.
ISMN-numero
ISMN (International Standard Music Number) on painetuissa musiikkijulkaisuissa - esim. nuoteissa (nuottilehdiss�) tai nuotteja sis�lt�viss� kirjoissa - k�ytett�v� tunniste. Standardi on vuodelta 1993, joten t�t� vanhemmista julkaisuista numeroa ei kannata etsi�. (Minulle on vakuutettu, ett� nuottilehden yksitt�inen painos voi olla myynniss� vuosikymmeni�, ja k�yt�ss� viel�kin pitemp��n, joten vanhempiakin nuotteja k�ytet��n laajalti.)Ennen vuotta 2008 k�ytt��n otetut ISMN-numerot muistuttavat rakenteeltaan ISBN-numeroa, mutta maa/kielialuetunnuksen tilalla on iso M-kirjain. T�t� seuraavat julkaisijan (3..7 numeroa) ja julkaisun (5..1 numeroa) tunnisteet, joiden yhteinen pituus on aina kahdeksan numeroa. Viimeisen� on tarkistenumero.
Vuoden 2008 aikana ISMN-numerot muuttuivat samaan tapaan kuin ISBN-numerot muuttuivat vuoden 2007 alussa (vrt. ISBN-13): Tunnisteen alkuun lis�ttiin 979 ja M-kirjain korvattiin nollalla. ISBN-numeroista poiketen tarkiste pysyy ennallaan. Standardi tuli voimaan 01.01.2008, mutta siirtym�aikaa oli vuoden loppuun.
Tarkisteen laskenta vastaa Tuotekoodin tarkisteen laskentaa. Vanhoissa tunnisteissa M-kirjaimelle k�ytet��n arvoa 3. Esimerkki:
ISMN M-2018-9185-9
M 2 0 1 8 9 1 8 5 9 3 1 3 1 3 1 3 1 3 9 2 0 1 24 9 3 8 15 = 71 → 9Sama tunnus uudessa muodossa: ISMN 979-0-2018-9185-9
9 7 9 0 2 0 1 8 9 1 8 5 9 1 3 1 3 1 3 1 3 1 3 1 3 9 21 9 0 2 0 1 24 9 3 8 15 = 101 → 9Vastaava EAN-13 -Tuotekoodi: 9 790201 891859. Vanhan ISMN-numeron ja siit� johdetun Tuotekoodin tarkisteet ovat aina samat. T�m� seuraa toisaalta siit� ett� laskentamenetelm� on sama, toisaalta tavasta jolla Tuotekoodi ISMN:st� muodostetaan. Uusi ISMN on sis�ll�lt��n sama kuin vastaava Tuotekoodi, vaikka numeroiden ryhmittelyss� voi olla eroa. Huomaa ett� jos etuliitett� 979 seuraa muu numero kuin 0, kyseess� ei ole ISMN vaan ISBN-13.
ISBN-13
ISBN-13:n tarkistusohjelmaISBN = International Standard Book Number. ISBN-numeroa k�ytet��n tunnisteena monissa julkaisuissa, kuten kirjoissa, kartoissa ja CD-ROM:eissa. Vanhat ISBN-numerot loppuivat ep�taloudellisen jakotavan vuoksi er�ilt� osin kesken ennen vuotta 2010. Toukokuussa 2005 julkaistun uuden standardin mukaan ISBN-13 korvasi ISBN:n tietoj�rjestelmiss� viimeist��n 01.01.2007. Julkaisuissa uudenmallisia numeroita on voitu ottaa k�ytt��n jo aikaisemmin. Siirtym�vaiheessa molempia k�ytettiin rinnakkain. Suomessa ISBN-numeroita my�nt�� Kansalliskirjaston (entinen Helsingin yliopiston kirjasto) yhteydess� toimiva Suomen ISBN-keskus.
Koodi pitenee 10:st� 13 numeroon siten, ett� kaikkiin vanhoihin numeroihin lis�t��n etuliite 978 (sama jolla ISBN-numerosta on saatu Tuotekoodi). Samaa etuliitett� k�ytet��n my�s uusissa julkaisuissa niin pitk��n kuin vanhan j�rjestelm�n numeroita riitt�� k�ytett�viksi, eli joissakin tapauksissa kauan. N�iden rinnalle on otettu k�ytt��n etuliite 979; t�llaiset koodit jaetaan entist� talodellisemmin (eli pienempin� lohkoina), jotta koodien loppuminen ei kovin pian toistuisi. K�ytett�viss� oleva koodiavaruus kasvaa siis kaksinkertaiseksi - melkein muttei aivan, koska 1/10 t�st� uudesta alueesta on jo varattu ISMN-numeroille (9790-alkuiset koodit). Tarkiste lasketaan kuten Tuotekoodeissa, joten sek� olemassaolevien ett� tulevien julkaisujen ISBN-13 on (l�hes aina) sama kuin niiden EAN-13 -koodi. T�m� muutos on tilap�isratkaisu; lis�� muutoksia - esim. uusia etuliitteit� - tulee joskus my�hemmin.
Tunniste voidaan jakaa v�liviivoilla viiteen osaan, joista kolme keskimm�ist� ovat samat kuin vanhoissa ISBN-numeroissa.
- Etuliite 978 tai 979
- Maa tai kielialue
- Kustantaja
- Nimike
- Tarkiste
Esimerkki (Isaac Asimov, Asimov's New Guide to Science, Penguin Books 1987):
Vanha ISBN-numero: 0-14-007621-2 Uusi ISBN-13: 978-0-14-007621-9 9 7 8 0 1 4 0 0 7 6 2 1 9 1 3 1 3 1 3 1 3 1 3 1 3 9 21 8 0 1 12 0 0 7 18 2 3 = 81 → 9Vastaava Tuotekoodi (EAN-13 / Bookland) on 9 780140 076219.
ISMN-numero ja ISWC-koodi ovat rinnakkaisia j�rjestelmi�, mutta j�lkimm�isen tarkiste lasketaan eri tavalla.
Kerroin 137
Menetelm�� k�ytet��n pankkisiirron viitenumerossa, henkil�kortin numerossa ja verolipun numerossa.Menetelm� tunnetaan nimell� IBM Check, mutta samaa nime� k�ytet��n my�s Luhnin moduli 10:st�.
Pankkisiirron viitenumero
Tarkisteen lis�ys- ja tarkistusohjelmaViitenumeroiden generointiohjelma
Viitenumeron sis�ll�n m��rittelee yleens� laskun l�hett�j�, joka numeron perusteella pystyy yhdist�m��n l�hetetyn laskun ja vastaanotetun maksun. Viitenumerot otettiin Suomessa k�ytt��n 1979.
Viitenumerosta on usein l�ydett�viss� esim. j�sennumero, asiakasnumero ja/tai laskun numero. T�llaisten tietojen yhdistelm�t pident�v�t numerosarjaa t�ysin tarpeettomasti. Erityisen� �lytt�myyten� voidaan pit�� numerosarjan alussa olevia nollia, jotka ovat hyvi� ehdokkaita maailman turhimmaksi asiaksi. Viitenumeron tarkoitus on maksusuorituksen yksil�inti, ja t�h�n riitt�� yleens� muutama numero. Finanssialan keskusliiton mukaan "n�pp�ilyvirheiden v�ltt�miseksi viitenumeron tulee olla lyhyt". On my�nnett�v�, ett� redundanssi voi helpottaa virheellisell� viitenumerolla saapuneen maksun kohdistamista oikeaan laskuun, mutta onko t�st� saatava hy�ty niin suuri, ett� sen takia kannattaa samalla lis�t� virhemahdollisuuksia? Vrt. Tarkistettavan tiedon pituus.
Viitenumerossa on 4..20 numeromerkki�. Pituutta laskettaessa ei oteta huomioon etunollia, joita ei pit�isi ollakaan. Viimeinen numero on tarkiste, muut saa valita vapaasti. Lyhyt juokseva numero on hyv� valinta. Numerosarja ryhmitell��n viiden numeron ryhmiin oikealta tai vasemmalta alkaen. L�hde: Suomen pankkiyhdistys (vuoden 2007 alusta Finanssialan keskusliitto), Tilisiirto-opas, 20.03.2002. Laskenta:
- Tarkistetta edelt�vi� numeroita painotetaan oikealta alkaen kertoimilla 7, 3, 1, 7, 3, 1 jne.
- Tulot lasketaan yhteen.
- Tarkistusnumero on numero, joka summaan on lis�tt�v� jotta tulos olisi tasan jaollinen kymmenell�.
6 1 7 4 3 5 4 1 3 7 1 3 7 6 3 49 4 9 35 = 106 → 4Tulojen viimeisten numeroiden yhteenlaskeminen antaa saman tarkistusnumeron.
Viitteellisten maksujen vastaanottaminen on yrityksille ja yhteis�ille halvempaa kuin viitteett�mien, joten viitenumeroa kannattaa k�ytt�� vaikkei sit� lainkaan tarvittaisi maksun yksil�intiin. T�llaiseen k�ytt��n sopivia vakioviitteit� ovat esim. 1313, 2121, 4242 ja 5555.
Viitenumero on englanniksi "reference number" tai "(Finnish domestic) creditor reference". T�t� tietoa etsiv�t yll�tt�v�n monet, vaikka sille pit�isi olla k�ytt�� vain harvoin, koska suomalaista viitenumeroa ei k�ytet� kansainv�lisess� maksuliikenteess�, jossa viitenumeron l�hin vastine on 01.12.2010 alkaen RF-viite ja aikaisemmin IPI:n maksunaihekoodi. Ainoa k�ytt�tarkoitus jonka t�lle k��nn�kselle keksin, on suomalaisten k�yt�nt�jen selitt�minen t��ll� asuville ulkomaalaisille – jos tied�t jonkin muun, ole hyv� ja kerro minullekin.
Koska on vaikea kuvitella, ett� pankit loputtomasti yll�pit�isiv�t rinnakkaisia j�rjestelmi�, on todenn�k�ist� ett� kotimaisista viitenumeroista luovutaan joskus 31.01.2014 j�lkeen kokonaan, ja k�ytt��n j��v�t vain RF-viitteet. Uudet sovellukset kannattaa suunnitella t�m�n mukaisesti.
Suomen Osto- ja Logistiikkayhdistys LOGY ry on ottanut saman tarkistusmenetelm�n k�ytt��n 12-numeroisissa rahtikirjanumeroissaan. Samaa tarkistusta k�ytet��n my�s pankkitilien numeroissa ainakin Virossa ja shekkien 9-numeroisissa reitityskoodeissa Yhdysvalloissa.
Samanlaisina toistuvissa maksuissa (esim. vuokra tai yhti�vastike) voidaan joka kerta k�ytt�� samaa viitenumeroa, jolloin maksu voidaan automatisoida.
Henkil�kortin numero
Pankkisiirron viitenumerossa k�ytett�v� Kerroin 137 -menetelm� sopii my�s seitsem�n tutkitun suomalaisen henkil�kortin numeroihin (kaksi vuoden 1999 maaliskuussa k�ytt��n otettua mallia, yksi vanhempi ja nelj� sirukorttia vuosilta 2004 ja 2006). Lehdiss� ja muualla julkaistuissa korttien kuvissa numero yleens� puuttuu, on lukukelvoton, sis�lt�� vain nollia tai on muuten ilmeisen keinotekoinen (esim. 000000033) tai manipuloitu, mutta havaituissa j�ljellej��viss� tapauksissa (6 kpl) toimii sama tarkistusmenetelm�. Lis�ksi yksi henkil� on ilmoittanut saman tarkistuksen sopivan oman korttinsa numeroon. Tarkistuksen sopiminen n�ihin numeroihin voi olla pelkk� sattuma, mutta oman mielivaltaisen tulkintani mukaan sattuman todenn�k�isyys on vain yksi yli 30 miljardista.Esimerkki (sirukortti, Keskisuomalainen nro 156 07.06.2006 sivu 8):
5 0 3 2 2 7 8 1 4 3 7 1 3 7 1 3 7 15 0 3 6 14 7 24 7 = 76 → 4T�t� tarkistusmenettely� ei k�ytet� passien numeroissa, eik� se v�ltt�m�tt� ole kansainv�linen standardi henkil�korteissakaan. Muista uuden mallin mukaisessa henkil�kortissa olevista tarkisteista on lis�tietoja matkustusasiakirjojen yhteydess�.
Verolipun numero
T�m� kuvaus ei perustu mihink��n julkaistuun dokumenttiin, vaan vain kolmeen tutkittuun verolippuun, jotka kaikki liittyv�t dieselveron maksamiseen. Verolipun numeron ja vastaavan pankkisiirron viitenumeron v�linen yhteys on kuitenkin niin ilmeinen, ett� n�inkin pienen aineiston perusteella asiaa voidaan pit�� k�yt�nn�ss� todistettuna. T�ll� hetkell� ei ole tiedossa, k�ytet��nk� samaa tarkistusta esim. ennakkoverolipun numerossa, mutta t�t� tarkistusta ei k�ytet� sellaisessa verolipussa, jolla ilmoitetaan veronpalautuksesta tai maksettavasta j��nn�sverosta.Dieselverolipun numeroon sis�ltyy auton rekisterinumero, jonka kirjaimet korvataan tarkisteen laskentaa varten numeroilla seuraavan taulukon mukaisesti:
A 11 | B 12 | C 13 | D 14 | E 15 | F 16 | G 17 | H 18 | I 19 | J 20 | K 21 | L 22 | M 23 |
N 24 | O 25 | P 26 | Q 27 | R 28 | S 29 | T 30 | U 31 | V 32 | W 33 | X 34 | Y 35 | Z 36 |
2 3 4 1 3 V G A 2 5 6 1 - 8 3 2 1 7 1 1 1 3 7 1 3 7 1 3 7 1 3 7 1 3 7 2 9 28 1 9 21 2 3 49 1 3 14 5 18 7 = 172 → 8Rekisterinumero on siis VGA-256. Vastaava viitenumero on 2 34133 21711 25618.
Matkustusasiakirjat
Matkustusasiakirjoja ovat Passi, Viisumi ja Henkil�kortti. Kaikissa k�ytet��n samaa standardoitua menettely� tarkisteiden laskemiseksi.Huom! Kansainv�listen standardien normaaliin tapaan t�ss� kuvatut k�yt�nn�t ovat vain suosituksia, eli valtiot voivat vapaasti my�nt�� standardeista poikkeavia matkustusasiakirjoja. Esim. mik��n n�kem�ni viisumi ei ainakaan kaikilta osin vastaa t�t� kuvausta. Lis�ksi standardi t�ss� muodossaan koskee vain passiin liimattavia viisumeita, ei leimoja, erillisi� papereita tai muovikortteja.
Allamainittava matkustusasiakirjan tyyppi tarkoittaa kahta merkki� ensimm�isen optisesti luettavan rivin alussa. Ensimm�inen merkki on P = Passi, V = Viisumi tai I = Henkil�kortti. Toinen merkki voi kertoa asiakirjan tarkemman tyypin - esim. passi voi olla diplomaattipassi (PD) tai viisumiin voi sis�lty� ty�lupa - mutta yleens� t�ss� kohdassa on v�limerkki.
On esitetty ett� paljastan t�ss� tietoja, joiden perusteella olisi mahdollista v��rent�� matkustusasiakirjoja. Ajatus on melko lapsellinen, sill� n�m� tiedot l�ytyv�t julkisista dokumenteista, joita kuka tahansa voi tilata nimellist� maksua vastaan, eik� t�ss� kuvata edes kaikkia julkisesti kerrottuja tai ao. asiakirjoista n�ht�viss� olevia turvatekij�it�, joiden lis�ksi on varmasti olemassa my�s salaisia tai hyvin vaikeasti havaittavia v��rent�mist� vaikeuttavia ominaisuuksia.
Passi
Viimeist��n vuodesta 1987 alkaen Suomessa my�nnetyiss� passeissa (paitsi ns. pikapasseissa) on ollut henkil�tietosivulla kaksi rivi�, jotka on tarkoitettu tietokoneen luettaviksi, mutta jotka ovat my�s ihmisen luettavissa. Rivien muoto on m��ritelty ICAO:n (International Civil Aviation Organization - Kansainv�linen siviili-ilmailuj�rjest�) dokumentissa 9303 osa 1.Biometrisell� tunnisteella varustetuista passeista on joitakin lis�tietoja omassa kappaleessaan.
Ensimm�isell� rivill� ilmoitetaan matkustusasiakirjan tyyppi (tavallisesti "P<"), my�nt�j� (Suomessa "FIN") ja haltijan nimi. N�iden muoto on tarkoin m��ritelty, mutta niihin ei liity tarkisteita.
Toisen rivin malli:
NNNNNNNN<TKKKAAAAAATSVVVVVVTHHHHHH<HHHH<<<TT ----+----1----+----2----+----3----+----4----
1..9 | Passin numero (N). Jos numero ei t�yt� koko kentt��, se tasataan vasempaan reunaan, ja kent�n loppu t�ytet��n v�limerkeill�, joka on t�ss� ja muissakin paikoissa "<". (Vasempaan reunaan tasauksesta on se erikoinen seuraus, ett� tarkisteen laskennan kannalta numeron alussa olevat nollat ovat merkitsevi�, mutta lopussa olevat eiv�t.) |
10 | Passin numeron tarkiste (T). |
11..13 | Passin haltijan kansalaisuus (K). Suomen kansalaisilla "FIN". |
14..19 | Passin haltijan syntym�aika (A), vuosi (kahdella numerolla), kuukausi ja p�iv�. |
20 | Syntym�ajan tarkiste (T). |
21 | Passin haltijan sukupuoli (S), "M" = Male, "F" = Female. |
22..27 | Passin viimeinen voimassaolop�iv� (V). Kuten syntym�aika. |
28 | Viimeisen voimassaolop�iv�n tarkiste (T). |
29..42 | Passin haltijan henkil�kohtainen tunniste, jonka kukin maa voi m��ritell� itse. Suomessa suomalainen henkil�tunnus (H), jossa "-" tai "+" on korvattu v�limerkill�, joilla on my�s t�ytetty kent�n loppuosa. 2000-luvulla syntyneiden henkil�tunnuksessa syntym�ajan ja yksil�numeron v�liss� oleva A-kirjain tulostuu sellaisenaan positioon 35. Joissakin maissa koko kentt� t�ytet��n v�limerkeill�, jolloin my�s kent�n tarkiste on v�limerkki tai nolla. |
43 | Henkil�kohtaisen tunnisteen tarkiste (T). T�t� ei pid� sekoittaa positiossa 39 olevaan tarkisteeseen, joka sis�ltyy itse henkil�tunnukseen ja joka on riippumaton passeja koskevasta standardista. |
44 | Passin numerosta, haltijan syntym�ajasta, passin viimeisest� voimassaolop�iv�st�, henkil�kohtaisesta tunnisteesta ja n�iden tarkisteista laskettu tarkiste (T). |
Tarkisteiden laskenta: Tarkistettavia numeroita painotetaan vasemmalta alkaen kertoimilla 7, 3, 1, 7, 3, 1 jne.. Kirjaimille k�ytet��n numeerisia arvoja 10..35 seuraavasti:
A 10 | B 11 | C 12 | D 13 | E 14 | F 15 | G 16 | H 17 | I 18 | J 19 | K 20 | L 21 | M 22 |
N 23 | O 24 | P 25 | Q 26 | R 27 | S 28 | T 29 | U 30 | V 31 | W 32 | X 33 | Y 34 | Z 35 |
Esimerkki. Tilan s��st�miseksi tuloista on merkitty n�kyviin vain viimeinen numero; vain sill� on merkityst� tarkisteen kannalta.
Yksitt�isten kenttien tarkisteet:
13846165<8FIN6506157F0110174150665<076R<<<78 731731731 731731 731731 73173173173173 798881250 250235 031037 75028500721000 =48→8 =17→7 =14→4 =37→7Koko rivin tarkiste:
13846165<8FIN6506157F0110174150665<076R<<<78 7317317317 3173173 1731731731731731731731 7988812506 8508151 0730714750285007210007 =148→8Elokuun 2005 ja maaliskuun 2006 v�lisen� aikana uusien passien takakanteen on ilmestynyt viivakoodi, joka on tyyppi� "Lomitettu 2/5" (Interleaved 2 of 5 = I25 = ITF), ja joka sis�lt�� passin numeron sek� tarkisteen, jonka ko. viivakoodistandardin mukainen lasketamenetelm� on Moduli 10. Minun passissani sek� viivakoodin ett� numerosarjan alussa on etunolla, jota tarvitaan v�ist�m�tt� siksi, ett� ko. viivakoodilla esitett�vien numeroiden lukum��r�n on aina oltava parillinen, mutta etunolla voi liitty� my�s siihen, ett� passin numero voi standardin mukaan olla enint��n 9-numeroinen. Viivakoodilla ei ole mit��n tekemist� sen kanssa, onko passi koneellisesti luettava, vaan t�m� asia riippuu yksinomaan tunnistetietosivulla olevista koneellisesti luettavista tekstiriveist� (takakannen viivakoodi ei edes n�y, jos passissa k�ytet��n erillisi� kansia).
ICAO:n dokumentissa mainitaan, ett� v��rent�j�t tekev�t usein virheit� passien tarkisteiden laskemisessa. T�m� on yll�tt�v��; sek� virheiden tekeminen ett� sen kertominen julkisesti.
Biometrisell� tunnisteella varustettu passi
21.08.2006 alkaen Suomessa my�nnett�v�t passit sis�lt�v�t biometrisen tunnisteen. Julkisuudessa ja my�s t�ss� dokumentissa aikaisemmin esitettyjen tietojen mukaan olisi tapahtunut useita muitakin muutoksia, mutta todellisuudessa muutokset n�ytt�v�t olevan v�h�isi�:- Passin numero sis�lt�� kirjaimia. T�m�n on standardi ennenkin sallinut, mutta suomalaisissa passeissa niit� ei ole k�ytetty.
- Takakannessa ollut tarra, jossa oli passin numero viivakoodina, on h�vinnyt (k�ytetty viivakoodij�rjestelm� ei salli kirjaimia, ja koneellisesti passin ulkopuolelta luettavissa oleva passin numero olisi turvallisuusriski).
Viisumi
Sama dokumentti (ICAO 9303), joka m��rittelee kansainv�lisen standardin passille, m��rittelee sellaisen my�s viisumille (osa 2). Niiss�kin on kaksi koneellisesti luettavaa rivi�, joiden muoto poikkeaa vain v�h�n passeissa k�ytett�vist�. Tarkisteiden kannalta ainoa oleellinen ero on se, ett� toisen rivin positiot 29..44 ovat viisumin my�nt�j�n m��ritelt�viss�, joten niihin ei liity standardissa m��riteltyj� tarkisteita.Henkil�kortti
Maaliskuusta 1999 alkaen Suomessa Suomen kansalaiselle annettava henkil�kortti kelpaa passin vaihtoehtona Euroopan Unionissa ja muutamassa muussa maassa. Kansainv�linen henkil�korttistandardi on m��ritelty samassa dokumentissa (ICAO 9303), joka m��rittelee standardin passeille (osa 3). Standardin t�m� osa ei ole ollut kirjoittajan k�ytett�viss�, vaan kuvaus perustuu viiteen tutkittuun suomalaiseen henkil�korttiin (plus kuviin n�ytekorteista) ja passeja koskevien tietojen soveltamiseen. Henkil�kortin numerosta on lis�tietoja kohdassa Kerroin 137.Henkil�kortin koneellisesti luettavassa osassa takana alhaalla on kolme rivi� � 30 merkki�. Alimmalla rivill� on kortin haltijan nimi samassa muodossa kuin passissa, eik� t�ll� rivill� ole tarkisteita.
Ensimm�isen rivin malli:
KKMMMNNNNNNNNNT<<<<<<<<<<<<<<< ----+----1----+----2----+----3
1..2 | Matkustusasiakirjan tyyppi, tavallisesti "I<" (K). |
3..5 | Kortin my�nt�j�. Suomalaisessa kortissa "FIN" (M). |
6..14 | Kortin numero (N). |
15 | Kortin numeron tarkiste (T). T�m� ei ole sama kuin kortin numeroon sis�ltyv� tarkiste, joka on positiossa 14 ja joka l�ytyy my�s kortin toiselta puolelta. |
16..30 | V�limerkkej�. Kuten passissa. |
Toisen rivin malli:
AAAAAATSVVVVVVTKKK<<<<<<<<<<<T ----+----1----+----2----+----3
1..6 | Kortin haltijan syntym�aika (A), vuosi (kahdella numerolla), kuukausi ja p�iv�. |
7 | Syntym�ajan tarkiste (T). |
8 | Kortin haltijan sukupuoli (S), "M" = Male, "F" = Female. |
9..14 | Kortin viimeinen voimassaolop�iv� (V) eli "Parasta ennen" -p�iv�ys. Kuten syntym�aika. Uuteen korttimalliin on tehty muitakin parannuksia, mutta t�m�n tiedon puuttuminen on se syy, jonka vuoksi aikaisemmat kortit eiv�t kelvanneet matkustukseen muualla kuin Pohjoismaissa. Vanhat kortit olivat voimassa vuoden 2002 loppuun saakka (laki 829/1999). |
15 | Viimeisen voimassaolop�iv�n tarkiste (T). |
16..18 | Kortin haltijan kansalaisuus (K). Suomen kansalaisilla "FIN". |
19..29 | V�limerkkej�. |
30 | Kortin numerosta, haltijan syntym�ajasta, kortin viimeisest� voimassaolop�iv�st� ja n�iden tarkisteista laskettu tarkiste (T). |
Yksitt�isten kenttien tarkisteet lasketaan aivan samoin kuin passissa. Kenttien yhteinen tarkiste lasketaan my�s samalla tavalla, mutta on otettava huomioon ett� painokertoimien sarja jatkuu katkottomana ensimm�iselt� rivilt� toiselle. Esimerkki kenttien yhteisest� tarkisteesta:
I<FIN2001064876<<<<<<<<<<<<<<< 7317317317317317317317317 4007068472 = 38 7208207F0905046FIN<<<<<<<<<<<4 3173173 1731731 1204201 0305026 = 26 + 38 = 64 → 4Standardi m��rittelee kaksi eri kokoista henkil�korttia. Suomessa annettavat ovat luultavasti pienemp�� mallia. Henkil�kortin ja Kela-kortin yhdistelm�ss� on viivakoodi, mutta se ei liity kortin k�ytt��n matkustusasiakirjana, vaan k�ytt��n Kela-korttina. Kortin koneellinen luettavuus seuraa edell�kuvatuista tekstiriveist�, ei viivakoodista.
Henkil�llisyyden todentamisesta
Henkil�llisyytens� voi todistaa mill� tahansa mink� kysyj� hyv�ksyy. Olen lukemattomia kertoja tehnyt t�m�n ty�nantajalta saadulla henkil�kortilla. Englannissa kelpaa kuulemma vaikka kaasulasku.Joillakin ihmisill� on kuitenkin luja usko siihen, ett� on olemassa virallinen luettelo dokumenteista, joilla henkil�llisyyden voi todentaa. Katsotaan ensin sanakirjasta, mit� tarkoittaa "virallinen", ja havaitaan sen olevan oleellisesti sama kuin "s��d�kseen perustuva". S��d�ksi� ovat lait ja asetukset. Min� en kuitenkaan tuollaista yleisp�tev�� luetteloa s��d�skokoelmasta l�yd�, vaikka henkil�llisyyden todentaminen mainitaan useassa kohdassa. Jotakin sent��n l�ytyy:
V�est�tietoasetukseen (22.10.1993/886) tehdyn muutoksen (26.11.1999/1064, 34�) mukaan henkil�llisyys voidaan todeta "voimassa olevasta kotimaisesta poliisin my�nt�m�st� passista tai henkil�kortista taikka 1 p�iv�n� lokakuuta 1990 tai sen j�lkeen annetusta ajokortista".
Valtioneuvoston asetus 707/2006 sanoo muuten saman asian (monimutkaisemmin), mutta ajokorttia ei mainita. Nuo molemmat m��ritelm�t on tarkoitettu k�ytett�viksi tietyiss� erityistilanteissa, mutta niin kauan kun yleisemp�� m��ritelm�� ei ole, V�est�tietoasetuksessa mainittua voi mielest�ni pit�� virallisimpana mit� l�ytyy.
Ennen tuota vuoden 1999 asetusmuutosta henkil�kortti (ja sit� ennen henkil�llisyystodistus) oli ainoa dokumentti, jolla henkil�llisyys voitiin virallisesti todentaa, koska vain sit� koskevassa s��d�ksess� t�llainen k�ytt�tarkoitus mainittiin. Ajokortti on Ajokorttiasetuksen mukaan vain todistus ajo-oikeudesta, passi taas Passilain mukaan todistus oikeudesta matkustaa ulkomaille. Vaikka passia ja ajokorttia tuolloinkin yleisesti k�ytettiin henkil�llisyystodistuksina, t�m� ei perustunut mihink��n s��d�kseen.
Se jolla on parempaa tietoa kertokoon minullekin.
Kerroin 12
T�t� menetelm�� k�ytet��n hiukan erilaisina versioina PallasProssa ja UPS:n seurantanumerossa.Kirjaston kortti tai kirja (PallasPro)
PallasPro on kirjastojen tietoj�rjestelm�, jonka puitteissa tuotetaan mm. asiakaskortteja (kirjastokortteja) sek� kirjoihin liimattavia nidetarroja. T�m� kuvaus perustuu yhteen Internetist� l�yt�m��ni lyhyeen dokumenttiin, jonka tiedot on p�iv�tty lokakuussa 2005, sek� kirjaston kirjoista ja muutamista korteista tehtyihin havaintoihin, jotka eiv�t ole t�ysin yhteensopivia dokumentin kanssa. PallaPro-j�rjestelm�� k�ytt�vien kirjastojen kirjastokorteissa ja kirjojen nidetarroissa k�ytet��n tunnuksia, joiden muoto on KKK L SSSSSSS T jossa:- KKK: Kuntanumero
- L: A = Asiakas (kirjastokortti), N = Nide (kirjan tarra)
- SSSSSSS: Yksil�iv� numero
- T: Tarkiste, lasketaan vain yksil�iv�st� numerosta
- Tarkistettavia numeroita painotetaan vasemmalta oikealle kertoimilla 2, 1, 2, 1 jne..
- Tulot lasketaan yhteen.
- Summa jaetaan 10:ll�. Jakoj��nn�s (summan viimeinen numero) on tarkiste.
1 1 3 8 5 7 4 2 2 1 2 1 2 1 2 2 1 6 8 10 7 8 = 42 → 2Menetelm�n kyky paljastaa virheit� riippuu tarkistettavien numeroiden m��r�st�. Jos m��r� on pariton, kuten eo. esimerkiss�, kaikki vierekk�isten numeroiden keskin�iset vaihtumiset huomataan. Jos m��r� on parillinen, osa vaihdoista j�� havaitsematta, mutta yksitt�isten numeroiden muutokset havaitaan paremmin (kaikkia ei havaita koskaan). Numerosarjan pituuden muuttuminen huomataan suunnilleen yht� hyvin molemmissa tapauksissa. Kappaleessa Painokertoimet on selitetty, miksi t�t� menetelm�� ei voi pit�� suositeltavana.
UPS:n seurantanumero
United Parcel Service (UPS) on yhdysvaltalainen kuriiripalveluyritys, joka toimii maailmanlaajuisesti, my�s Suomessa. Jokaisella tavaral�hetyksell� on seurantanumero (tracking number), jonka avulla l�hetyksen kulkua palvelun toimipisteiden kautta voidaan seurata reaaliaikaisesti Internetiss� (ainakin t�m� on tarkoitus - asiakkaiden kertoman mukaan reaaliaikaisuus ei aina toteudu k�yt�nn�ss�). Seurantanumeron muoto on 1Z AAA AAA BB CCCC CCC T, jossa: 1Z on vakio (literaali), A on l�hett�j�n alfanumeerinen tunnus, B on alfanumeerinen palvelukoodi (toimitustapa), C on numeerinen l�hetyksen yksil�iv� tunnus ja T on tarkistenumero. Numero esitet��n usein yhten�isen� merkkijonona ilman v�lily�ntej�, mutta jos numero ryhmitell��n, edell�oleva tapa n�ytt�� olevan ainoa virallinen. Tarkisteen laskenta:- Alussa olevaa 1Z-vakiota ei oteta mukaan tarkisteen laskentaan.
- Kirjaimet korvataan numeroilla seuraavan taulukon mukaisesti:
A 2 B 3 C 4 D 5 E 6 F 7 G 8 H 9 I 0 J 1 K 2 L 3 M 4 N 5 O 6 P 7 Q 8 R 9 S 0 T 1 U 2 V 3 W 4 X 5 Y 6 Z 7 - Tarkistettavia numeroita (15 kpl) painotetaan vasemmalta alkaen kertoimilla 1, 2, 1, 2 jne..
- Tulot lasketaan yhteen.
- Tarkiste on numero, joka summaan on lis�tt�v�, jotta tulos olisi tasan jaollinen 10:ll�.
1 Z X 7 V 0 5 5 6 7 4 3 7 1 6 4 8 2 Kirjaimet korvattu 5 3 ← numeroilla 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 5 4 3 0 5 0 6 4 4 6 7 2 6 8 8 = 68 → 2Tilan s��st�miseksi kustakin tulosta on merkitty n�kyviin vain viimeinen numero; vain sill� on merkityst� tarkisteen laskennassa. T�ll� tarkistuksella on oleellisesti samat heikkoudet kuin PallasProlla, mutta virhemahdollisuuksia lis�� se, ett� kussakin tapauksessa kolmella tai nelj�ll� eri merkill� on sama numeroarvo, esim. F = P = Z = 7. Huomaa ett� toisaalta F ja P, toisaalta Z ja 7 muistuttavat toisiaan, joten on helppo tehd� virheit�, joita tarkiste ei paljasta. Lis�ksi muutamassa tapauksessa tietokoneen n�pp�imist�ss� vierekk�in olevilla n�pp�imill� on sama numeroarvo. Vrt. Esimerkki kirjainten numeroarvoista.
Useiden l�hteiden mukaan UPS k�ytt�� my�s kahta muuta lyhyemp�� seurantanumerotyyppi�, mutten ole l�yt�nyt kuvausta niiden tarkisteiden laskennasta. Kun aitoja esimerkkej�k��n ei ole k�ytett�viss�, asiaa ei voi selvitt�� edes kokeilemalla.
Kerroin 234
IMO-numero
IMO = International Maritime Organization = Kansainv�linen merenkulkuj�rjest�. IMO-numero on kaupallista merenkulkua harjoittavan matkustaja- tai rahtilaivan tunniste, joka muodostuu kirjaimista IMO sek� seitsem�st� numerosta. Tunnuksia jakaa IHS Fairplay, aikaisemmin Lloyd's Register - Fairplay Ltd. Tunnisteen pit�isi olla selv�sti n�kyviss� laivan ulkopuolella (matkustajalaivoissa ylh��lt� katsottaessa), ja se merkit��n my�s laivaa koskeviin dokumentteihin. Numero s�ilyy samana koko laivan elini�n, riippumatta rakenteellisista muutoksista tai nimen tai omistajan vaihtumisesta. Numeroa, joka on kerran yhdelle laivalle annettu, ei koskaan anneta toiselle. Viimeinen numero on tarkiste. Laskenta:- Tarkistettavia numeroita painotetaan oikealta vasemmalle kertoimilla 2, 3, 4, 5, 6 ja 7.
- Tulot lasketaan yhteen.
- Summa jaetaan 10:ll�. Jakoj��nn�s on tarkiste.
7 6 2 5 8 1 1 7 6 5 4 3 2 49 36 10 20 24 2 = 141 → 1Menetelm� voitaisiin kuvata my�s niin, ett� kertoimet ovat 3..8 vasemmalta oikealle, ja tarkiste on numero joka summaan on lis�tt�v�, jotta tulos olisi tasan jaollinen kymmenell�.
Menetelm�ll� on samat vahvuudet ja heikkoudet kuin Kerroin 123:lla. N�m� on kuvattu Kemikaalin CAS-numeron yhteydess�. Huom! Tieto tarkisteen laskennasta ei perustu mihink��n julkaistuun dokumenttiin, vaan yli 50 aidon IMO-numeron analysointiin.
IMO-numeroiden tarkistuksesta olen kirjoittanut my�s englanninkielisen kuvauksen, koska sellaista ei n�yt� Internetist� muualta l�ytyv�n. Kuvaukseen liittyy tarkistusohjelma.
Huviveneill� on runkonumero (Hull Identification Number, HIN), joka on m��ritelty standardissa ISO 10087, mutta siin� ei ole tarkistetta.
Kerroin 123
T�t� menetelm�� k�ytet��n ISWC-koodissa ja kemikaalin CAS-numerossa. Ensinmainituissa on kuitenkin pieni lis�ys perusmenetelm��n n�hden.Tarkisteen laskenta voidaan tehd� kahdella tavalla, joiden suhde toisiinsa on hyvin samanlainen kuin ISBN-numeron tapauksessa. Esimerkki (tarkemmat kuvaukset sovellusten yhteydess�):
Laskentatapa 11 9 5 5 6 6 7 8 9 6 63 40 45 = 154 → 6 |
Laskentatapa 21 9 5 5 6 4 3 2 1 4 27 10 5 = 46 → 6 |
ISWC-koodi
ISWC = International Standard Work Code (ISO 15707). Ensimm�isess� vaiheessa k�yt�ss� on ISWC-T, jota k�ytet��n musiikkiteosten (T = Tune) tunnistamiseen. ISBN-, ISBN-13 ja ISMN-numerosta poiketen ISWC:ll� tunnistetaan teos, ei sen julkaisuasua. Tunniste muodostuu etuliitteest� ISWC, alkukirjaimesta T, yhdeks�st� numerosta ja tarkistenumerosta. Luettavuuden parantamiseksi merkit voidaan ryhmitell� v�liviivoilla ja pisteill�, mutta toisin kuin ISBN, ISBN-13 ja ISMN, ISWC on "tyhm�" tunniste, jonka numeroilla ei ole itsen�isi� merkityksi�. Tunniste ei siis kerro kohteestaan mit��n muuten kuin ao. tietokannan kautta.Tarkisteen laskenta: Tunnisteen numeroita painotetaan vasemmalta alkaen kertoimilla 1, 2, 3 jne.. T-kirjaimen arvo tarkistetta laskettaessa on 1, joka on my�s sen painokerroin. Tulot lasketaan yhteen. Tarkiste on numero, joka summaan on lis�tt�v� jotta tulos olisi tasan jaollinen kymmenell�.
Esimerkki: ISWC T-041.559.258-3
T - 0 4 1 . 5 5 9 . 2 5 8 - 3 1 1 2 3 4 5 6 7 8 9 1 0 8 3 20 25 54 14 40 72 = 237 → 3ISWC:n sanotaan perustuvan "vahvasti" ISMN:n (alkuper�iseen) syntaksiin, mutta en havaitse kovin suuria yht�l�isyyksi� sen paremmin muodossa, sis�ll�ss� kuin tarkisteen laskennassakaan. Tosin ISWC:n piti alun perin olla samanmittainen kuin ISMN, joten sekaannusten v�ltt�miseksi valittiin toinen alkukirjain.
Standardointity�n ollessa kesken k�ytettiin my�s nime� Information System Work Code. ISWC:st� on ollut tarkoitus kehitt�� my�s muunnelmia muiden luovan ty�n tulosten tunnistamiseen, mutta ty� ei n�yt� edistyv�n.
Menetelm�n vahvuuksia ja heikkouksia on kuvattu Kemikaalin CAS-numeron kohdalla.
Kemikaalin CAS-numero
Kemikaalin tunnistamiseen k�ytetty CAS-numero (Chemical Abstracts Service Registry Number) on muotoa AAAA-BB-T, jossa AAAA:n pituus vaihtelee mutta on enint��n kuusi numeroa ja T on tarkiste. Laskenta: Tarkistettavia numeroita painotetaan oikealta alkaen kertoimilla 1, 2, 3 jne.. Tulot lasketaan yhteen ja summa jaetaan 10:ll�. Jakoj��nn�s on tarkiste. Esimerkkej�: Bentseeni 71-43-2 ja rikkihappo 7664-93-9:7 1 - 4 3 - 2 4 3 2 1 28 3 8 3 = 42 → 2 7 6 6 4 - 9 3 - 9 6 5 4 3 2 1 42 30 24 12 18 3 = 129 → 9L�hde: CAS:n kotisivu. Kuten todetaan kappaleessa Painokertoimet, viisi ja kaikki parilliset numerot ovat t�m�ntyyppisess� j�rjestelm�ss� huonosti valittuja painokertoimia, mik� n�kyy siten ett� tarkistus ei aina paljasta edes kaikkein tavallisinta virhett�, eli yhden numeron vaihtamista toiseksi (kokeile mit� tapahtuu jos rikkihapon koodin ensimm�inen 6 korvataan 8:lla tai j�lkimm�inen 1:ll� - ensimm�isen muutoksen tuottama koodi ei ole ainoastaan muodollisesti virheet�n, vaan sit� vastaava aine on todella olemassa). Tarkistus paljastaa kuitenkin varsin hyvin kahden vierekk�isen numeron vaihtumisen kesken��n.
Kemikaaleille on my�s useita muita tunnistej�rjestelmi�.
Summa 10
Lounasseteli
T�ll� hetkell� (toukokuu 2012) k�ytett�viss� lounasseteleiss� on kaksi numerosarjaa, yksi alareunassa ja toinen oikeassa reunassa. Alareunan numerosarja voi n�ytt�� esim. t�llaiselta:13009 032 130770>Kaksi ensimm�ist� numerosarjaa ovat luultavasti setelin sarjanumero, pelkk� juokseva numero ilman sis�ist� rakennetta. Oikealla puolella kaksi ensimm�ist� numeroa osoittavat mink� vuoden loppuun saakka seteli on voimassa (esimerkiss� 31.12.2013 saakka). Loput numerot osoittavat setelin arvon (esimerkiss� 7,70 €). Oikean reunan numerot samassa seteliss� ovat:
24 282Kun lasketaan yhteen sarjanumeron nelj� viimeist� numeroa ja lis�t��n kymmenen, saadaan oikean reunan kaksi ensimm�ist� numeroa, esimerkkiseteliss�:
9 + 0 + 3 + 2 + 10 = 24T�t� on pidett�v� eritt�in yksinkertaisena (eli heikkona) tarkistuksena, mutta toisaalta se on riitt�v�n yksinkertainen setelin vastaanottajan p��ss� laskettavaksi, ja ehk� juuri t�m� on tarkoituskin.
Kolme viimeist� numeroa on painettu mustalla mustalle, mutta numerot heijastavat valoa eri tavalla kuin tausta. Havaituissa tapauksissa viimeinen numero on aina sama kuin sarjanumeron viimeinen numero, mutta kahdesta edelt�v�st� numerosta ei ole tarkempia tietoja. Arvaus: Numerot ovat tarkisteita, ja ne hohtavat ultravioletti- tai infrapunavalossa tai ovat magneettista painov�ri�, tai ne on muuten helppo lukea koneellisesti, jonka j�lkeen niit� voidaan verrata laskettuihin tarkisteisiin.
Moduli 9Menetelm�� k�ytet��n hiukan eri tavoin soveltaen matkashekkien ja eurosetelien sarjanumeroissa sek� muuntogeenisten organismien tunnisteissa.Huom! Kun 10-kantaisia lukuja k�ytett�ess� tehd��n jako 9:ll�, jakoj��nn�s on sama siit� riippumatta, jaetaanko alkuper�inen kokonaisluku vai sen numeroiden summa. T�m� helpottaa jakoj��nn�ksen laskemista, jos jaettavana on suuri luku. Valitettavasti menetelm�� ei voi yleist�� muihin tarkisteita laskettaessa tavanomaisesti k�ytett�viin jakajiin. Sit� vastoin s��nt� on yleistett�viss� muille kantaluvuille: Kun B-kantaisia lukuja k�ytett�ess� tehd��n jako (B-1):ll�, jakoj��nn�s on sama siit� riippumatta, jaetaanko alkuper�inen kokonaisluku vai sen numeroiden summa (samaa kantalukua B on tietysti muistettava k�ytt�� joka kohdassa). Matkashekin sarjanumeroAmerican Expressin (AmEx) matkashekin oikeassa yl�nurkassa on yhdeks�nnumeroinen sarjanumero, joka toistuu osana shekin alareunassa olevaa optisesti tai magneettisesti luettavaa rivi�. T�ll� rivill� sarjanumeron loppuun on lis�tty tarkiste, joka valitaan siten ett� koko numerojonon summa - ja samalla numeroiden muodostama luku - on tasan jaollinen yhdeks�ll�. Sarjanumeroa edelt�v�t numerot eiv�t ole tarkistuksessa mukana. Esimerkki: Sarjanumero 445�643�619, numeroiden summa on 42 → tarkiste on 3 (42+3=45, joka on tasan jaollinen 9:ll�), tarkisteellinen numerojono on 4456436193.T�m� tarkistus on todettu toimivaksi vuosina 1991 ja 2000 hankituissa AmExin shekeiss�. VISA:n matkashekeiss� kerrotaan k�ytett�v�n samaa tarkistusta. Joidenkin l�hteiden mukaan tarkisteen pit�isi sis�lty� itse sarjanumeroon, mutta havainnot eiv�t tue t�t�. Virheenpaljastuskyky on vaatimaton kaikissa sellaisissa menetelmiss�, joissa tarkistettavat numerot lasketaan yhteen ilman painokertoimia. Vrt. Painokertoimet ja Havaittuja heikkouksia. Eurosetelin sarjanumeroEuroseteleit� on kaksi sarjaa.
Esimerkkej�: 20 €:n seteli X09093074411, 5 €:n seteli SE2041459102 ja 10 €:n seteli UC3009629701 X 0 9 0 9 3 0 7 4 4 1 1 88 0 9 0 9 3 0 7 4 4 1 1 = 54 → 9 X 0 9 0 9 3 0 7 4 4 1 1 88 0 9 0 9 3 0 7 4 4 1 1 = 126 → 9 S E 2 0 4 1 4 5 9 1 0 2 83 69 2 0 4 1 4 5 9 1 0 2 = 54 → 9 S E 2 0 4 1 4 5 9 1 0 2 83 69 2 0 4 1 4 5 9 1 0 2 = 180 → 9 U C 3 0 0 9 6 2 9 7 0 1 85 67 3 0 0 9 6 2 9 7 0 1 = 63 → 9 U C 3 0 0 9 6 2 9 7 0 1 85 67 3 0 0 9 6 2 9 7 0 1 = 189 → 18 → 9Esimerkeiss� 1, 3 ja 5 on summattu ASCII-arvojen numerot, mik� on helpompaa k�sin laskettaessa. Esimerkiss� 2, 4 ja 6 on summattu itse ASCII-arvot, mik� taas on helpompaa tietokoneohjelmassa. Tarkiste voidaan laskea esim. seuraavalla kaavalla: tarkiste = (350 - summa) mod 9 + 1Jossa "summa" on tarkistettavien numeroiden summa (ml. kirjainten numeroarvot) ja 350 on mielivaltaisesti valittu luku, joka kuitenkin t�ytt�� seuraavat ehdot: Luku plus yksi on tasan jaollinen yhdeks�ll�; luku on v�hint��n suurimman tarkisteen (9) verran suurempi kuin suurin mahdollinen summa (261). Esim: Summa ilman tarkistetta on 53Huomaa ett� tarkiste ei koskaan ole 0, vaikka se toteuttaisi tarkistuksen yht� hyvin kuin 9. – N�inkin vaatimaton tarkistus riitt�nee koneelliseen lukuun, mutta olisi mielenkiintoista tiet��, sis�ltyyk� sarjanumeroon paremmin piilotettuja tarkistuksia, vrt. Tarkistettavan tiedon pituus (kehystetty teksti). 2002-sarjan setelien sarjanumeroissa kirjain osoittaa alkuper�maan seuraavan taulukon mukaisesti:
| Kypros | T | Irlanti | |||||||||||||||||||||||||||||||||||||||
H | Slovenia | U | Ranska | |||||||||||||||||||||||||||||||||||||||
J | Yhdistynyt kuningaskunta | V | Espanja | |||||||||||||||||||||||||||||||||||||||
K | Ruotsi | W | Tanska | |||||||||||||||||||||||||||||||||||||||
L | Suomi | X | Saksa | |||||||||||||||||||||||||||||||||||||||
M | Portugali | Y | Kreikka | |||||||||||||||||||||||||||||||||||||||
N | It�valta | Z | Belgia |
2013-sarjan seteleiss� 1. kirjain osoittaa painopaikan. 2. kirjaimella ei ole informaatiosis�lt��, numeron vaihtaminen kirjaimeksi vain lis�� mahdollisten sarjanumeroiden lukum��r��.
Suurin osa n�ist� tiedoista ja paljon muuta l�ytyv�t my�s englanninkielisest� Wikipediasta. Tiedot on tarkistettu vertaamalla niit� todellisiin sarjanumeroihin. Wikipediassa on tietoja my�s mm. paljain silmin n�ht�v�n vesileiman viivakoodista, kuvank�sittely� vaikeuttavasta digitaalisesta vesileimasta, mikropainatuksesta, magneettisen musteen k�yt�st�, infrapuna- tai ultraviolettivaloon reagoivista materiaaleista, valokopioinnin est�v�st� EURion-kuviosta ja eurosetelin kuusimerkkisest� painokoodista (setelipaino, painolaatta, painoarkin rivi ja sarake). 2002-sarjan seteleiss� painokoodin osoittama setelipaino on usein eri maassa kuin miss� seteli on laskettu liikkeelle; 2013-sarjan seteleist� j�lkimm�ist� tietoa ei voi p��tell�.
2002-sarjan sarjanumeroiden tarkistus on aikaisemmin kuvattu ainakin kahdella muulla tavalla, joista yht� ei voi mielekk��sti soveltaa 2013-sarjaan, ja toinen tuottaa v��ri� tuloksia, joten yll�olevaa kuvausta on pidett�v� tuntemistani vaihtoehdoista ainoana oikeana.
Muuntogeenisen organismin tunniste
Muuntogeenisten organismien (Genetically Modified Organisms, GMO) ja niist� saatavien tuotteiden j�ljitt�miseksi Euroopan Unioni on ottanut k�ytt��n 11-merkkisen tunnisteen, joka on muodoltaan ja sis�ll�lt��n sama kuin OECD:n (Organisation for Economic Co-operation and Development, Taloudellisen yhteisty�n ja kehityksen j�rjest�) m��rittelem� BioTrack-tietokannassa ja bioturvallisuutta koskevassa tiedonv�litysj�rjestelm�ss� k�ytett�v� tunniste. Tunnistetta sanotaan my�s 9-merkkiseksi, mutta t�ll�in ei oteta huomioon v�liviivoja, vaikka ensimm�isen viivan sijainti on merkityksellinen. Tunnisteen muodolle on kaksi vaihtoehtoa:- AAA-BBBBB-T
- AA-BBBBBB-T
- Kirjaimille A..Z k�ytet��n numeroarvoja 1..26 (A=1, B=2, C=3 ... Y=25, Z=26).
- Tunnisteen numerot ja kirjainten numeroarvot lasketaan yhteen.
- Jos summassa on enemm�n kuin yksi numero, ne lasketaan yhteen. T�t� toistetaan kunnes j�ljell� on vain yksi numero.
- J�ljelle j��v� numero (1..9) on tarkiste.
K M - � � � H 7 1 - 4 11 13 0 0 0 8 7 1 = 40; 4 + 0 = 4 C G N - 8 9 3 2 2 - 3 3 7 14 8 9 3 2 2 = 48; 4 + 8 = 12; 1 + 2 = 3Huomaa ett� erotukseksi O-kirjaimesta nolla esitet��n s��nn�nmukaisesti merkill� "�" (ISO Latin-1 -merkist�ss� heksadesimaalikoodi D8; sama kuin norjan ja tanskan iso �). T�m� on hyv� ottaa huomioon jos tehd��n ohjelma sy�tt�tietojen tarkistamiseksi - ei liene vahingoksi jos ohjelma hyv�ksyy nollat kahdella eri tavalla esitettyin� (� voi olla vaikea sy�tt��), mutta konvertoi tavalliset nollat oikeaan muotoon ennen tietojen l�hett�mist� eteenp�in.
L�hde: Komission asetus (EY) N:o 65/2004, Euroopan Unionin virallinen lehti 16.01.2004.
T�ss� sovelluksessa menetelm� on kokonaisuutena viel� hiukan heikompi kuin matkashekkien ja eurosetelien sarjanumeroita tarkistettaessa. Noissa sovelluksissa luku on todenn�k�isesti koneellista, jolloin heikkotehoinen tarkistusmenetelm� on ehk� viel� joten kuten puolusteltavissa, mutta t�m� sovellus on paremminkin er�iden lukumystiikka-taikauskon menetelmien kirjaimellinen toteutus kuin kunnollinen tarkistusmenetelm�. Ainoa mik� (toivottavasti) puuttuu on geenimuunnoksen vaikutusten arviointi tarkisteen perusteella lukumystiikan keinoin. Kymmenen kertaa parempia menetelmi� olisi l�hes yht� helppo k�ytt��. T�llainen "tarkistus" antaa kehitt�j�st��n OECD:st� huonon kuvan. Ei suositella k�ytett�v�ksi muualla. Katso Havaittuja heikkouksia.
Tunnisteiden k�yt�ss� n�ytt�isi olevan ongelma, jos luvanhaltija, jolla on 3-merkkinen tunnus, haluaa rekister�id� geenimuunnoksen, jolle on jo ennest��n annettu 6-merkkinen tunnus, mutta jos t�m� ei h�iritse OECD:t� eik� EU:ta, ei kai minunkaan tarvitse asiasta v�litt��.
Moduli 7
Lentolipun sarjanumero
T�m� kuvaus ei perustu mihink��n Suomessa julkaistuun dokumenttiin, ja toistaiseksi on tutkittu vain Austrian Airlinesin, British Airwaysin, Finnairin, KLM:n ja Lufthansan lippuja, mutta samanlaista tarkistusta kerrotaan k�ytett�v�n Yhdysvalloissa, ja menetelm� saattaa olla maailmanlaajuinen.Lipun alareunassa on numerosarja, joka esiintyy useassa eri muodossa. Lipun kuittiosassa (siin� joka j�� matkustajalle lennon j�lkeen) numerosarjan alussa on 0, jonka j�lkeen tulee 3 + 10 numeroa, ja viimeisen� erikseen tarkiste joka lasketaan kaikista edelt�vist� numeroista jakamalla niiden muodostama luku 7:ll�. Jakoj��nn�s on tarkiste. Esimerkki:
0 105 0812661740 2 01050812661740 mod 7 = 2Huomaa ett� tarkiste ei koskaan ole suurempi kuin 6. Varsinaisissa lipuissa numerot ovat muuten samat, mutta tavanomaisella menopaluulennolla menolipussa ensimm�inen numero on 1 ja paluulipussa 2. Tarkiste muuttuu vastaavasti:
1 105 0812661740 5 11050812661740 mod 7 = 5 2 105 0812661740 1 21050812661740 mod 7 = 1Monimutkaisemmilla lennoilla numerointia jatketaan pitemm�lle. Kolminumeroinen osa on lentoyhti�n IATA-numero (International Air Transport Association - Kansainv�linen ilmakuljetusliitto; 074 = KLM, 105 = Finnair, 125 = British Airways, 220 = Lufthansa, 257 = Austrian Airlines jne.). Ilmoitetut numerom��r�t perustuvat muutamiin tutkittuihin lippuihin; muissa (varsinkin yhdysvaltalaisten lentoyhti�iden) lipuissa m��r�t voivat vaihdella.
Virheenpaljastuskyky on heikompi kuin kehittyneemmill� menetelmill� (vrt. Havaittuja heikkouksia), mutta erinomainen siihen n�hden kuinka yksinkertainen menetelm� on. Tarvittaessa katso Jakoj��nn�s ja kongruenssi, jossa kerrotaan my�s miten lasketaan jakoj��nn�s suuresta luvusta.
ISO 7064
Varoitus! T�m� kuvaus perustuu kokonaan toisen k�den tietoihin ja omiin havaintoihini. Virallinen standardi ei ole ollut k�ytett�viss�ni. Er��t l�htein� k�ytetyt sovellusten kuvaukset ovat keskener�isi�. T�ss� esitetyt tiedot voivat muuttua tai olla virheellisi�.ISO (Kansainv�linen standardointij�rjest�, International Organization for Standardization) on m��ritellyt standardissa 7064 kahdeksan tarkistusmenetelm��, joita suositellaan k�ytett�viksi n�pp�ilyvirheiden havaitsemiseksi. Joillakin tahoilla n�ytt�� olevan vakaa usko standardin mukaisten menetelmien erinomaisuuteen. Menetelmien kehitt�misen tavoitteet ovat olleet seuraavat:
- Havaitaan kaikki tapaukset, joissa yksitt�inen merkki vaihtuu toiseksi.
- Havaitaan kaikki tai l�hes kaikki tapaukset, joissa kaksi merkki� vaihtavat paikkaa kesken��n.
- Havaitaan kaikki tai l�hes kaikki tapaukset, joissa merkkien m��r� muuttuu.
- Havaitaan suuri osa tapauksista, joissa kaksi merkki� vaihtuu toisiksi.
- Havaitaan suuri osa kaikista muista virheist�.
- Automaattinen virheiden korjaaminen
- Tahallisten muutosten havaitseminen
- Koneiden v�linen tiedonsiirto
Standardin ensimm�inen versio julkaistiin 1983 ja toinen vuonna 2003. Standardin mukaiset menetelm�t eiv�t n�yt� levinneen kovin laajalle. T�h�n on luullakseni useita syit�:
- Monet nykyisin k�ytett�v�t menetelm�t ehtiv�t tulla k�ytt��n ennen standardin julkistamista, vaikken voi olla panematta merkille, ett� sen j�lkeenkin on laadittu useita ISO-standardeja, joissa k�ytet��n muita kuin t�h�n standardiin sis�ltyvi� menetelmi�.
- Monien tarkistusmenetelmien kuvaukset ovat vapaasti saatavissa Internetist� (tosin parin menetelm�n kohdalla t�m� minun dokumenttini n�ytt�� olevan ainoa l�hde), mutta standardin virallinen kuvaus on erikseen tilattava ja siit� on my�s maksettava. Viimeksi tarkistaessani 23.03.2013 hinta oli 80 Sveitsin frangia (CHF) eli 65,51 € plus mahdollisesti postikulut ja ALV. Ep�virallisia kuvauksia on ollut vaikea l�yt��.
- Tunnen vain viisi standardiin sis�ltyvist� kahdeksasta menetelm�st�, mutta er��t niist� ovat laskennallisesti monimutkaisempia ja siksi v�hemm�n houkuttelevia kuin standardin ulkopuoliset menetelm�t.
- Vaikuttaa silt� ett� kuvaukset ovat matemaatikoiden toisille matemaatikoille kirjoittamia, vaikka kuvausten k�ytt�j�t olisivat p��asiassa ohjelmoijia, ja useille tuntemilleni ohjelmoijille (my�s minulle) monimutkaisempien matemaattisten merkint�jen lukeminen on jonkinasteinen haaste, eli standardia on vaikea ymm�rt��. T�ss� suhteessa toisen k�den kuvaukset ovat usein parempia.
Standardiin sis�ltyv�t menetelm�t ovat seuraavat (taulukossa "numero" tarkoittaa kymmenj�rjestelm�n numeroa 0..9 ja "kirjain" anglosaksisten aakkosten kirjainta A..Z):
"Puhtaat" menetelm�t | |||
---|---|---|---|
"Puhtaissa" menetelmiss� k�ytet��n vain yht� jakajaa, jota voidaan kuitenkin k�ytt�� useita kertoja samassa laskelmassa. | |||
Menetelm� | Sovellusalue | Tarkisteet | Kommentti |
ISO Mod 11-2 | Numerot | 1 numero tai X-kirjain | Tarkempi kuvaus erillisess� kappaleessa. |
ISO Mod 37-2 | Numerot ja kirjaimet | 1 numero tai kirjain tai * | Tarkempi kuvaus erillisess� kappaleessa. |
ISO Mod 97-10 | Numerot | 2 numeroa | T�t� menetelm�� k�ytet��n IBAN:issa, RF-viitteess� ja IPI:n maksunaihekoodissa. |
ISO Mod 661-26 | Kirjaimet | 2 kirjainta | Ei lis�tietoja. |
ISO Mod 1271-36 | Numerot ja kirjaimet | 2 numeroa tai kirjainta | Ei lis�tietoja. |
Hybridimenetelm�t | |||
Hybridimenetlmiss� k�ytet��n kahta jakajaa, joista toinen vastaa k�sitelt�v�n merkist�n merkkien m��r�� (10, 26 tai 36) ja toinen on em. jakaja plus yksi. | |||
Menetelm� | Sovellusalue | Tarkisteet | Kommentti |
ISO Mod 11,10 | Numerot | 1 numero | Tarkempi kuvaus erillisess� kappaleessa. |
ISO/IEC Mod 27,26 | Kirjaimet | 1 kirjain | Kuvataan samaksi kuin Mod 37,36 mutta rajattuna kirjainten k�sittelyyn. |
ISO/IEC Mod 1271-36 | Numerot ja kirjaimet | 1 numero tai kirjain | Ei lis�tietoja. |
Joitakin menetelmi� nimitet��n rekursiivisiksi. T�ss� tapauksessa se tarkoittaa, ett� kunkin merkin k�sittelyss� k�ytet��n yhten� tekij�n� v�litulosta, joka on saatu edellisen merkin k�sittelyst�. Mod 11,10 on esimerkki. Nimitys sopii my�s standardin ulkopuolisiin Verhoeffin menetelm��n ja Dammin algoritmiin.
Dokumentin muista p��kappaleista poiketen t�ss� pyrit��n keskittym��n menetelmiin enemm�n kuin sovelluksiin.
Joidenkin menetelmien nimiss� esiintyv� IEC on International Electrotechnical Commission (S�hk�alan kansainv�linen standardointij�rjest�), joka toimii yhteisty�ss� ISO:n ja ITU:n (International Telecommunication Union, Kansainv�linen televiestint�liitto) kanssa. N�m� organisaatiot laativat valtaosan kansainv�lisist� standardeista strategisena partnerinaan WTO (World Trade Organization, Maailman kauppaj�rjest�). Standardoinnin ensisijainen teht�v� on kansainv�lisen kaupan helpottaminen.
Hieman yll�tt�en yksi kaikkein yleisimmist� tarkistusmenetelmist� - Luhnin moduli 10 - ei sis�lly ISO 7064:�n, vaan kuvataan standardissa ISO 7812-1.
Organisaation kansainv�linen nimi ISO ei ole lyhenne englanninkielisest� nimest� International Organization for Standardization eik� mist��n muustakaan, vaan se on johdettu kreikan sanasta "isos", joka tarkoittaa "yht�l�inen". Vrt. isobaari, isotermi, isotropia.
(Ajatus standardiin 7064 sis�ltyvien menetelmien ottamisesta mukaan t�h�n dokumenttiin on ollut mieless�ni useita vuosia, mutta aikaisemmin on ollut vaikeaa l�yt�� ristiriidatonta tietoa edes t�m�nk��n vertaa. Kimmokkeen yritt�� selvitt�� asiaa uudelleen antoi s�hk�postien vaihto Tuomas Salsteen kanssa tammikuussa 2005, mutta asian laajuuden ja muiden kiireiden vuoksi teksti valmistui vasta huhtikuussa. Samassa yhteydess� lis�sin kuvauksen Verhoeffin menetelm�st�, josta aikaisemmin oli vain maininta.)
Mod 11-2
T�m�n menetelm�n kohdalla joudun esitt�m��n viel� suurempia varauksia kuin standardiin sis�ltyvien menetelmien kuvauksissa yleens�: Ainoa l�yt�m�ni l�hde on yksi nettisivu, jolla algoritmi on koodattu useilla ohjelmointikielill�. Dokumentointi on enimm�kseen kiinaksi, ja kyseess� n�ytt�� olevan Kiinan kansantasavallan henkil�kortin vanhanmallisen numeron muuttaminen uudenmalliseksi, mihin sis�ltyy mm. tarkisteen lis��minen. Kuvauksen uskottavuutta saattaa lis�t� (tai sitten v�hent��) se, ett� kaikki osatekij�t ovat tuttuja jostakin muusta yhteydest�. Laskenta:- Tarkistettavia numeroita painotetaan oikealta alkaen kertoimilla 1, 2, 4, 8, 5, 10, 9, 7, 3 ja 6. Kerroinsarjaa toistetaan tarvittaessa.
- Tulot lasketaan yhteen.
- Summa jaetaan 11:ll�.
- Jakoj��nn�s v�hennet��n 12:sta.
- Erotus jaetaan 11:ll�.
- Tarkiste m��r�ytyy jakoj��nn�ksen perusteella seuraavasti:
- 0..9: Jakoj��nn�s on tarkiste.
- 10: Tarkiste on X-kirjain.
2 7 1 3 - 2 2 : 8 10 5 8 4 2 1 20 35 8 12 4 2 = 81 81 mod 11 = 4; 12 - 4 = 8; 8 mod 11 = 8 → 8Kerroinsarja 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ja 1 saadaan kaavalla 6^p mod 11 jossa p on position numero 0..10 vasemmalta oikealle. T�m� liittyy jotenkin lukuteoriaan ja erityisesti Fermat'n pieneen lauseeseen. Samaa kerroinsarjaa k�ytet��n my�s Y-tunnuksen ja sen muunnelmien tarkistuksessa sek� useissa muissa menetelmiss� eri puolilla maailmaa, mm. latvialaisessa ja it�saksalaisessa henkil�tunnuksessa (Personenkennzahl) ja erityisesti pankkitilien numeroiden ja muiden pankkitoimintaan liittyvien numerosarjojen tarkistuksissa, mutta vaikka kerroinsarja ja jakaja ovat samat, jakoj��nn�ksen k�sittely vaihtelee, eli kysymys ei v�ltt�m�tt� ole standardin ISO 7064 mukaisista menetelmist�, mutta joissakin tapauksissa kyseess� voi olla standardin muunnelma. Toistuneiden v��rink�sitysten vuoksi lienee aiheellista korostaa, ett� t�ss� kappaleessa kuvattua menetlm�� ei k�ytet� Y-tunnuksen ja sen muunnelmien tarkistamiseen, vaikka kerroinsarja perustuu samaan kaavaan.
Olen j�tt�nyt kuvauksesta pois yhden em. ohjelmissa esiintyv�n piirteen: Tarkistettaviin merkkijonoihin lis�t��n yhteen kohtaan muiden numeroiden v�liin numerot 19 ennen tarkisteen laskentaa, ja t�m� lis�ys sis�ltyy ohjelmien palauttamiin tarkisteellisiin merkkijonoihin. T�m� kuuluu sovellukseen, ei menetelm��n (syntym�vuoden muuttaminen kaksinumeroisesta nelinumeroiseksi).
Mod 37-2
Tarkistus voi kohdistua numeroihin 0..9 ja/tai kirjaimiin A..Z. Laskenta:- Tarkistettavien merkkien positiot numeroidaan oikealta vasemmalle 1:st� alkaen. Tarkisteen positiota ei numeroida.
- Tarkistetta laskettaessa kirjaimille k�ytet��n numeerisia arvoja, jotka ovat samat kuin passien yhteydess� annetussa taulukossa.
- Kukin tarkistettava numero tai kirjaimen numeroarvo kerrotaan painokertoimella, joka on 2 potenssiin ko. position numero. Kertoimet ovat siis oikealta alkaen 2, 4, 8, 16 jne..
- Tulot lasketaan yhteen. (Tulot ovat parillisia, joten niin on summakin.)
- Summa jaetaan 37:ll�.
- Jakoj��nn�s v�hennet��n 38:sta.
- Erotus jaetaan 37:ll�.
- Tarkiste m��r�ytyy jakoj��nn�ksen perusteella:
- 0..9: Jakoj��nn�s on tarkiste.
- 10..35: Tarkiste on kirjain joka saadaan em. taulukosta jakoj��nn�ksen perusteella.
- 36: Tarkiste on "*" (t�hti, asteriski).
- K�sitell��n merkkijono vasemmalta oikealle.
- Kunkin merkin kohdalla numero tai kirjaimen numeroarvo lis�t��n apumuuttujaan (joka tietysti asetetaan nollaksi ennen silmukkaa).
- Lis�yksen j�lkeen apumuuttujan arvo kerrotaan kahdella ja tulosta otetaan modulo 37.
sum = (sum + jono(ind1)) � 2 mod 37
Potenssiinkorotukset j��v�t pois, miss��n vaiheessa ei jouduta k�sittelem��n kovin suuria lukuja, ja lis�ksi algoritmin viides kohta on jo valmiiksi tehty kun silmukasta tullaan ulos.
Esimerkki: TAD 5728-V
T A D 5 7 2 8 - V Kirjaimet korvattu 29 10 13 ← numeroilla 128 64 32 16 8 4 2 3712 640 416 80 56 8 16 = 4928 4928 mod 37 = 7; 38 - 7 = 31; 31 mod 37 = 31 → VDokumentissa jossa kuvataan Mod 16-3 v�itet��n, ett� Mod 37-2 ei aina havaitse yksitt�isen merkin vaihtumista toiseksi. En havaitse menetelm�ss� mit��n piirrett�, josta t�llainen ominaisuus voisi seurata, eik� sellaista tullut esiin my�sk��n yli 10 miljoonassa testiss�, joissa havaittiin my�s kaikki vierekk�isten numeroiden keskin�iset vaihtumiset. T�llainen testi ei tietenk��n ole matemaattinen todistus.
Kansainv�linen verensiirtoyhdistys (International Society of Blood Transfusion, ISBT) on m��ritellyt standardin ISBT 128, jota k�ytet��n verenluovutus-, verivalmiste-, kudos- ja soluerien tunnistamiseen. Kuhunkin er��n liittyy joukko koodeja, joista useisiin liitet��n Mod 37-2:n mukainen tarkiste. Paitsi numero- ja kirjainjonoina, koodit esitet��n my�s viivakoodeina, ja standardin nimi viittaakin viivakoodij�rjestelm��n Code 128. Euroopan Unioni harkitsee verensiirtoihin ym. liittyvi� standardointitarpeita, ja kun ne on kartoitettu, p��tet��n tuleeko eurooppalaiseksi standardiksi ISBT 128, Eurocode vai kehitet��nk� kokonaan uusi j�rjestelm�.
Esimerkki: G1234 89 654321 Y
Suomen Punainen Risti (SPR) k�ytt�� ISBT 128:a.
Dokumentissa joka m��rittelee ISBT 128:n sanotaan, ett� jos t�t� menetelm�� k�ytett�ess� lasketaan tarkiste virheett�m�lle tarkisteelliselle merkkijonolle, tulos on aina * (t�hti). T�m� tieto helpottaa tarkistuksen koodaamista.
Mod 11,10
Ohjelma Mod 11,10 -menetelm�lle ja muunnelmillePerusmenetelm� soveltuu vain numeroille 0..9, mutta menetelm�� voidaan muunnella. Perusmenetelm�ss� kantaluku on 10, mutta lukuarvon sijasta k�yt�n jatkossa termi� kantaluku, koska se helpottaa muunnelmien ymm�rt�mist�. Laskenta:
- Laskennassa k�ytett�v�lle v�litulokselle annetaan alkuarvoksi kantaluku.
- K�sitell��n numero kerrallaan vasemmalta oikealle.
- Lis�t��n tarkistettava numero v�litulokseen.
- Jaetaan v�litulos kantaluvulla. Jakoj��nn�s on uusi v�litulos. Jos kuitenkin jakoj��nn�s on nolla, sen sijasta k�ytet��n kantalukua.
- Kerrotaan v�litulos kahdella.
- Jaetaan v�litulos luvulla joka on kantaluku plus yksi. Jakoj��nn�s on uusi v�litulos (t�ss� vaiheessa v�litulos on aina v�lill� 1..kantaluku).
- Kun viimeisen tarkistettavan numeron k�sittelyst� saadun v�lituloksen ja (virheett�m�n) tarkisteen summa jaetaan kantaluvulla, jakoj��nn�s on yksi.
tarkiste = ( (kantaluku+1) - viimeinen_v�litulos ) mod kantaluku
Esimerkki: Lasketaan tarkiste numerosarjalle 23743 (VT = v�litulos, N = tarkistettava numero; muut otsikot viittaavat eo. listaan):
VT | N | B1 | B2 | B3 | B4 |
---|---|---|---|---|---|
10 | 2 | 12 | 2 | 4 | 4 |
4 | 3 | 7 | 7 | 14 | 3 |
3 | 7 | 10 | 10 | 20 | 9 |
9 | 4 | 13 | 3 | 6 | 6 |
6 | 3 | 9 | 9 | 18 | 7 |
Jos tarkisteelliselle virheett�m�lle numerosarjalle lasketaan uusi tarkiste, se on aina kantaluku miinus yksi. T�m� tieto helpottaa sy�tetyn numerosarjan tarkistamista ohjelmassa. Eo. esimerkiss� siis 237434:lle saataisiin tarkisteeksi 9.
T�ll� menetelm�ll� ja sen muunnelmilla on ominaisuus, jota useimmilla t�ss� dokumentissa kuvatuilla menetelmill� ei ole: Tarkiste vaihtuu my�s tapauksessa, jossa tarkistettava numerosarja sis�lt�� pelkki� nollia, ja numerojono pitenee tai lyhenee yhden numeron verran. Testattu tapauksissa joissa kantaluku on 10, 16, 32 tai 36 ja tarkistettava numerojono on enint��n 20-merkkinen.
Menetelm�� k�ytet��n Saksassa verenluovutuspussien ja verivalmiste-erien tunnistamiseen, ja Eurocode-niminen organisaatio esitt�� samaa systeemi� kansainv�liseksi standardiksi. T�ss� tapauksessa koodi muodostuu seuraavista osista:
- 3-numeroinen maatunnus (ISO 3166-1); Suomen koodi on 246
- 3-numeroinen laitostunnus
- 9-numeroinen sarjanumero
- 1-numeroinen tarkiste
Esimerkki: 276 616 973 212 561 5
Mod 11,10:n muunnelmat
Muutamista l�hteist� (ml. ISO:n dokumentit) on p��telt�viss�, ett� Mod 11,10:st� voidaan tehd� muunnelmia varsin helposti vaihtamalla kantalukua ja siit� riippuvia vakioita. Vain parilliset kantaluvut ovat mahdollisia. Esimerkkej�:- Mod 17,16 heksadesimaalinumeroille
- Mod 37,36 merkkijonoille, joissa esiintyy numeroita 0..9 ja kirjaimia A..Z
Menetelm� havaitsee tavallisimmat virheet seuraavasti:
- Yhden numeron vaihtuminen toiseksi havaitaan aina.
- Kahden vierekk�isen numeron vaihtuminen kesken��n havaitaan aina, jos niiden erotus on muu kuin yksi. Erotuksen katsotaan olevan yksi my�s "ymp�ripy�r�hdyksess�", eli esim. kantaluvulla 16 F:n ja 0:n erotus on t�ss� tarkastelussa yksi.
- Jos kahden vierekk�isen kesken��n vaihtuvan numeron erotus on yksi, vaihto j�� havaitsematta todenn�k�isyydell� 1/(n-1), jossa n on kantaluku. Huomaa ett� tapaukset, joissa vierekk�isten numeroiden erotus on yksi, todenn�k�isesti v�henev�t kantaluvun kasvaessa. (Pieness� testiaineistossa havaitsematta j��vien virheiden osuus voi poiketa eo. kaavasta paljonkin.)
- Yksitt�isen numeron j�tt�minen pois tai lis��minen j�� havaitsematta toden�k�isyydell� 1/n, jossa n on kantaluku.
Teoriassa l�hes mik� tahansa parillinen luku kelpaa kantaluvuksi, mutta k�yt�nn�n sovelluksissa 10:t� pienemm�t arvot eiv�t ole suositeltavia, koska t�llaiset menetelm�t eiv�t soveltuisi edes kaikille 10-j�rjestelm�n numeroille, ja jakajien pienentyess� menetelm�n suorituskyky heikkenee nopeasti. Vastaavasti jakajien (kantaluvun) kasvattaminen parantaa suorituskyky�, mutta jos kantaluku on suurempi kuin 36, on p��tett�v� mill� merkeill� suurempia numeroita esitet��n. Joidenkin ohjelmointikielten tuki eri kantaluvuille loppuu 36:een.
Muunnelmaa Mod 37,36 k�ytet��n mm. ISAN:in (International Standard Audiovisual Number) tarkistuksessa. ISAN on rinnakkainen j�rjestelmille ISBN, ISBN-13, ISSN, ISMN, ISWC ja ISTC. Nimen mukaisesti ISAN:ia k�ytet��n audiovisuaalisten t�iden tunnisteena, jonka rakenteesta on kaksi versiota:
- Perusmuoto:
- Etuliite ISAN, ei vaikuta tarkisteen laskentaan.
- 16 heksadesimaalinumeroa nelj�n� nelj�n numeron ryhm�n�, 12 ensimm�ist� numeroa ovat varsinainen tunnus, 4 viimeist� ovat teoksen osan tunnus (tai 0000).
- Tarkiste, numero 0..9 tai kirjain A..Z.
- Laajempi muoto (ei v�ltt�m�tt� k�yt�ss� alkuvaiheessa):
- Alkuosa = perusmuoto.
- Versionumero, kahdeksan heksadesimaalinumeroa, kahtena nelj�n numeron ryhm�n�.
- Tarkiste, numero 0..9 tai kirjain A..Z, lasketaan edelt�vist� 24 heksadesimaalinumerosta, mutta perusmuodon tarkistetta ei oteta laskentaan mukaan (vaikka laskentamenetelm� pystyisi senkin k�sittelem��n).
Etuliite erotetaan tunnisteesta v�lily�nnill�. Nelj�n numeron ryhm�t erotetaan toisistaan ja tarkisteista v�lily�nneill� tai v�liviivoilla. Tekstin� esitett�v�ss� muodossa ei k�ytet� pieni� kirjaimia. Huom. 1! ISAN:ia k�sitteleviss� dokumenteissa on useita esimerkkej�, joissa tarkisteet eiv�t vastaa t�t� kuvausta, mutta tarkisteiden laskenta on omassa liitteess��n kuvattu hyvin selv�sanaisesti. Huom. 2! Internetist� l�ytyy my�s dokumentteja joissa ISAN:in tarkisteen laskenta on kuvattu niin kuin menetelm� olisi Mod 11,10 tai Mod 17,16. Nuo dokumentit eiv�t kuitenkaan ole virallisia standardeja, vaan n�ytt�v�t liittyv�n standardin kehitt�misen aikaiseen keskusteluun. Lis�ksi olen melko varma siit�, ett� j�lkimm�isess� tapauksessa menetelm�n kuvaus on virheellinen (oikeat toimenpiteet mutta v��r� j�rjestys ja heikompi virheenpaljastuskyky).
Mod 16-3
T�m�n heksadesimaalinumeroille tarkoitetun menetelm�n sanotaan perustuvan standardiin ISO 7064, vaikka menetelm� ei sellaisenaan standardiin sis�lly. Laskenta:- Tarkistettavia numeroita painotetaan oikealta alkaen (desimaalij�rjestelm�n) kertoimilla 3, 9, 11 ja 1. Kerroinsarjaa toistetaan tarpeen mukaan.
- Tulot lasketaan yhteen.
- Summa jaetaan (desimaalij�rjestelm�n) luvulla 16.
- Jakoj��nn�st� vastaava heksadesimaalinumero on tarkiste (= summan viimeinen numero, jos summaa k�sitell��n heksadesimaalilukuna).
3 A - 7 7 1 . 2 3 10 7 7 1 ← Vastaava desimaaliluku 3 1 11 9 3 9 10 77 63 3 = 162 ≡ 2 (mod 16)Menetelm�� k�ytet��n sovelluksessa nimelt� International Standard Textual Work Code (ISTC), joka on rinnakkainen j�rjestelmille ISBN, ISBN-13, ISSN, ISMN, ISWC ja ISAN. Koodi muodostuu viidest� osasta:
- Etuliite ISTC (ei vaikuta tarkisteen laskentaan).
- Koodin antaneen organisaation tunniste, kolme heksadesimaalinumeroa.
- Vuosiluku, nelj� desimaalinumeroa, k�sitell��n tarkisteen laskennassa samoin kuin heksadesimaalinumeroita.
- Yksil�iv� numero, kahdeksan heksadesimaalinumeroa.
- Tarkiste, yksi heksadesimaalinumero.
ISTC:ll� tunnistetaan tekstimuotoinen ty� sen eri k�sittelyvaiheissa kirjoittajan ja lukijan v�lill�, mutta lopulliselle julkaistavalle ty�lle annetaan jonkin muun j�rjestelm�n mukainen tunniste, kuten ISBN-numero, ISBN-13, SICI tai BICI.
Muita tarkistusmenetelmi�
T�h�n on koottu kuvauksia tarkistusmenetelmist�, joiden sovellukset jostakin syyst� eiv�t ainakaan koko laajuudessaan kuulu t�m�n dokumentin aihepiiriin.Verhoeffin menetelm�
Ohjelma Verhoeffin menetelm�lleVerhoeff ��nnett�nee suunnilleen "ferhuf".
Verhoeffin menetelm�lle on ominaista, ett� se on melko yksinkertainen ohjelmallisesti toteutettavaksi, mutta monimutkainen selitett�v�ksi, vaikka aion selitt�� pelk�n k�yt�nn�n toteutuksen, ja j�t�n teorian mahdollisimman v�hiin, kun en sit� edes ymm�rr�. Kaikki muut tuntemani menetelm�t ovat pelkki� yksinkertaisia laskentakaavoja, mutta t�h�n ei intuitioni riit�. Se vain toimii, kun minua fiksumpi on sen valmiiksi miettinyt.
Katso my�s Dammin algoritmi.
Menetelm�ss� k�ytet��n kolmea taulukkoa:
|
|
|
T�ss� "kertotaulussa" kertolaskun vaihdantalaki ei ole voimassa, eli A�B ei v�ltt�m�tt� ole sama kuin B�A. Kerrotaan ett� taulun sis�lt� on mahdollista j�rjest�� toisinkin niin, ett� menetelm� edelleen toimii, mutta t�m� on ainoa n�kem�ni vaihtoehto. Luultavasti vain hyvin harvat vaihtoehdot ovat toimivia, ja nekin tuottavat eri tarkisteita kuin t�ss� kuvataan. Jotkin l�hteet sanovat taulukkoa Verhoeffin "yhteenlaskutauluksi". Permutaatiotaulun kuusi viimeist� rivi� tuotetaan yleens� ohjelmasilmukassa sen sijaan ett� ne annettaisiin vakiona. Tuatarassa on esimerkki (l�hdekielisess� koodissa). My�s t�m�n taulun sis�ll�lle on muita toimivia vaihtoehtoja. Menetelm�:
- Tarkiste on ensimm�inen numero oikealta. M��ritell��n ett� tarkisteen positio on 0, ja vasemmalle edett�ess� positiot kasvavat 1:n v�lein. Positiot ovat samat my�s tarkistetta lis�tt�ess�, eli oikeanpuolimmaisen tarkistettavan numeron positio on silloinkin 1.
- Annetaan v�litulokselle alkuarvo 0.
- K�sitell��n numerosarjaa oikealta vasemmalle. Tarkistetta lis�tt�ess� aloitetaan
oikeanpuolimmaisesta tarkistettavasta numerosta, tarkistusta teht�ess� tarkisteesta.
Jokaisen numeron kohdalla:
- Poimitaan Verhoeffin permutaatiotaulusta numero, jonka rivin osoittaa k�sitelt�v�n numeron positio modulo 8 ja sarakkeen k�sitelt�v� numero itse.
- Poimitaan Verhoeffin kertotaulusta numero, jonka rivin osoittaa aikaisempi v�litulos ja sarakkeen Verhoeffin permutaatiotaulusta poimittu numero. Kertotaulusta poimittu numero on uusi v�litulos.
- Jos tehd��n tarkistusta ja numerosarja on virheet�n, v�litulos on 0 kun kaikki numerot on k�sitelty. Jos halutaan lis�t� tarkiste, se katsotaan viimeisen v�lituloksen perusteella Verhoeffin inversiotaulusta.
- Poimitaan permutaatiotaulusta [1,1] → 5
- Poimitaan kertotaulusta [0,5] → 5
- Poimitaan permutaatiotaulusta [2,4] → 7
- Poimitaan kertotaulusta [5,7] → 3
- Poimitaan inversiotaulusta [3] → 2
- Poimitaan permutaatiotaulusta [0,2] → 2
- Poimitaan kertotaulusta [0,2] → 2
- Poimitaan permutaatiotaulusta [1,1] → 5
- Poimitaan kertotaulusta [2,5] → 7
- Poimitaan permutaatiotaulusta [2,4] → 7
- Poimitaan kertotaulusta [7,7] → 0
Alankomaalainen matemaatikko Jacobus Verhoeff (1927-2018) julkaisi kehitt�m�ns� menetelm�n vuonna 1969. Menetelm�n sanotaan paljastavan jopa 99,8 % sy�tt�virheist�, mutta en tied� miten t�m� on laskettu. Tarkistus paljastaa sek� kaikki yhden numeron muutokset ett� kaikki kahden vierekk�isen numeron vaihtumiset kesken��n, ja yli 90 % kaikista muista virheist�, ja on siten toinen kahdesta parhaasta tunnetusta yksinumeroisen tarkisteen tuottavasta menetelm�st� (toinen on Dammin algoritmi, joka on samankaltainen, mutta yksinkertaisempi). K�yt�nn�n sovellukset n�ytt�v�t enimm�kseen olevan viel� suunnitteilla. Menetelm�� k�ytettiin saksalaisissa seteleiss� ennen euron k�ytt��n ottoa. Ainoa tuntemani nykyinen maininnan arvoinen sovellus on SNOMED Clinical Term Identifier (SCTID; SNOMED = Systematised Nomenclature of Medicine). Menetelm�� kuvataan mm. seuraavissa dokumenteissa (linkit viev�t t�m�n sivuston ulkopuolelle):
- Check Digits (sis�lt�� JavaScript-ohjelman)
- SNOMED CT� Technical Reference Guide (pdf-dokumentti, muunnelma edellisest� plus Visual Basic -esimerkki)
- The Laws of Cryptography with Java Code (pdf-dokumentti, keskener�isen�kin n. 1100 kilotavua)
- The Laws of Cryptography: Verhoeff's Decimal Error Detection (vanhentuneeksi merkitty lyhyt ote edellisest�, sis�lt�� linkin Java-koodiin)
- Algorithm::Verhoeff (Perl ohjelma)
Dammin algoritmi
Ohjelma Dammin algoritmilleAlgoritmin on esitt�nyt H. Michael Damm v�it�skirjaansa liittyen vuonna 2004.
Dammin algoritmi on yksinkertaisempi kuin Verhoeffin menetelm�, mutta muuten siit� voidaan sanoa p��osin samat asiat.
- Helpompi ohjelmallinen toteutus, ja paljon helpompi selitett�v�ksi kuin Verhoeffin menetelm� (mutta silti yht� ep�intuitiivinen).
- Selit�n vain k�yt�nn�n toteutuksen, koska en ymm�rr� menetelm�n taustalla olevaa teoriaa.
- Molemmat algoritmit paljastavat sek� kaikki yhden numeron muutokset ett� kaikki kahden vierekk�isen numeron vaihtumiset kesken��n, eli kaksi kolmesta tavallisimmasta virheest�. Kolmannen eli numerosarjan pituuden muuttumisen molemmat paljastavat 90 %:n todenn�k�isyydell�.
- Minulla ei ole yksityiskohtaista tietoa menetelmien kyvyist� paljastaa harvinaisempia virheit�. Kyvyiss� on eroja, mutta menetelmien keskin�isest� paremmuudesta ei ole yksimielisyytt�. Kuitenkin juuri n�iden virheiden harvinaisuuden vuoksi erojen merkitys on v�h�inen.
- Yksi selv� ero on se, ett� Dammin algoritmissa – kuten useimmissa tarkistusmenetelmiss� – etunollat eiv�t vaikuta tarkisteeseen, Verhoeffin menetelm�ss� vaikuttavat.
- K�yt�nn�n sovellukset ovat ilmeisesti Verhoeffin menetelm��kin harvinaisempia, koska Dammin algoritmi ei ole kovin tunnettu, vaikka hyvin ansaitsisi olla. N�m� voivat olla hyvi� lis�syit� valita t�m� algoritmi k�ytt��n uusissa sovelluksissa.
- Jos valitaan sopiva operaatiotaulu – kuten alempana oleva esimerkki – menetelm� paljastaa my�s kaikki englannin ��nt�myksest� helposti seuraavat virhetapaukset 13 ↔ 30, 14 ↔ 40 ... 19 ↔ 90.
- Alla olevan taulukon sis�ll�n voi j�rjest�� muullakin toimivalla tavalla, mutta muita en ole n�hnyt – vain harvat vaihtoehdot toimivat, ja nekin eri tavalla kuin olen t�ss� kuvannut. Vaihda j�rjestyst� vain, jos olet v�itellyt filosofian tohtoriksi matematiikasta, ja uskot varmasti tiet�v�si mit� teet.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 3 | 1 | 7 | 5 | 9 | 8 | 6 | 4 | 2 |
1 | 7 | 0 | 9 | 2 | 1 | 5 | 4 | 8 | 6 | 3 |
2 | 4 | 2 | 0 | 6 | 8 | 7 | 1 | 3 | 5 | 9 |
3 | 1 | 7 | 5 | 0 | 9 | 8 | 3 | 4 | 2 | 6 |
4 | 6 | 1 | 2 | 3 | 0 | 4 | 5 | 9 | 7 | 8 |
5 | 3 | 6 | 7 | 4 | 2 | 0 | 9 | 5 | 8 | 1 |
6 | 5 | 8 | 6 | 9 | 7 | 2 | 0 | 1 | 3 | 4 |
7 | 8 | 9 | 4 | 5 | 3 | 6 | 2 | 0 | 1 | 7 |
8 | 9 | 4 | 3 | 8 | 6 | 1 | 7 | 2 | 0 | 5 |
9 | 2 | 5 | 8 | 1 | 4 | 3 | 6 | 7 | 9 | 0 |
Algoritmi:
- Tarkiste on ensimm�inen numero oikealta.
- Annetaan v�litulokselle alkuarvo 0.
- K�sitell��n numerot vasemmalta oikealle. Kunkin numeron kohdalla aikaisempi v�litulos osoittaa rivin ja k�sitelt�v� numero sarakkeen, joiden osoittama numero poimitaan operaatiotaulukosta uudeksi v�litulokseksi.
- Tarkistetta lis�tt�ess� viimeinen v�litulos on tarkiste.
- Tarkistettaessa tarkiste k�sitell��n kuten muut numerot. Jos numerosarja on virheet�n, viimeinen v�litulos on 0.
- Poimitaan taulukosta [0,1] → 3
- Poimitaan taulukosta [3,0] → 1
- Poimitaan taulukosta [1,1] → 0
- Poimitaan taulukosta [0,5] → 9
- Poimitaan taulukosta [0,1] → 3
- Poimitaan taulukosta [3,0] → 1
- Poimitaan taulukosta [1,1] → 0
- Poimitaan taulukosta [0,5] → 9
- Poimitaan taulukosta [9,9] → 0
Katso my�s "Ihanteellinen" tarkistusmenetelm�.
Moduli 37
- Annetaan kullekin tarkistettavalle kirjaimelle numeerinen arvo passien yhteydess� esitetyn taulukon mukaisesti. Kaikille merkeille jotka eiv�t ole numeroita 0..9 tai kirjaimia A..Z annetaan arvo 36 (pieni� kirjaimia ei k�ytet�).
- Painotetaan tarkistettavia merkkej� oikealta alkaen kertoimilla 3, 1, 3, 1 jne.. Lasketaan tulot yhteen.
- Tarkisteen numeerinen arvo on luku, joka summaan on lis�tt�v� jotta tulos
olisi tasan jaollinen 37:ll�.
- Jos arvo on yksinumeroinen, se on tarkiste.
- Jos arvo on 10..35, tarkiste on kohdassa 1 mainitun taulukon mukainen kirjain.
- Jos arvo on 36, tarkiste on "#".
- SICI - Serial Item and Contribution Identifier. K�ytet��n sarjamuotoisten julkaisujen yksitt�isten ilmentymien (esim. aikakauslehden numero) ja niiden toimituksellisen sis�ll�n (artikkelit, sis�llysluettelot, hakemistot, tiivistelm�t) yksil�intiin. SICI sis�lt�� julkaisun ISSN-numeron.
- BICI - Book Item and Component Identifier. Muistuttaa SICI:� ja on sen pohjalta kehitetty, mutta k�ytet��n kirjojen sis�ll�n osien yksil�intiin. "#":n tilalla on "*". BICI sis�lt�� julkaisun ISBN- tai ISBN-13 -numeron.
SICI:ll� tai BICI:ll� yksil�it�v�n ty�n tunnisteena voi ennen julkaisua olla ISTC-koodi.
Kerroin 39
- Tarkistettavia numeroita painotetaan oikealta alkaen kertoimilla 3, 9, 3, 9 jne..
- Tulot lasketaan yhteen.
- Summa jaetaan 10:ll�.
- Jakoj��nn�s on tarkiste.
Jakoj��nn�s ja kongruenssi
Jakoj��nn�s
T�ss� dokumentissa k�ytet��n useassa kohdassa k�sitett� jakoj��nn�s, joka saattaa olla outo joillekin lukijoille. Jakoj��nn�s (modulo, modulus, mod, remainder) l�ytyy funktiona tai operaattorina monista ohjelmoitavista laskimista ja l�hes kaikista ohjelmointikielist� (uudemmissa operaattorina usein on C-kielest� periytyv� %-merkki, esim. "a = b % c", muissa usein "mod", esim. "a = b mod c", funktiona "a = mod(b, c)"). N�iss� jakoj��nn�s voidaan usein laskea desimaaliluvuilla ja my�s negatiivisilla luvuilla, mutta t�ss� voidaan rajoittua k�sittelem��n ei-negatiivisia kokonaislukuja (0, 1, 2, 3 jne.).Kokonaisluvuilla teht�v� jakolasku voi menn� tasan, eli esim. 48 / 6 = 8, jolloin jakoj��nn�s on 0. Useimmiten jako ei mene tasan, jolloin jakoj��nn�s poikkeaa nollasta, esim. 46 / 6 = 7 (kun desimaaleja ei k�ytet�) ja koska 6 � 7 = 42 ja 46 - 42 = 4, jakoj��nn�s on 4. Jakoj��nn�s on siis se osa jaettavasta joka j�� jakamatta (eli j�� jaossa "ylim��r�iseksi"). Jakoj��nn�s on aina v�hint��n nolla ja aina pienempi kuin jakaja. Huomaa erityisesti ett� kokonaislukujakolaskun jakoj��nn�s ei koskaan ole desimaaliluku ja ett� osam��r�� ei koskaan py�ristet� yl�sp�in. Aina pit�� my�s paikkansa ett�
jakaja � osam��r� + jakoj��nn�s = jaettava
jakoj��nn�s = jaettava - ( jaettava / jakaja ) � jakaja
jossa "/" tarkoittaa kokonaislukujakolaskua. Katso my�s "Jakoj��nn�ksen laskeminen suuresta luvuista" alempana t�ss� kappaleessa.
Toisin kuin usein v�itet��n, jakoj��nn�ksen voi satunnaisiin tarpeisiin laskea l�hes mill� tahansa taskulaskimella: Tehd��n jakolasku, v�hennet��n tuloksesta kokonaisosa, ja kerrotaan alkuper�isell� jakajalla. Tulos on yleens� desimaaliluku, joka on hyvin l�hell� kokonaislukua; tuo l�hin kokonaisluku on oikea vastaus. Esimerkki: 283 mod 11 = ?
283 / 11 = 25,727272
25,727272 - 25 = 0,727272
0,727272 � 11 = 7,999992 eli 283 mod 11 = 8
Jakoj��nn�ksen laskeminen suuresta luvuista
Suuren kokonaisluvun jakaminen jakoj��nn�ksen laskemiseksi ei suoraan onnistu kaikilla ohjelmointikielill�. Teht�v� voidaan kuitenkin jakaa pienempiin osiin. Oletetaan ohjelmointikieli, jossa suurimmat kokonaisluvut ovat 32-bittisi�, jolloin voidaan k�sitell� enint��n 9-numeroisia lukuja (liukulukuja ei niiden luontaisen ep�tarkkuuden vuoksi pid� t�ss� yhteydess� k�ytt�� jos k�ytett�v� kieli tukee kokonaislukuja – useimmat tukevat; muussa tapauksessa kannattaa harkita kielen vaihtamista).Esimerkkin� Kansainv�linen tilinumero: 15903000000776151800 on jaettava 97:ll� siten, ett� halutaan tiet�� jakoj��nn�s, mutta ei v�litet� osam��r�st�. Erotetaan jaettavan ensimm�iset 7 numeroa (1590300) ja jaetaan saatu luku 97:ll�. Jakoj��nn�ksen (82) jatkoksi liitet��n 7 seuraavaa numeroa (0000776) ja saadaan uusi enint��n 9-numeroinen luku (820000776). T�m� jaetaan taas 97:ll�, ja liitet��n jakoj��nn�kseen (24) loput numerot (151800). Tuloksesta (24151800) lasketaan taas modulo 97 (61). – Tuatarassa on ohjelmakoodista esimerkki, joka on paljon t�t� sanallista kuvausta lyhyempi (kaksi koodirivi�).
Sama menetelm� soveltuu my�s muille jakajille ja pitemmillekin jaettaville. Sama periaate toimii vaikka suurimmat kokonaisluvut olisivat vain 16-bittisi�, mutta silloin suurimmat kerralla k�sitelt�v�t luvut voivat olla enint��n 4-numeroisia. Useimmat IBAN:it ovat sellaisenaan liian pitki� jopa 64-bittisill� (18-numeroisilla) kokonaisluvuilla laskettaessa. Aina eiv�t riit� edes 128-bittiset kokonaisluvut; teoriassa jaettava voisi olla jopa 66-numeroinen.
Kongruenssi
T�ss� dokumentissa k�ytet��n paljon my�s kongruenssin symbolia ≡ joka - samoin kuin sit� vastaava k�site - lienee useimmille lukijoille viel� oudompi kuin jakoj��nn�s. Heti alkuun voin todeta lohduttavasti, ett� jos ymm�rr�t jakoj��nn�ksen, kongruenssin ymm�rt�minen ei ole yht��n vaikeampaa, mutta yrit�n nyt kuitenkin ensin selitt�� asian (lyhyesti) vaikeammalla ja "virallisemmalla" tavalla, ihan kuin olisin oikea matemaatikko: Jos a:n ja b:n erotus on tasan jaollinen m:ll�, sanotaan ett� a ja b ovat kongruentteja modulo m, joka merkit��n:a ≡ b (mod m)
T�ll� tiedolla sin�ns� emme ole saaneet aikaan muuta kuin rahtusen lukuteoreettista yleissivistyst�, mutta t�m�n dokumentin kannalta olennaisempaa on sama asia sanottuna toisella tavalla: Jos sek� a ett� b jaetaan m:ll�, saadaan sama jakoj��nn�s. Eli esim:
25 ≡ 3 (mod 11)
kertoo ett� kun 25 ja 3 (kumpikin erikseen) jaetaan 11:ll� jakoj��nn�s on sama - t�ss� tapauksessa 3. Huomaa ett� 25-3=22, joka on tasan jaollinen 11:ll�. Yleisesti lausekkeessa voisi 3:n tilalla yht� hyvin olla 14, 36 tai jokin muu ��rett�m�n monista vaihtoehdoista, ja lauseke olisi edelleen matemaattisesti virheet�n, mutta t�ss� dokumentissa j�lkimm�inen luku on aina nimenomaan sama kuin jakoj��nn�s, eli esimerkki voidaan lukea "kun 25 jaetaan 11:ll�, jakoj��nn�s on 3". Muutama huomautus on paikallaan:
- Kongruenssin symbolia ei l�ydy kaikista fonteista, ja lis�ksi Opera-selaimella n�ytt�� olevan symbolin esitt�misess� vaikeuksia; symboli n�kyy oikein vain jos tekstin suurentaa j�rjett�m�n isoksi. Niille jotka eiv�t n�e symbolia oikein kerrottakoon ett� se muistuttaa yht�suuruusmerkki� / yht�l�isyysmerkki� (=), mutta p��llekk�isi� viivoja on kolme.
- Geometriassa tunnetaan my�s kongruenssin k�site, mutta se tarkoittaa eri asiaa ja sille on hiukan erilainen symboli, jota en yrit� n�ytt�� koska se on viel� huonommin tuettu. �l� siis ihmettele, jos l�yd�t samalle sanalle eri selityksen.
- Samaa symbolia k�ytet��n my�s muissa merkityksiss�, mm. kuvaamaan ekvivalenssia, joten �l� ihmettele sit�k��n jos l�yd�t samalle symbolille eri selityksen.
Taulukot
A 10 | B 11 | C 12 | D 13 | E 14 | F 15 | G 16 | H 17 | I 18 | J 19 | K 20 | L 21 | M 22 |
N 23 | O 24 | P 25 | Q 26 | R 27 | S 28 | T 29 | U 30 | V 31 | W 32 | X 33 | Y 34 | Z 35 |
Vaihtoehtoinen tarkistusmenettely
Tarkisteiden tuottajat ovat harvassa; useammin halutaan tarkistaa sy�tetty tarkistusmerkki. Aina voidaan laskea tarkiste ja verrata sit� annettuun, mutta monessa tapauksessa pelkk� tarkistus on helpompi tehd�. T�ll�in otetaan k�sitelt�v�ksi koko tarkistettava merkkijono ml. tarkiste. Tehd��n painotus, lasketaan summa ja jaetaan se ko. tietotyypin edellytt�m�ll� tavalla. Jos jakoj��nn�s on nolla, tarkiste t�sm��. Yksityiskohdat vaihtelevat tarkistettavasta tiedosta riippuen:- Y-tunnus muunnelmineen,
Luhnin moduli 10,
Moduli 10, Kerroin 137,
Kerroin 123 (laskentatapa 1) ja
Moduli 37
- Tarkisteen painokerroin on 1
- ISBN- ja ISSN-numero (laskentatapa 1),
Moottoriajoneuvon sarjanumero
- Jos tarkiste on X, se tulkitaan 10:ksi
- Tarkisteen painokerroin on 10
- ISBN- ja ISSN-numero (laskentatapa 2)
- Jos tarkiste on X, se tulkitaan 10:ksi
- Tarkisteen painokerroin on 1
- Matkustusasiakirjat, Kerroin 234,
Kerroin 123 (laskentatapa 2) ja Kerroin
39
- Tarkisteen painokerroin on 9
0 9 8 9 3 7 7 3 7 9 10 5 8 4 2 1 0 81 80 45 24 28 14 3 = 275 ≡ 0 (mod 11)Esimerkki 2: ISBN 0-14-007621-2 (laskentatapa 2)
0 1 4 0 0 7 6 2 1 2 10 9 8 7 6 5 4 3 2 1 0 9 32 0 0 35 24 6 2 2 = 110 ≡ 0 (mod 11)Tietokoneella tai taskulaskimella luvun jaollisuus 11:ll� voidaan tietenkin selvitt�� helposti. Muuten voidaan k�ytt�� seuraavaa s��nt��: Poimitaan luvusta joka toinen numero ja lasketaan ne yhteen. Summataan erikseen loput numerot. Jos summat ovat samat tai niiden erotus on jaollinen 11:ll�, alkuper�inen luku on my�s jaollinen 11:ll�. Esim. 275: 2+5=7 joten luku on tasan jaollinen 11:ll�. Menetelm� on tietysti rekursiivinen. L�hde: Uusi Pikku J�ttil�inen, s. 869, WSOY 1985, ISBN 951-0-12416-8.
Yll� esitetty� ei voi sellaisenaan soveltaa Moduli 97-10:en, jonka yksinkertaistettu tarkistus on kuvattu itse menetelm�n yhteydess�, kuten Eurosetelin sarjanumeronkin. Kaikille menetelmille yksinkertaistettua tarkistusta ei ole.
Joitakin yleisi� havaintoja
Verhoeffin menetelm�, Dammin algoritmi ja jotkin standardiin ISO 7064 sis�ltyv�t menetelm�t ovat poikkeuksia, ja Moduli 11-11 vaatii pienen lis�yksen, mutta muuten jokainen edell�kuvatuista painotus-summaus-jakoj��nn�s-menetelmist� voidaan esitt�� tavalla, joka on yht�pit�v� seuraavien s��nt�jen kanssa:- Kutakin tarkistettavaa merkki� vastaava numeerinen arvo tai arvon kumpikin numero kerrotaan kertoimella, joka saadaan jollakin yksinkertaisella s��nn�ll� kerrottavan positiosta.
- Tulot tai niiden numerot lasketaan yhteen.
- Summa jaetaan jollakin luvulla.
- Jakoj��nn�s m��r�� tarkisteen joka liitet��n tarkistettavaan merkkijonoon.
Tarkistettavan tiedon pituus
Tarkistettava numerosarja / merkkijono ei saisi olla liian pitk�. Noin 20 merkki� pitemm�t merkkijonot pit�isi tarkistaa pienemmiss� osissa (vrt. Passi) tai niiss� pit�isi muuten k�ytt�� useampaa kuin yht� tarkistemerkki� (vrt. Kansainv�linen tilinumero, RF-viite, IPI:n maksunaihekoodi). Pituus voi olla kiinte� (vrt. Henkil�tunnus), vaihtuva (vrt. Pankkisiirron viitenumero) tai muuten vaihtuva mutta tarkistusta varten tieto muokataan kiinte�mittaiseksi (vrt. Pankkitilin numero).Yhden l�hteen mukaan merkkijonon pident�minen kahdella merkill� kasvattaa sy�tt�virheiden m��r�n kaksinkertaiseksi. Kannattaa siis pyrki� tiiviiseen esitystapaan sek� varsinaisissa tiedoissa ett� tarkisteissa. Useamman kuin kahden tarkistemerkin k�ytt��n pit�isi olla hyv�t perustelut.
Samankaltaista menetelm�� k�ytet��n ilmeisesti my�s luottokorteissa niin, ett� suuri enemmist� p��llisin puolin oikean n�k�isist� (huonosti v��rennetyist�) korttien numeroista osuu koodiavaruuden osaan, joka ei ole k�yt�ss�. T�m� on yksi syy siihen, ett� v��rent�j�t haluavat oikeiden korttien numeroita malleiksi.
K�ytett�v� merkist�
Kaikki tutkitut j�rjestelm�t pystyv�t k�sittelem��n numeroita, mutta aika usein on pystytt�v� tarkistamaan my�s sellaisia merkkijonoja, joissa on kirjaimia. Jos on mahdollista rajata k�ytett�v�� merkist��, j�tet��n mielell��n pois kirjaimet, jotka on helppo sekoittaa numeroihin. Esim. suomalaisen henkil�tunnuksen tarkisteena ei k�ytet� kirjaimia G, I, O, Q ja Z. My�hemmin on huomattu ett� k�sin kirjoitettaessa my�s U ja V, 4 ja Y sek� 5 ja S sekoittuvat helposti. moottoriajoneuvon sarjanumerossa ei k�ytet� kirjaimia I, O ja Q, vaikka j�rjestelm�ss� muuten k�ytet��n runsaasti kirjainkoodeja. Er��st� toisesta j�rjestelm�st� taas on j�tetty pois I, L, O, S, Y ja Z. Hyvin harvat tutkituista j�rjestelmist� k�ytt�v�t muita kirjaimia kuin anglosaksisten aakkosten 26 isoa kirjainta A..Z, vaikka my�s skandimerkkien, pienten kirjainten ja erikoismerkkien huomioon ottaminen on mahdollista (vrt. Verolipun numero, Moduli 37).Kirjainten numeroarvot
Tarkistettavien kirjainten numeeriset arvot valitaan joskus siten, ett� ne eiv�t ole samoja kuin my�hemmin k�ytett�v� jakaja tai sen monikerta. Esim. jos jakaja on 11, j�tet��n pois luvut 11, 22 ja 33 annettaessa kirjaimille numeerisia arvoja (vrt. Moduli 11-10). Kirjaimille annettavat arvot voivat olla my�s yksinumeroisia (nollasta poikkeavia), jolloin eri kirjaimille tulee samoja arvoja, tai k�ytet��n esim. arvoja 2..10 toistuvasti j�rjestelm�ss� jossa jakaja on 11.Huom! Vaikka jokaiselle kirjaimelle annettaisiin oma numeerinen arvo, t�ll� on todellista merkityst� vain jos jakaja on suurempi kuin mik��n annetuista arvoista (vrt. Moduli 97-10), mik� puolestaan voi aiheuttaa ongelmia jakoj��nn�ksen k�sittelyss�. Jos taas samoja numeerisia arvoja k�ytet��n toistuvasti, kirjaimen tai numeron vaihtumista toiseksi ei aina huomata tarkistuksessa. Erillisess� kappaleessa on esimerkki sellaisista kirjainten numeroarvoista, joilla ongelmia voidaan v�hent��. Moduli 37 ja Kansainv�linen tilinumero ratkaisevat ongelman k�ytt�m�ll� riitt�v�n suurta jakajaa.
Painokertoimet
Painokertoimien valinnasta on useita esimerkkej� edellisiss� kappaleissa. Useimpia k�yt�nt�j� voidaan helposti laajentaa mielivaltaisen pituisille merkkijonoille. Painokertoimet ovat tavallisesti pienempi� kuin my�hemmin k�ytett�v� jakaja, mutta nollaa ei k�ytet� kertoimena, koska se est�isi merkin toiseksi vaihtumisen havaitsemisen. Kertoimien valinta on yksi t�rkeimmist� menetelm�n hyvyyteen vaikuttavista tekij�ist�. Ilman kertoimia mm. kaikki numeroiden j�rjestyksen vaihtumiset j�isiv�t huomaamatta, samoin kuin nollien lis��minen tai poisj�tt�minen.Ihanteellisessa tapauksessa painotuksen pit�isi aina tuottaa t�ydellinen permutaatio painotettavasta merkkijoukosta, eli kun kaikki mahdolliset tarkistettavat merkit painotetaan tietyll� kertoimella, tuloksena pit�isi olla arvojoukko, joka sis�lt�� efektiivisesti erilaisia arvoja yht� monta kuin alkuper�isess� merkkijoukossa on erilaisia merkkej�. Mm. Luhnin moduli 10, Moduli 10 ja Kerroin 137 t�ytt�v�t t�m�n vaatimuksen numerosarjoja tarkistettaessa, kun taas Kerroin 123 on hyv� huono esimerkki p�invastaisesta. Asiaa on helpointa valaista esimerkkien avulla:
Alkuper�inen numero | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
Luhnin moduli 10, painokerroin 2 | 0 | 2 | 4 | 6 | 8 | 1 | 3 | 5 | 7 | 9 |
Kerroin 5 antaisi yht� hyv�n tuloksen | 0 | 5 | 1 | 6 | 2 | 7 | 3 | 8 | 4 | 9 |
Esim. 3 olisi huono kerroin | 0 | 3 | 6 | 9 | 3 | 6 | 9 | 3 | 6 | 9 |
Menetelm�ss� Kerroin 137 3 on hyv� kerroin | 0 | 3 | 6 | 9 | 2 | 5 | 8 | 1 | 4 | 7 |
Samoin 7 (9 olisi yht� hyv�) | 0 | 7 | 4 | 1 | 8 | 5 | 2 | 9 | 6 | 3 |
Mutta 5 olisi huono | 0 | 5 | 0 | 5 | 0 | 5 | 0 | 5 | 0 | 5 |
Samoin 2 (ja muut parilliset numerot) | 0 | 2 | 4 | 6 | 8 | 0 | 2 | 4 | 6 | 8 |
Yhdess� menetelm�ss� kertoimina k�ytet��n alkulukuja 2..53, joita kasvatetaan oikealta vasemmalle. Alkulukuja ovat positiiviset kokonaisluvut, jotka ovat tasan jaollisia vain 1:ll� ja itsell��n. Lukua 11 ei k�ytet� kertoimena vaan jakajana. Tarkistettavia merkkej� on 15, joten jokaisella on eri kerroin. Alkulukujen k�yt�n kertoimina sanotaan minimoivan tapaukset, joissa kaksi virhett� kumoaa toisensa, jolloin virheellinen numerosarja n�ytt�isi virheett�m�lt�.
Joissakin menetelmiss� ei k�ytet� painokertoimia lainkaan. Esimerkkej�:
- Tarkiste valitaan siten, ett� koko numerosarjan summa on tasan jaollinen 9:ll� (vrt. Matkashekin sarjanumero) tai 10:ll�.
- Tarkistettavien numeroiden summa jaetaan 10:ll�. Jakoj��nn�s on tarkiste.
- Tarkistettavien numeroiden summa jaetaan 9:ll�. Jakoj��nn�s on tarkiste. Sama jakoj��nn�s saadaan jakamalla numeroiden muodostama luku 9:ll�.
- Summataan tarkistettavat numerot. Toistetaan tuloksen numeroiden summausta tarvittaessa kunnes tulos on yksinumeroinen. Lopputulos on tarkiste. Jos tarkisteeksi saatu 9 korvataan 0:lla, tarkiste on aina sama kuin edellisess� kohdassa.
On olemassa my�s menetelmi�, joissa painokertoimia ei k�ytet�, mutta joissa sama vaikutus saadaan aikaan korvaamalla kukin numero ennen summausta toisella numerolla, joka katsotaan taulukosta. Oleellista on se, ett� eri numeropositioille k�ytet��n eri taulukoita. T�llaisia menetelmi� k�ytet��n ainakin er�iss� UCC-12 -koodeissa (tavanomaisen tarkisteen lis�ksi) ja italialaisissa pankkitilien numeroissa. Mik� tahansa painokertoimia k�ytt�v� menetelm� voidaan my�s kuvata t�m�n mallin mukaisesti.
Yhdess� esimerkkij�rjestelm�ss� painokertoimet ovat desimaalilukuja, ja osa niist� negatiivisia. Tavoitteena on tehd� k�ytetyn j�rjestelm�n selvitt�minen mahdollisimman vaikeaksi. Osittain t�m� tavoite voidaan saavuttaakin, mutta jos p�tev� matemaatikko p��see tutkimaan asiaa suuresta aineistosta, t�llainen temppuilu on t�ysin hy�dyt�nt�. Varjopuolena on lis�ksi se, ett� painokertoimien valinnassa on oltava aivan poikkeuksellisen huolellinen, jos halutaan ett� j�rjestelm� hoitaa my�s varsinaisen teht�v�ns�, siis sy�tetyn numerosarjan tarkistamisen. Tavoite saavutetaan helpommin k�ytt�m�ll� jotakin hyv�� mutta harvinaista menetelm�� (kts. Verhoeff tai Damm), jos asiaa yleens� pidet��n t�rke�n�.
Jakaja sek� tarkisteen m��r�ytyminen jakoj��nn�ksen perusteella
Jakajana on usein 10 (tai yleisemmin sanottuna lukuj�rjestelm�n kantaluku), mutta muissa tapauksissa k�ytet��n yleens� alkulukuja, kuten 11, 31 tai 43. Jos merkist�ksi valitaan numerot 0..9 ja kirjaimet A..Z, saadaan 36 merkki�. T�ll�in sopiva jakaja voisi olla esim. 37, joka on pienin k�ytett�vien merkkien lukum��r�� suurempi alkuluku (vrt. Moduli 37).Jos jakaja on suurempi kuin 10, saadaan jakoj��nn�ksiksi lukuja, joita ei voi kymmenj�rjestelm�ss� suoraan esitt�� yhdell� numerolla. T�ll�in on useita vaihtoehtoja:
- Jos lukuj�rjestelm�n kantaluku on suurempi kuin 10, k�ytet��n ao. lukuj�rjestelm�n numeroita (vrt. Mod 11,10:n muunnelmat).
- K�ytet��n samaa numeroa edustamaan useampaa kuin yht� jakoj��nn�st�; esim. jakajan ollessa 11, 0 vastaa my�s jakoj��nn�st� 10 (vrt. Moduli 11-0, Moduli 11-5, Moduli 11-10).
- Varataan tarkisteelle enemm�n kuin yksi positio. T�ll�in jakaja voi olla vaikkapa 97 (suurin kaksinumeroinen alkuluku, vrt. Moduli 97-10).
- Ei k�ytet� merkkijonoja, jotka tuottavat ei-toivottuja jakoj��nn�ksi� (vrt. Y-tunnus muunnelmineen, EINECS-numero, Moduli 11).
- K�ytet��n tarkisteina my�s kirjaimia ja tarvittaessa erikoismerkkej� (vrt. Moduli 34, Moduli 31, Moduli 37).
- Keksit��n jotakin muuta (vrt. Moduli 11-11)
Niiss� tapauksissa joissa summataan tuloja eik� niiden numeroita (siis useimmiten), painokertoimia ja jakajaa valittaessa noudatetaan n�ht�v�sti sellaista s��nt��, ett� jakajalla ei ykk�st� lukuun ottamatta saa olla yhteisi� tekij�it� mink��n painokertoimen kanssa. T�m� s��nt� on automaattisesti voimassa jos jakaja on alkuluku ja kertoimet jakajaa pienempi� lukuja tai jakajaa suurempia alkulukuja, mutta jos esim. jakaja on kymmenen, viitosta ja parillisia numeroita ei yleens� k�ytet� kertoimina. Kerroin 123:n tutkiminen selitt�� miksi ei.
Ottaen huomioon mit� sanotaan kohdassa K�ytett�v� merkist�, k�ytt�kelpoinen jakaja voisi olla esim. 23 (alkuluku), ja tarkisteena voitaisiin t�ll�in k�ytt�� yht� kirjainta A..Z j�tt�m�ll� pois kirjaimet L, U ja V, mik� est�� useimmat samankaltaisesta ulkon��st� johtuvat sekaannukset. Samankaltaisuudesta kirjainten ja numeroiden v�lill� ei tarvitse v�litt��, jos numeroita ei k�ytet�.
Tanskalaisen henkil�tunnuksen tarkistusnumero osoittaa my�s henkil�n sukupuolen. T�m� on ainoa tiet�m�ni tapaus, jossa tarkisteella on kaksoismerkitys. On vaikea sanoa, mit� t�m� vaikuttaa tarkistuksen tehokkuuteen; vaikutus voi olla neutraali tai kielteinen, mutta tuskin my�nteinen.
Mahdollinen lis�tarkistus
Er�iss� j�rjestelmiss� merkkijonoon lis�t��n merkkijonon pituuden (modulo 10) kertova numero, joka otetaan huomioon tarkistetta laskettaessa. Esim. jos tarkistettava tieto on 7235, tulos on 72356x, jossa x on tarkiste ja 6 on koko merkkijonon pituus ml. tarkiste sek� pituuden osoittava numero itse. T�m� lis�numero voi tietysti olla muussakin paikassa, ja eri j�rjestelmien v�lill� voi olla eroa siin�, otetaanko t�m� numero ja tarkiste huomioon pituutta laskettaessa. Tarkistettavalla tiedolla voi olla minimipituus, jolloin tarvittaessa lis�t��n eteen nollia, jotka otetaan huomioon pituutta laskettaessa.Tarkisteen paikka
Ylivoimaisesti yleisint� on sijoittaa tarkiste tarkistettavan merkkijonon loppuun, mutta yksitt�isi� havaintoja on my�s tapauksista, joissa tarkiste on alussa tai muiden merkkien v�liss� (vrt. Kansainv�linen tilinumero, RF-viite, IPI:n maksunaihekoodi, Islantilainen henkil�tunnus). T�llaisia k�yt�nt�j� kannattaa v�ltt��, ellei niiden noudattamiseen ole erityist� syyt�, sill� ne aiheuttavat ylim��r�ist� vaivaa, jos tarkisteellista tietoa halutaan joskus k�ytt�� esim. lajitteluavaimena.Muutosten ennakointi
Sen lis�ksi ett� tarkisteet pident�v�t sy�tett�vi� merkkijonoja, niihin liittyy ainakin yksi muu ongelma: Tunnisteita ei aina osata suunnitella niin, ett� ne riitt�isiv�t kaikkiin tuleviin tarpeisiin. Muutos tunnisteessa edellytt�� usein muutosta my�s tarkisteen laskennassa, mutta koska olemassaolevia tunnisteita ei yleens� voida muuttaa, laskennan muutos on suunniteltava niin, ett� yhteensopivuus vanhojen tunnisteiden kanssa s�ilyy. Tarkiste tekee siis tunnisteesta huonommin muutoksiin sopeutuvan. Ainakin seuraavat tapaukset voidaan erottaa:- Ongelmia ei yleens� synny, jos tunniste on jo alun perin vaihtuvamittainen, kuten pankkisiirron viitenumero.
- Alun perin kiinte�mittaiseksi m��ritellyn tunnisteen pident�minen. Jos t�m� voidaan hoitaa esim. lis��m�ll� vanhoihin tunnisteisiin nolla eteen, ja pident�m�ll� painokerrointen sarjaa vastaavasti, yhteensopivuus vanhojen tunnusten kanssa s�ilyy helposti. T�m� mahdollisuus kannattaa ottaa huomioon jo kerroinsarjaa ja sen k�sittelyj�rjestyst� valittaessa (loogisesti jatkettavissa, k�ytet��n oikealta vasemmalle). N�in on tehty esim. LY-tunnuksen (nykyisen Y-tunnuksen) kohdalla. ISBN-koodi taas on hyv� esimerkki tunnisteesta, jota ei voi t�ll� tavoin pident��, joten tunnisteiden loppuminen aiheuttaa suuremman remontin (ISBN-13).
- Merkist�n laajentaminen. Jos tunnisteen jatkaminen ei ole helppoa, voidaan esim. alun perin numeroita 0..9 k�ytt�v� tunniste muuttaa heksadesimaaliseksi tai aletaan muuten k�ytt�� kirjaimia positioissa joissa aikaisemmin oli vain numeroita. Jos merkist�n laajentaminen koskee my�s tarkistetta, voidaan joutua ensin selvitt�m��n onko tunniste uuden vai vanhan k�yt�nn�n mukainen, ja sitten valitaan tarkisteen laskenta-algoritmi t�m�n mukaisesti. T�m� on k�mpel��, joten mieluummin on jo alusta alkaen valittava algoritmi, joka pystyy my�hemmin mukautumaan merkist�n laajentamiseen ilman ett� alkuper�isen merkist�n k�sittely muuttuu. T�m�n vaatimuksen t�ytt�v�t useimmat niist� t�ss� dokumentissa kuvatuista menetelmist�, jotka pystyv�t k�sittelem��n kirjaimia A..Z, mutta joissa tarkiste on numeerinen.
- Muista vaihtoehdoista oli hieno esimerkki 24.05.2000 Helsingin sanomien yleis�nosastokirjoituksessa, jossa esitettiin miten henkil�tunnusten 2040-luvulla uhkaava yksil�numeroiden loppuminen olisi estett�viss�, jos tunnuksen v�limerkki otettaisiin mukaan tarkisteen laskentaan. Idea oli, ett� "+" ja "-" saisivat laskennassa arvon 0 ja "A" saisi arvon 1. T�m� numero liitett�isiin tarkistetta laskettaessa syntym�ajasta ja yksil�numerosta muodostetun luvun eteen ennen jakolaskua, jolloin vanhojen tunnusten tarkiste s�ilyisi ennallaan, ja kuitenkin 2000-luvulla voitaisiin k�ytt�� uudelleen jo kertaalleen k�ytettyj� yksil�numeroita ilman sekaannuksen vaaraa. T�m� ratkaisu ilmeisine jatkokehitelmineen voisi riitt�� vuosisadoiksi. Ik�v�� ett� hyv� ajatus esitettiin viitisen vuotta liian my�h��n.
Yhteenveto
Hyv� tarkistusmenetelm� paljastaa tavanomaiset virheet aina ja muut suurella todenn�k�isyydell�. Tavanomaisimpia virheit� ovat yhden merkin vaihtaminen toiseksi, yhden merkin poisj�tt�minen / lis��minen ja kahden vierekk�isen merkin vaihtaminen kesken��n. Muut virhetyypit ovat merkitt�v�sti harvinaisempia; niiden yhteinen osuus on vain n. 5 % kaikista virheist�. Yhden merkin poisto / lis�ys havaitaan aina jos merkkijonon pituus on kiinte�, kuten henkil�tunnuksen tai ISBN-numeron. Muissa tapauksissa havaittavuutta voidaan parantaa em. lis�tarkistuksella.Tavanomainen sy�tt�virhetiheys on yksi virhe n. 300 sy�tetty� merkki� kohden. (L�hde: Viivakoodiopas, s. 4, Juha-Elektro Oy, 1989. Sama lukema l�ytyy useista muista l�hteist�.) M��r� tuntuu pienelt�, mutta oppaassa tarkoitetaan ihmisi�, jotka ovat tottuneet t�llaiseen ty�h�n. Opas ei mainitse ett� numerosarjan pituus vaikuttaisi sy�tt�virheiden m��r��n (vrt. Tarkistettavan tiedon pituus).
T�ydellist� varmuutta t�llaiset tarkistusmenetelm�t eiv�t koskaan anna: T�ysin satunnainenkin merkkijono voi l�p�ist� tarkistuksen - jopa suuremmalla todenn�k�isyydell� kuin vain hiukan virheellinen. Jos tarkisteita on vain yksi, kahta merkki� muuttamalla voidaan aina saada virheellinen merkkijono joka l�p�isee tarkistuksen, mutta hyv�� tarkistusmenetelm�� k�ytett�ess� t�m� harvoin onnistuu vahingossa. Tahallista muutosta taas ei voida est�� mill��n t�m�ntyyppisell� tarkistuksella, jos muuttaja tuntee tarkistusmenetelm�n. Sama koskee koko tarkistettavan tiedon tuottamista RaHi-menetelm�ll�, josta monet t�m�n dokumentin sis�lt�m�t esimerkit ovat todisteina.
Tunnisteen muodollinen oikeellisuus ei siis takaa ett� tunniste todella on oikea. Tarkistusmerkin tutkiminen ja muut muototarkistukset ovat hy�dyllisi� mm. siksi, ett� ne v�hent�v�t tarpeetonta tietoliikennett�, ja auttavat havaitsemaan monia virheit� mahdollisimman aikaisessa vaiheessa, mik� helpottaa korjausta, mutta esim. muodollisesti virheet�n y-tunnus ei takaa sit�, ett� tunnus on todella k�yt�ss� ja kuuluu sille organisaatiolle jolle sen sanotaan kuuluvan. T�llaiset asiat voi tarkistaa vain ao. tietokannasta.
Konekielisiss� tiedoissa k�ytet��n joskus tarkistuskoodeja, joiden avulla virheit� ei ainoastaan havaita, vaan osa niist� pystyt��n jopa korjaamaan automaattisesti (virheenkorjauskoodi, ECC, Error Correction Code). T�ss� kuvatut tarkistukset eiv�t kuitenkaan siihen riit�, vaan k�sin teht�v�ss� sy�t�ss� oikea tieto on l�ydett�v� muulla tavalla. Katso kappaletta Hamming-koodi ja 10-j�rjestelm� jos rajoitetusti toimiva korjausmenetelm� kiinnostaa.
Matemaattisessa mieless� kaikkia t�ss� dokumentissa kuvattuja tarkisteiden laskentamenetelmi� voidaan nimitt�� yksisuuntaisen tiivistefunktion (one-way hash function) erikoistapauksiksi. T�t� kautta menetelm�t ovat et�ist� sukua salakirjoitukselle.
Mm. suomalaisen henkil�tunnuksen v�limerkki, postin l�hetystunnuksen kaksi ensimm�ist� ja kaksi viimeist� merkki�, jotkin matkustusasiakirjoissa esiintyv�t tietokent�t ja islantilaisen henkil�tunnuksen viimeinen numero j��v�t tarkisteen laskennan ulkopuolelle. On selv�� ettei t�m� ainakaan lis�� varmuutta tunnisteen oikeellisuudesta.
�lyk�s vai tyhm� tunniste?
Tunnisteet voidaan karkeasti jakaa �lykk�isiin ja tyhmiin. Kumpaakin k�ytet��n avaimena, jolla tunnistettavan kohteen muut tiedot l�ytyv�t esim. tietokannasta. Tyhm�ll� tunnisteella ei juuri muuta voi tehd�k��n, koska se on yleens� pelkk� numerosarja, jonka mill��n osalla ei ole itsen�ist� merkityst�, mutta �lyk�s tunniste kertoo kohteestaan jotakin my�s suoraan, esim. suomalainen henkil�tunnus sis�lt�� henkil�n syntym�ajan. Usein tyhm� tunniste on ainoa mahdollinen, mutta monessa tapauksessa �lyk�s voi n�ytt�� hyv�lt� ratkaisulta mm. siksi, ett� merkityksellisten numeroiden muistaminen on helpompaa kuin merkityksett�mien. �lykk�iden tunnisteiden heikkous on kuitenkin niiden joustamattomuus: Tunnistetta ei aina voi helposti muuttaa, vaikka sen osana oleva tieto (esim. kirjan kustantaja ISBN-numerossa) vaihtuisi, jolloin �lykkyys muuttuu painolastiksi. Tyhm�� tunnistetta ei tarvitse muuttaa; riitt�� ett� sill� l�ytyv�t muut tiedot p�ivitet��n. T�m�n vuoksi tyhmien tunnisteiden k�ytt� laajenee hitaasti �lykk�iden kustannuksella. �lyk�s tunniste voi olla hyv� valinta, jos kaikki sen osat ovat t�ysin pysyvi� tai tunniste on helposti muutettavissa (esim. merikuljetuskontin numero). Tyhm� tunniste edellytt�� yleens� yht� keskitetty� rekisteri�, kun taas �lyk�s tunniste antaa helpohkon mahdollisuuden tietojen ja niiden yll�pidon hajauttamiseen, koska tunnisteesta voidaan p��tell� mist� (esim. mink� maan) rekisterist� tietoja on etsitt�v�.
Esimerkkej�:
�lyk�s: ISBN-numero, kemikaalin indeksinumero.
Tyhm�: S�hk�inen
asiointitunnus, ISWC-koodi.
Tarkisteiden historian hyvin lyhyt oppim��r�
Tarkisteen k�ytt� on yleens� mielek�st� vain silloin kun tarkistus voidaan tehd� koneellisesti, joten ennen tietokoneita tarkisteet olivat harvinaisia, paitsi ehk� matemaattisissa teorioissa. Esim. Yhdysvalloissa otettiin vuonna 1936 el�keturvan j�rjest�miseksi k�ytt��n Social Security Number (SSN), jossa ei viel�k��n (vuonna 2013) ole mink��nlaista virallista tarkistetta (jotkin organisaatiot lis��v�t oman tarkisteensa, mutta yhten�ist� k�yt�nt�� ei ole).Kuitenkin viimeist��n 800-luvulla arabimatemaatikot tunsivat jo Moduli 9:� muistuttavan yksinkertaisen menetelm�n, jota k�ytettiin peruslaskutoimitusten tulosten tarkistamiseen 1900-luvulle saakka. Kuvaavan suomenkielisen nimen "Yhteenlasku modulo 9" selvitti huhtikuussa 2006 Helsingin yliopiston matematiikan ja tilastotieteen laitos Helsingin kaupunginkirjaston iGS-palvelun toimiessa v�litt�j�n�, mist� kiitokset molemmille. Muitakin samankaltaisia menetelmi� kehitettiin.
Varhaisin tiedossani oleva koneellinen sovellus on Elannon j�sennumero, jossa tarkiste otettiin k�ytt��n vuonna 1956, siis kaksi vuotta ennen kuin Postis��st�pankkiin tuli Suomen ensimm�inen kaupallis-hallinnollinen tietokone. Elannon j�rjestelm� toimi reik�korttikoneilla, joita suomalaiset virastot ja yritykset olivat tuolloin k�ytt�neet jo yli 30 vuotta.
Laajemmmin tarkisteiden hy�dyllisyys tietojen sy�t�ss� huomattiin kun tietokoneita alettiin k�ytt�� kaupallisiin ja hallinnollisiin tarkoituksiin 1950-luvun lopulla. Saksalais-yhdysvaltalainen Hans Peter Luhn sai patentin menetelm�lleen vuonna 1960, Suomessa alettiin jakaa ty�el�kekorttien numeroita 1962, alankomaalainen matemaatikko Jacobus Verhoeff julkaisi oman menetelm�ns� 1969 ja ISO-standardin 7064 ensimm�inen versio julkaistiin 1983.
Uusia tarkistetta k�ytt�vi� j�rjestelmi� suunnitellaan jatkuvasti, ja Damm julkaisi yksinkertaisen mutta tehokkaan algoritminsa vuonna 2004.
Tarkiste voidaan laskea my�s tekstist�, ja n�in usein tehd��nkin, mutta silloin kyse on bin��risist� menetelmist�, jotka j��v�t t�m�n dokumentin ulkopuolelle. Toisaalta jo esihistoriallisella ajalla runomuoto auttoi suullisen perim�tiedon v�littymist� mahdollisimman muuttumattomana sukupolvelta toiselle. Poljennolliset runomitat, kuten Kalevalassa, sopivat t�h�n erityisen hyvin, ja mahdollisten muutosten havaitsemista helpottaa kalevalainen tapa sanoa sama asia kahdesti eri sanoilla.
T�m�n dokumentin historia
Aloitin t�m�n dokumentin kokoamisen omaan k�ytt��ni 1990-luvun alussa, l�hinn� ajatellen ett� n�it� tietoja tullaan tarvitsemaan ohjelmia kirjoitettaessa, ja oikeassa olinkin. Vanhin s�ilynyt versio on vuodelta 1996; siin� kuvataan viisi menetelm�� ja kuusi sovellusta. V�hitellen menetelmien ja sovellusten ker��misest� tuli harrastus, ja dokumentti alkoi el�� omaa el�m��ns�, jossa edes potentiaalinen hy�tyk�ytt� ei en�� ollut t�rke��. Joitakin vuosia dokumentti oli vain muutaman henkil�n k�ytett�viss�, kunnes se vuonna 1998 siirrettiin Internetiin - tuolloin viel� pelkk�n� ASCII-tekstin� ilman HTML-tageja ja nimell� "Tarkistusmerkkien laskentamekanismeja". Omalle kotisivulleni dokumentti siirtyi seuraavana vuonna, jonka j�lkeen se on laajentunut yli kuusinkertaiseksi. Nykyinen nimi tuli k�ytt��n vuonna 2003.
Esimerkki kirjainten numeroarvoista
Mm. matkustusasiakirjoissa annetaan kirjaimille numeroarvot tarkisteen laskentaa varten, mutta menettely on hyvin kaavamainen. Arvot annetaan aakkosj�rjestyksess�, ja vaikka ne ovat kaksinumeroisia, laskentamenetelm�st� seuraa ett� vain viimeisell� numerolla on merkityst�. Matkustusasiakirjat on tarkoitettu luettaviksi koneellisesti, mutta k�sin teht�v�� sy�tt�� ajatellen valituksi tulleet arvot eiv�t ole parhaat mahdolliset. Parempaan tulokseen voidaan p��st� ennakoimalla tavallisimmat yhden merkin virheet k�sinsy�t�ss�.T�m�n esimerkin arvoja valittaessa on otettu huomioon seuraavat asiat:
- K�ytet��n kaikkia anglosaksisten aakkosten kirjaimia A..Z; isoille ja pienille kirjaimille ei anneta arvoja erikseen; muita kirjaimia, esim. ��kk�si�, k�ytet��n tunnisteissa niin harvoin, ettei niit� tarvitse ottaa huomioon
- Kirjainten numeroarvot ovat yksinumeroisia nollasta poikkeavia - t�ll�in on helppo soveltaa jotakin yleisesti k�ytetty� Moduli 10 tai Moduli 11 -tyyppist� menetelm��, joka tuottaa yksimerkkisen tarkisteen; nollaa on hyv� v�ltt�� mm. siksi, ett� er��t menetelm�t eiv�t paljasta nollan ja jonkin muun numeron vaihtumista kesken��n
- Mit��n numeroa ei k�ytet� kolmea kertaa enemp��
- Kirjaimen numeroarvo ei saa olla sama kuin QWERTY-n�pp�imist�ss� viereisen kirjaimen tai numeron
- Toisiaan suomalaiselta ��nneasultaan muistuttavilla kirjaimilla ei saa olla samaa arvoa - varsinkin puhelimessa voi tulla sekaannuksia (muissa kieliss� ��nt�misen ja n�pp�inj�rjestyksen huomioonottaminen voi tietysti johtaa toisenlaiseen lopputulokseen)
- Toisiaan ulkon��lt��n muistuttavilla kirjaimilla ja/tai numeroilla ei saa olla samaa arvoa; ulkon�k�tarkastelussa otetaan huomioon my�s pienet kirjaimet ja pyrit��n ottamaan huomioon erilaiset fontit, (huolimattomasti) k�sin kirjoitettu teksti yms.
- Aakkosj�rjestyksess� per�kk�isill� kirjaimilla ei tarvitse olla eri arvoja
A 7 | B 7 | C 9 | D 1 | E 5 | F 8 | G 4 | H 8 | I 5 | J 2 | K 6 | L 9 | M 1 |
N 4 | O 2 | P 6 | Q 3 | R 3 | S 6 | T 2 | U 1 | V 3 | W 4 | X 7 | Y 5 | Z 8 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
DMU | JOT | QRV | GNW | EIY | KPS | ABX | FHZ | CL |
Kuten toisaalla on todettu, virhemahdollisuuksia voidaan v�hent�� my�s j�tt�m�ll� joitakin hankalimpia kirjaimia kokonaan pois, mutta t�m� esimerkki on haluttu tehd� mahdollisimman yleiseksi.
Havaittuja heikkouksia
Kaikilla kuvatuilla menetelmill� on jokin heikkous, joka ei v�ltt�m�tt� vaivaa menetelm�� edell�kuvatussa k�ytt�tarkoituksessaan, mutta voi tehd� sen mahdollisissa muissa sovelluksissa, joten n�m� asiat kannattaa ottaa huomioon menetelm�� valittaessa. Huomaa ett� kun sama ongelma koskee useampia menetelmi�, kuvaus voi jossakin (yleens� ensimm�isess�) kohdassa olla pitempi kuin muualla. Joitakin tulkinnanvaraisia asioita on tietoisesti j�tetty pois, eik� luettelo varmaan muutenkaan ole t�ydellinen.Menetelm� | Ongelmat |
---|---|
Moduli 97-10 | Jakoj��nn�ksen laskeminen
yhdeks�� numeroa pitemmist� luvuista voi olla ongelma joissakin
ohjelmointikieliss�. Kiertotie on kuitenkin olemassa, vrt.
Jakoj��nn�s ja kongruenssi, jossa kerrotaan my�s
miten lasketaan jakoj��nn�s suuresta luvusta. Tarkiste on kaksinumeroinen, mik� on liikaa joissakin sovelluksissa. |
Moduli 34 | Yksitt�isen merkin vaihtumista
toiseksi ei aina huomata. Painokertoimien yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��. Vaikka 0:a ja 1:� ei k�ytet� tarkisteina, toisiaan muistuttavat numerot ja kirjaimet aiheuttavat virheit�. |
Moduli 31 | Jakoj��nn�ksen laskeminen yhdeks�� numeroa pitemmist� luvuista voi olla ongelma joissakin ohjelmointikieliss�. |
Y-tunnus muunnelmineen |
Painokertoimien yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��
(mutta Mod 11-2 tekee kyll� hyv�n yrityksen). Tarkistetta ei voida laskea mille tahansa numerosarjalle. |
ISBN- ja ISSN-numero | Painokertoimien yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��, vaikka moottoriajoneuvon sarjanumerossa sit� yritet��n (jossain m��rin menetelm�n tehokkuuden kustannuksella). |
Moduli 11 | Menetelman joissakin versioissa
painokertoimien yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��. Tarkistetta ei voida laskea mille tahansa numerosarjalle. |
Moduli 11-11 | Yksi tarkiste (0) vastaa kahta eri jakoj��nn�st�, mik� est�� joidenkin virheiden havaitsemisen. Menetelm� on kuitenkin luultavasti parempi kuin useimmat joissa k�ytet��n samaa metettely�. |
Moduli 11-0 | Painokertoimien
yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��. Yksi tarkiste (0) vastaa kahta eri jakoj��nn�st�, mik� est�� joidenkin virheiden havaitsemisen. |
Moduli 11-5 | Yksi tarkiste (5) vastaa kahta eri jakoj��nn�st�, mik� est�� joidenkin virheiden havaitsemisen. |
Moduli 11-10 | Yksi tarkiste (0) vastaa kahta eri jakoj��nn�st�, mik� est�� joidenkin virheiden havaitsemisen. |
Luhnin moduli 10 | 0:n ja 9:n
vaihtumista kesken��n ei havaita. Per�kk�isten numeroparien - esim. p�iv�m��r�n osien - vaihtumista kesken��n ei havaita. Vrt. Ruotsalainen henkil�tunnus. |
Moduli 10 | Kahden numeron vaihtumista
kesken��n ei havaita, jos niiden erotus on 5, eli esim. 8162 ja 8612 saavat
saman tarkisteen. Per�kk�isten numeroparien vaihtumista kesken��n ei havaita. |
Kerroin 137 | Kahden numeron vaihtumista kesken��n ei havaita, jos niiden erotus on 5. |
Matkustusasiakirjat | Kirjaimille valitut
numeroarvot eiv�t ole parhaat mahdolliset. T�m�n vuoksi yksitt�isen merkin
vaihtumista toiseksi ei aina huomata. Erillisess� kappaleessa on esimerkki vaihtoehdosta. Kahden numeron vaihtumista kesken��n ei havaita, jos niiden erotus on 5. |
Kerroin 12 | Yksitt�isen numeron vaihtumista
toiseksi ei aina huomata. Kahden numeron vaihtumista kesken��n ei aina huomata. Per�kk�isten numeroparien vaihtumista kesken��n ei havaita. |
Kerroin 234 | Yksitt�isen numeron vaihtumista
toiseksi ei aina huomata. Painokertoimien yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��. |
Kerroin 123 | Yksitt�isen numeron
vaihtumista toiseksi ei aina huomata. Tarkisteen ja sit� edelt�v�n numeron vaihtumista kesken��n ei huomata jos niiden erotus on 5. Painokertoimien yleist�minen pitemmille numerosarjoille ei ole itsest��n selv��. |
Moduli 9 | 0:n vaihtumista 9:ksi tai p�invastoin ei havaita, eli esim. 2307 ja 2397 saavat saman
tarkisteen. Mink��n numeroiden vaihtumista kesken��n ei havaita. 0:n tai 9:n lis��mist� tai poistamista muiden numeroiden v�list� ei havaita. Kirjaimia k�sitelt�ess� havaitsematta j��vi� muutoksia on hiukan enemm�n. |
Moduli 7 | Numeron vaihtumista toiseksi
ei havaita, jos kyseess� on jokin seuraavista: 0↔7, 1↔8,
2↔9. Samojen numeroparien keskin�isi� paikanvaihtoja ei my�sk��n
havaita. Menetelm� on monia muita heikompi lis�ysten / poisj�tt�jen havaitsemisessa. Jakoj��nn�ksen laskeminen yhdeks�� numeroa pitemmist� luvuista voi olla ongelma joissakin ohjelmointikieliss�. |
Moduli 37 | Per�kk�isten numeroparien vaihtumista kesken��n ei havaita. |
Kerroin 39 | Kahden numeron vaihtumista
kesken��n ei havaita, jos niiden erotus on 5. Per�kk�isten numeroparien vaihtumista kesken��n ei havaita. |
Yksitt�isen menetelm�n rajoituksia voi joskus kiert�� k�ytt�m�ll� kahta eri menetelm�� jotka paikkaavat toistensa puutteet, mutta t�ll�in tarkisteitakin on kaksi tai useampia, kuten Luottokunnan my�nt�miss� luottokorteissa ja er�iss� viivakoodeissa. Matkustusasiakirjoissa olisi ollut hyv� tilaisuus laskea yhteinen tarkiste eri menetelm�ll� (esim. Luhnin moduli 10) kuin yksitt�isten kenttien tarkisteet, mutta mahdollisuutta ei ole hy�dynnetty. Er��ss� j�rjestelm�ss� 8-numeroiseen asiakasnumeroon on liitetty per�ti nelj� tarkistenumeroa: 1. lasketaan kuten ISBN-numerossa (asiakasnumerot valitaan niin ett� X-kirjainta ei tarvita), 2. ja 3. lasketaan Moduli 97-10:ll� ja 4. Luhnin moduli 10:ll�. Virheet on l�hes t�ysin eliminoitu, mutta menettely on aika raskas. K�ytt�j�organisaatio kuitenkin sai mit� halusi.
Jonkinasteisella mielenkiinnolla voidaan todeta, ett� henkil�kortin numero tarkistetaan kahdella eri menetelm�ll� yhteens� kolmeen kertaan, ja viel� sittenkin kahden numeron vaihtuminen kesken��n j�isi useassa tapauksessa havaitsematta. Tosin vaihtuminen ei koneellisessa luvussa ole kovin todenn�k�inen, mutta tilanne muuttuu jos koneellinen luku ei jostain syyst� onnistu, ja tiedot joudutaan sy�tt�m��n k�sin.
Luhnin moduli 10:n t�rkein puute voidaan kiert�� v�ltt�m�ll� numerosarjoja, joissa 0 ja 9 esiintyv�t vierekk�in, jos sovellus t�m�n sallii. Asia voidaan viel� erikseen tarkistaa tietoja sy�tett�ess�. Samaa periaatetta voi soveltaa er�isiin muihin menetelmiin, mutta juuri t�ss� se toimii parhaiten.
Eri menetelmien suorituskyvyst� n�kee niin vaihtelevia arvioita, ettei alempana oleva taulukko luultavasti ole sen huonompi kuin muutkaan. Suurimmaksi osaksi arvio koskee vain numeroiden sy�t�n tarkistamista. Kirjaimet vaikeuttaisivat arviointia joissakin tapauksissa kohtuuttomasti. T�m�n vuoksi Coden on j�tetty pois. Vain tavallisimmat virheet on otettu huomioon.
Olen muutaman kerran n�hnyt v�itteit�, joiden sis�lt� on suunnilleen seuraava: "Yhdell� tarkistusnumerolla voidaan havaita enint��n 90 % virheist�, koska tarkisteelle on vain 10 vaihtoehtoa, ja siksi t�ysin satunnainenkin numerosarja l�p�isee tarkistuksen 10 % todenn�k�isyydell�." T�llaisella havainnolla on merkityst� vain niille, jotka esim. laskua maksaessaan sy�tt�v�t saajan tilinumeroksi tai laskun viitenumeroksi satunnaisia numerosarjoja. Me muut yrit�mme sy�tt�� t�sm�llisesti m��r�ttyj� numeroita, ja vaikka t�ss� teht�v�t virheet itsess��n ovat satunnaisia, ne voidaan kuitenkin jakaa eri tyyppeihin, joiden esiintymistiheydet voidaan kokeellisesti selvitt��, ja sitten voidaan kehitt�� tarkisteiden laskentamenetelmi�, joilla tavallisimmat virheet havaitaan mahdollisimman usein. Kuten allaolevasta taulukosta n�kyy, hyv� tarkistusmenetelm� paljastaa yhdell�kin tarkistusnumerolla selv�sti enemm�n kuin 90 % tavallisimmista virheist�.
Menetelm�(t) | Yhden numeron muuttaminen (3�) | Vierekk�isten numeroiden vaihtaminen kesken��n | Yhden numeron lis��minen / poistaminen | Painotettu keskiarvo |
---|---|---|---|---|
Moduli 97-10 | 0 | 0 | 1.0 | 0.20 |
Moduli 37 | 0 | 0 | 2.7 | 0.54 |
Moduli 31 | 0 | 0 | 3.2 | 0.64 |
Y-tunnus muunnelmineen ISBN- ja ISSN-numero Moduli 11 |
0 | 0 | 9.1 | 1.82 |
Verhoeffin menetelm� Dammin algoritmi |
0 | 0 | 10.0 | 2.00 |
Luhnin moduli 10 Mod 11,10 |
0 | 2.2 | 10.0 | 2.44 |
Moduli 11-0 Moduli 11-5 Moduli 11-10 * |
1.5 | 1.9 | 10.6 | 3.40 |
Moduli 10 Kerroin 137 Matkustusasiakirjat Kerroin 39 |
0 | 11.1 | 10.0 | 4.22 |
Kerroin 12 | 5.9 | 0.8 | 10.3 | 5.76 |
Kerroin 123 | 2.8 .. 11.1 | 1.2 .. 5.6 | 10.0 | 6.85 |
Moduli 7 | 6.7 | 6.7 | 20.0 | 9.36 |
Moduli 9 | 2.2 8.6 |
100.0 | 20.0 11.1 |
25.32 27.38 |
Yhden numeron muuttaminen on tavanomaisin virhe, joten sille on annettu kolminkertainen paino keskiarvoja laskettaessa. T�m� vastaa Jacobus Verhoeffin havaintoja eri virhetyyppien yleisyydest�. Muiden kuin n�iden kolmen virhetyypin yhteinen osuus on vain n. viisi prosenttia kaikista virheist�.
* Prosenttiluvut koskevat todellisuudessa vain menetelm�� Moduli 11-0, mutta Moduli 11-5 ja Moduli 11-10 ovat niin samankaltaisia, etten usko tulosten merkitt�v�sti poikkeavan. Moduli 11-11 saattaa olla parempi tai huonompi, mutta en ole viel� tutkinut.
Kerroin 123:n tehokkuus riippuu monimutkaisella tavalla numerosarjan pituudesta. Ilmoitetut vaihteluv�lit ja keskiarvo perustuvat 2..9 tarkistettavaan numeroon. Arviossa ei ole otettu huomioon sit�, ett� er�it� menetelmi� k�ytet��n kiinte�mittaisten tietojen tarkistamiseen, jolloin yhden numeron lis��minen / poistaminen havaitaan aina. Tarkoitus on verrata menetelmi�, ei sovelluksia. Kerroin 234:n tehokkuus on luultavasti suunnilleen sama kuin Kerroin 123:n, mutta t�t� en ole yksityiskohtaisesti tutkinut.
Moduli 9:n kohdalla alemmat luvut koskevat tapausta jossa k�ytet��n my�s kirjaimia.
Huonokin tarkistusmenetelm� on tietysti paljon parempi kuin ei mit��n, mutta huonolla menetelm�ll� laskettu tarkistusmerkki vie resursseja yht� paljon kuin hyv�ll� menetelm�ll� laskettu, ajatellaanpa sitten laskentaan kuluvaa aikaa, muistin k�ytt�� tai ohjelman kirjoittamiseen tarvittavaa aikaa, joten miksi tyyty� huonoon kun hyvi�kin on tarjolla?
On matemaattisesti todistettu, ett� mik��n tarkistusmenetelm�, joka edustaa t�ss� dokumentissa kuvattuja painotus-summaus-jakoj��nn�s -tyyppej�, joka ei aseta rajoituksia tarkistettavalle numerosarjalle, ja jossa tarkiste on yksitt�inen kymmenj�rjestelm�n numero, ei voi paljastaa sek� kaikkia tapauksia joissa yksitt�inen numero vaihtuu toiseksi, ett� kaikkia tapauksia joissa kaksi vierekk�ist� numeroa vaihtuvat kesken��n. L�himm�ksi p��see Luhnin moduli 10. Muita yht� hyvi� menetelmi� voidaan kehitt��, mutta parempi tulos edellytt�� toisenlaista l�hestymistapaa, kuten esim. Verhoeffin menetelm�ss� tai Dammin algoritmissa.
Aikaisemmin taulukon prosenttiluvut kuvasivat sit�, kuinka suuren osan virheist� menetelm� paljastaa, mutta nykyinen versio on mielest�ni havainnollisempi. Nyt n�kyy selv�sti esim. se, ett� Luhnin moduli 10 - joka sent��n on Moduli 10 -tyyppisist� menetelmist� paras - p��st�� l�pi yli kymmenen kertaa niin paljon virheit� kuin Moduli 97-10, ja heikoin menetelm� on viel� yli kymmenen kertaa huonompi.
"Ihanteellinen" tarkistusmenetelm�
K�yt�nn�n tilanteet vaihtelevat, ja sen vuoksi mik��n yksitt�inen tarkistusmenetelm� ei voi olla paras joka tilanteessa. Tarkastellaan asiaa sen pohjalta, kuinka hyviksi eri menetelm�t on todettu kappaleessa Havaittuja heikkouksia. Asetetaan joitakin rajauksia sille, millaiseen sovellukseen menetelm�� halutaan k�ytt��:- Tarkistettava tieto ja tarkiste sis�lt�v�t vain numeroita 0..9. [T�m� on melko yleinen vaatimus. Jos tarkistetaan vain numeroita, mutta hyv�ksyt��n se ett� tarkiste saa joskus olla X-kirjain, ISBN-numeron tarkistus tai Mod 11-2 ovat sopivia yksimerkkisen tarkisteen tuottavia menetelmi�. Jos halutaan k�sitell� my�s kirjaimia A..Z, hyvi� yksimerkkisen tarkisteen tuottavia menetelmi� ovat Mod 37-2 ja Mod 11,10:n muunnelma Mod 37,36. Viel� parempi on Moduli 97-10 jos ollaan valmiita k�ytt�m��n kaksimerkkist� tarkistetta. Jos n�m� vaihtoehdot eiv�t miellyt�, lue kappale Esimerkki kirjainten numeroarvoista, jossa kuvataan miten kirjaimet voidaan korvata numeroilla lis��m�tt� virhemahdollisuuksia merkitt�v�sti, ja jatka sitten t�st� kohdasta eteenp�in.]
- Tarkistusmenetelm� ei saa asettaa rajoituksia tarkistettavalle numerosarjalle. [Jos t�st� ollaan valmiita tinkim��n, parhaita yksinumeroisen tarkisteen tuottavia menetelmi� ovat Y-tunnus muunnelmineen ja Moduli 11. Huomaa ett� t�h�n ryhm��n eiv�t kuulu Moduli 11-0, Moduli 11-5, Moduli 11-10 ja Moduli 11-11.]
- Tarkisteen on oltava yksinumeroinen.
Jos numerosarja on vaihtuvamittainen, ja halutaan suurempaa varmuutta kuin mihin Verhoeffin menetelm� tai Dammin algoritmi yksin pystyv�t, tarvitaan kaksi tarkistetta. T�ll�in Moduli 97-10 on tietysti ilmeinen vastaus, onhan se Kansainv�lisen standardointij�rjest�n ISO:n m��rittelem�, ja em. taulukonkin mukaan paras l�yt�mist�ni menetelmist�. Silti on luvallista kysy�, voisiko t�st�kin viel� parantaa, ja vastaus on my�nteinen.
Kuten em. taulukosta havaitaan, parhaiden menetelmien heikoin kohta on numerosarjan pituuden muuttumisen j��minen havaitsematta, joskin pienell� todenn�k�isyydell�. Kappaleessa Mahdollinen lis�tarkistus kuvataan tarkiste, joka kertoo numerosarjan pituuden (mod 10). Jos t�m� tarkistus yhdistet��n Verhoeffin menetelm�ll� tai Dammin algoritmilla laskettuun tarkisteeseen, ja oletetaan ett� molemmat tarkisteet ovat numerosarjan lopussa, voidaan todeta seuraavaa:
- Havaitaan kaikki tapaukset, joissa yksi numero on vaihdettu toiseksi.
- Havaitaan kaikki tapaukset, joissa kaksi vierekk�ist� numeroa ovat v��r�ss� j�rjestyksess�.
- Jos yksi numero on lis�tty tai poistettu
- Havaitaan kaikki tapaukset joissa muutos ei vaikuta kahteen viimeiseen numeroon.
- Havaitaan 99 % tapauksista, joissa muutos vaikuttaa kahteen viimeiseen numeroon.
Verhoeffin menetelm�� pidet��n joskus liian monimutkaisena. Jos sit� t�st� syyst� ei haluta k�ytt��, ilmeisin korvike on Luhnin moduli 10, jota vastaavalla tavalla k�ytett�ess� em. lukemat ovat 0, 2,2 ja 0,19, painotettu keskiarvo 0,478 %, eli varsin hyv� mutta h�vi�� kuitenkin Moduli 97-10:lle, joten t�m� ei kelpaa ihanteelliseksi menetelm�ksi. Mod 11,10 olisi t�sm�lleen yht� luotettava, eik� auta laskennan yksinkertaistamisessa. Sit� vastoin Dammin algoritmi on jotakuinkin yht� hyv� kuin Verhoeffin menetelm�, mutta selv�sti yksinkertaisempi.
Lopputulos: Tehokkain tuntemani vaihtuvamittaisille numerosarjoille sopiva kaksinumeroinen tarkiste muodostuu siis seuraavista osista:
- Numerosta, joka osoittaa numerosarjan pituuden (mod 10), kuten on kuvattu kappaleessa Mahdollinen lis�tarkistus. T�m� numero otetaan mukaan toista tarkistetta laskettaessa.
- Tavanomainen tarkiste, joka lasketaan Verhoeffin menetelm�ll� tai Dammin algoritmilla.
Tarkisteita ei l�ydy kaikkialta
T�t� dokumenttia ensimm�ist� kertaa lukeva voi h�mm�sty� siit�, kuinka laajasti tarkisteita k�ytet��n, mutta ei niit� sent��n ihan joka paikassa ole.- Autojen rekisterinumerot: Suomalaisissa rekisterinumeroissa ei ole tarkistetta, mutta joissakin maissa (esim. Singapore) sellaista k�ytet��n. T�m� on luultavasti erityisen hy�dyllist� jos rekisterinumeroita tunnistetaan koneellisesti automaattisessa liikenteenvalvonnassa, sill� t�llaiseen tunnistukseen liittyy monia h�iri�tekij�it�.
- Postipakettien j�ljitykseen k�ytett�v�t l�hetystunnukset: Suomessa otettiin huhtikuussa 2000 k�ytt��n uudet l�hetystunnukset, joissa ei ole tarkistetta. Useissa muissa l�hetystunnuksissa tarkisteita kuitenkin k�ytet��n.
- Puhelinnumerot: Jokainen huomaa varmasti, ett� jos puhelinnumeroissa olisi tarkiste, virhesoitot olisivat selv�sti harvinaisempia kuin ne todellisuudessa ovat. Tarkisteen lis��mist� on suunniteltu ainakin Yhdysvalloissa, mutta toteutusta saadaan viel� odottaa, ehk� pitk��nkin.
- Suomen markkojen sarjanumeroissa ei k�ytetty tarkisteita. Tarkisteita ei ole my�sk��n Yhdysvaltain dollareissa; t�m� on todettu tutkimalla sek� vanhan- ett� uudenmallisia 20 dollarin ja uudenmallisia viiden ja kymmenen dollarin seteleit�. Englantilaisista vuoden 2000 mallisista 10 punnan seteleist�k��n ei tarkisteita l�ytynyt. Sit� vastoin euroseteleiss� on tarkiste ja tarkisteiden k�yt�st� joissakin muissa seteleiss� on viitteit�.
- Vakuutustunnukset (vakuutusnumerot): Ainakin joissakin tunnuksissa on tarkiste, mutta laskentamenetelm�� en ole pystynyt selvitt�m��n, paitsi Tapiolan kohdalla. Eri vakuutusyhti�iden tunnukset ovat muodoltaan erilaisia, ja on luultavaa ett� mit��n pankkitilien numeroiden tarkistukseen verrattavaa yhten�ist� k�yt�nt�� ei ole olemassa.
- Ymp�rist�merkki: Pohjoismaissa k�ytett�v�n Joutsenmerkin yhteydess� on usein lupanumero (kaksi kolmen numeron ryhm��) jossa ei ole tarkistetta.
Avoimia kysymyksi�
On helppoa l�yt�� tietoja joistakin tarkistusmenetelmist� ja niiden sovelluksista, mutta toisten kohdalla monet yksityiskohdat j��v�t puutteellisiksi. Jos osaat antaa luotettaviin l�hteisiin perustuvia lis�tietoja jostakin t�ss� mainitusta avoimesta asiasta, ole hyv� ja l�het� tiedot s�hk�postitse minulle niin saadaan ne muidenkin luettaviksi. Ilmoita my�s saako nimesi mainita t�ss� dokumentissa.- IPI:n maksunaihekoodista on hyv�t dokumentit, muttei aitoja esimerkkej�.
- Millaisia yksil�numeroita k�ytet��n 2000-luvulla annettavissa Henkil�tunnuksissa? Vaikka asiasta on jotakin tietoa, yksityiskohdat puuttuvat. Millaisia suunnitelmia V�est�rekisterikeskuksella on sit� v�ist�m�tt� tulossa olevaa tilannetta varten, kun kolme numeroa ei en�� riit�?
- Onko Y-tunnuksella muita erikoistapauksia kuin Maatilatunnus ja aikaisemmin kuolinpesille ja yhtymille annetut 9-alkuiset numerot? Mit�? Erityisesti niit� voisivat olla 6- tai 7-alkuiset tunnukset, jos sellaisia on olemassa.
- Rikosrekisterinumeron tarkisteen laskennasta ei ole k�ytett�viss� mit��n tietoja, eik� numeroista ole my�sk��n yht��n esimerkki�.
- X-tunnuksista kaivataan lis�� esimerkkej�.
- T-koodeista olisi hyv� l�yt�� dokumentoitua tietoa.
- Onko Tuotekoodilla t�ss� dokumentissa mainitsemattomia erikoistapauksia? Mit�? 980..982-alkuisista EAN-13 -koodeista tarvittaisiin esimerkkej�, mieluummin jossakin asiayhteydess� kuin pelkkin� numerosarjoina. My�s 99-alkuisten k�yt�st� olisi hyv� saada lis�� suomalaisia esimerkkej� (muita kuin Plussa-pisteseteleit�).
- Aidoista biometrisell� tunnisteella varustettujen passien koneellisesti luettavista riveist� ja takakannen viivakoodeista pit�isi saada esimerkkej�.
- Uudenmallisten henkil�korttien takana olevista koneellisesti luettavista riveist� tarvittaisiin lis�� aitoja esimerkkej�.
- Tiedossa ei ole sek��n, k�ytet��nk� ennakkoverolipun numerossa samaa tarkistusta kuin dieselverolipun numerossa tai miten dieselverolipun tapauksessa k�sitell��n skandimerkit.
- Naudoilla on ihmisten henkil�tunnusta vastaava syntym�tunnus, joka n�ytt�� sis�ltyv�n nautojen EU-tunnukseen. Joissakin tapauksissa tunnukseen liitet��n tarkiste, jonka laskentamenetelm� on Kerroin 137. Tarkempia tietoja tunnusten muodosta kaivataan, koska l�ydetyt dokumentit ovat sekavia. Muiden tuotantoel�inten vastaavista tunnuksista tietoja on viel� v�hemm�n.

Ihmisten ei tarvitse v�litt�� seuraavasta sanaluettelosta, joka on tarkoitettu vain hakukoneille. T�h�n on koottu joitakin sanoja, jotka eiv�t muuten esiinny tekstiss� perusmuodossa tai lainkaan, mutta joita joku voi k�ytt�� etsiess��n t�ss� dokumentissa kuvattuja asioita. T�h�n ratkaisuun on turvauduttu, koska useimmat hakukoneet eiv�t en�� ota huomioon sellaisia dokumenttien metatietoja, joilla sama asia on aikaisemmin voitu hoitaa. Sanat olisi voitu piilottaa n�kyvist� tekem�ll� niist� samanv�risi� kuin tausta, mutta er��t hakukoneet j�tt�v�t sellaisetkin sanat vaille huomiota.
ajoneuvo auto automaattikortti elincs-numero euroseteli eu-tunnus kemikaali konttinumero latvia lentolippu liettua matkapuhelin matkashekki matkustusasiakirja merikuljetuskontti moottoriajoneuvo nainen pankkisiirto pankkisiirtolomake pankkitili puhelin rautatievaunu sim-kortti s��st�pankki tarkasta tarkastaminen tarkastus tarkastusmenetelm� tarkastusohjelma tavarakoodi tavaravaunu vakuutustunnus verkkolasku verolippu