YEnc

yEnc  on suosittu binääristä tekstiksi -koodausmenetelmä, jota käyttävät pääasiassa Usenet -käyttäjät . Käytetään myös lähetettäessä suuria binääritiedostoja sähköpostitse. Verrattuna muihin binääritietojen koodausmenetelmiin tekstiksi, se on tehokkaampi, koska se ei käytä vain 7-bittisen ASCII -taulukon merkkejä, vaan myös osaa laajennetun ASCII-taulukon merkeistä . Tästä johtuen yEnc-koodattujen tiedostojen koko ylittää alkuperäisten koon vain 1-2 % [1] . Tämä on merkittävä parannus verrattuna 33–40 % lisätilaan kuusibittisille koodausmenetelmille, kuten uuencode ja Base64 . Ensimmäisen yEncin version julkaisi Jürgen Helbing vuoden 2001 alussa. Vuoteen 2003 mennessä yEnc oli yleistynyt ja siitä tuli de facto standardi binääritiedostojen koodaamiseen Usenetissa . [2] Nimi yEncode on sanapeli aiheesta "Miksi koodata?" ("Miksi koodata?"), vitsi, joka syntyi siitä syystä, että yEncin perusideana oli, että vain ne binääritiedoston merkit täytyy koodata, joille se oli ehdottomasti sijoitettava kirjeen runko RFC: n teknisten standardien mukaisesti . [3]

Toinen yEncin etu uuencode- , Base64- ja muihin aikaisempiin tekniikoihin verrattuna on CRC-koodi , jonka avulla voit tarkistaa, että lähdetiedosto on koottu oikein ja palautettu yksittäisistä postitse lähetetyistä fragmenteista.

Miten yEnc toimii

RFC 822:n ja RFC 2822 :n mukaan Usenet - sähköpostiviestit saavat sisältää vain 7-bittisen ASCII - kooditaulukon merkkejä . Käytännössä tätä rajoitusta ei kuitenkaan ole havaittu pitkään aikaan, ja suurin osa nykyaikaisista ohjelmistoista lähettää säännöllisesti 8-bittisiä merkkejä kirjainrungossa. YEncin näkökulmasta 256 mahdollisesta binäärimerkistä 252 voidaan siirtää kirjeen sisällä yhtenä tavuna riippumatta siitä, näkyykö tämä merkki tietokoneen näytöllä vai ei. Merkit NUL, LF, CR ja = (yhtäsuuruusmerkki) on koodattu erityisellä tavalla. LF:n ja CR:n osalta poikkeuksen syy on se, että näillä kirjaimen sisällä olevilla merkeillä on RFC:n kannalta erityinen merkitys. NUL - tämän merkin sisältävien merkkijonojen käsittelyn monimutkaisuuden vuoksi joissakin ohjelmointikielissä ja yEnc-käsittelyalgoritmien optimoinnin syistä. Symbolia = käytetään estomerkkinä .

Ongelmia ja kritiikkiä

Useat kriitikot ovat osoittaneet yEncin heikkouksia. [4] [5] [6] [7]

He huomauttivat erityisesti, että yEnc kärsii samoista yleisemmän uuencoden puutteista, jotka on ratkaistu kauan sitten MIME -sähköpostistandardissa . Esimerkiksi yEnc vaatii merkkijonojen "=ybegin" ja "=yend" sijoittamisen sähköpostin tekstiosaan, mikä rajoittaa kyseisessä sähköpostissa lähetettävän binaariosan määrää. [3]

Tämän seurauksena on mahdollista väärä positiivinen tiedostokeräilijä, joka analysoi kirjeen tekstin ja löytää sieltä samanlaisen rivin, joka mainittiin itse yEncin keskustelussa kirjeenvaihdossa. Tämä on pieni virhe, vakavampi on se, että yEnc koodaa tiedostonumerot sähköpostin aiheriville, mikä on epäluotettava tapa välittää tietoja ja se voi olla sekaisin. Tämän seurauksena binaaritiedoston kokoaminen epäonnistuu.

Kritiikkiä koski myös yEnc:tä kuvaavan muodollisen standardin puute.

YEncin jalostusehdotusten joukossa oli myös ajatus yEncin integroimisesta MIME :hen , mikä ilmeisesti säästäisi yEncin useimmilta tämän koodaustekniikan aiheuttamilta puutteilta. YEncin kriitikot eivät kuitenkaan ryhtyneet käytännön toimiin ideoidensa toteuttamiseksi, joten yEncin käyttöä jatketaan nyt siinä muodossa, jossa sen tekniikan tekijä on määritellyt.

Ohjelmistojen standardointi ja tuki

IETF ei ole koskaan ehdottanut yEncia tekniseksi standardiksi . YEncin kotisivulla on epävirallinen teknologiaspesifikaatio sekä useita muita teknisiä huomautuksia.

Usenet Forte Agent -uutislukija tukee suoraan yEncia . On myös useita kolmannen osapuolen apuohjelmia, joiden avulla voit käyttää yEncia yhdessä muiden sähköpostin ja uutislukijoiden kanssa.

Outlook Expressille , Windows Mailille ja Windows Live Mailille on olemassa kolmannen osapuolen laajennuksia, jotka mahdollistavat tämän tekniikan. Mozilla Thunderbird tukee yEncia rajoitetusti. Tämä sähköpostiohjelma ei voi purkaa useisiin sähköpostiviesteihin jaettuja tiedostoja. [kahdeksan]

Muistiinpanot

  1. Helbing, Juergen yEncode - Nopea ja likainen koodaus binäärille (28. helmikuuta 2002). Haettu 26. heinäkuuta 2014. Arkistoitu alkuperäisestä 28. elokuuta 2013.
  2. Fellows, G. Uutisryhmät uudestisyntyneet – Binäärilähetysten renessanssi  (määrittelemätön)  // Digital Investigation. - 2006. - V. 3 , nro 2 . - S. 73-78 . — ISSN 1742-2876 . - doi : 10.1016/j.diin.2006.04.006 .
  3. 1 2 Kim, Juhoon; Schneider, Fabian; Ager, Bernard; Feldmann, Anja. Tämän päivän Usenet-käyttö: NNTP Traffic Characterization  (englanniksi)  : päiväkirja. - 2010. - s. 1-6 . - doi : 10.1109/INFCOMW.2010.5466665 .
  4. Helbing, Jürgen YEncin vastustajat . yenc.org (10. kesäkuuta 2002). Arkistoitu alkuperäisestä 28. elokuuta 2013.
  5. Nixon, Jeremy Miksi yEnc on huono Usenetille (17. maaliskuuta 2002). Arkistoitu alkuperäisestä 29. elokuuta 2013.
  6. Welch, Curt Mikä yEncissä on vikana? (19. syyskuuta 2002). Arkistoitu alkuperäisestä 11. elokuuta 2013.
  7. Färber, Claus yEnc pidetään haitallisena (linkki ei ole käytettävissä) (4. maaliskuuta 2002). Arkistoitu alkuperäisestä 1. kesäkuuta 2009.  
  8. Jenkkituki Thunderbirdissä? . org.mozilla.lists.support-thunderbird-postituslista (18. toukokuuta 2006). Käyttöönottopäivä: 10.4.2017.

Katso myös

Linkit