Mitkä ovat tavalliset base64-salausstrategiat?

Vaikka base64-koodauksella ei ole tarkoitus salata, ei ole kovin haettua ajatella, että koodausprosessia voitaisiin lieventää jollain tavalla luomiseksi salaus. En todellakaan ole ensimmäinen henkilö, joka ajattelee tällaista salausyritystä, joka hyödyntää base64-koodausta. Siksi haluaisin kysyä, millaisia base64-salausstrategioita tunnetaan?

Kommentit

  • Kuten 6-bittinen virtakoodaus?
  • salaus tapahtuu yleensä ennen kuin data ajetaan Base64: n läpi
  • Olen ’ nähnyt aiemmin käytettyjä base64-salausjärjestelmiä, mutta ne kaikki voisivat olla triviaalia Tämä kysymys on järkevä, koska ihmiset saattavat etsiä tällaisia algoritmeja. Terve järki tarkoittaa kuitenkin todennäköisesti sitä, että ilmoitamme, että base64 ei ole tarkoitettu salaukseksi ja on seurausta sekoittamisesta koodaukseen salaukseen. Huomaa, että monet meistä olettavat että tämän kysymyksen lähtökohta on väärä: että salaukseen voidaan käyttää koodausmenetelmää. Tämä voi johtaa alhaiseen ääniin, vaikka kysymys olisi ainakin mielenkiintoinen monille aloittaville salauksen kirjoittajille.
  • Ehkä tangentiaalisesti merkityksellinen: crypto.stackexchange.com/questions/62425/… , crypto.stackexchange.com/questions/5862/… ja crypto.stackexchange. fi / questions / 45215 / …

vastaus

Tämä on otettu Base64: n Wiki-merkinnästä :

base64-esimerkki

Jos todella tarkoitettu peukaloida Base64-koodausta salauksen tarjoamiseksi, se voidaan tehdä yllä korostetulla hakemistotasolla. Tarvitset salaisen avaimen, avaimen johtamistoiminnon , joka on räätälöity luomaan korkean entropian siemen, joka aloitti sitten näennäissatunnaislukugeneraattorin. Sitten generaattorin (6-bittinen) lähtö XOR-indeksoidaan indeksin kanssa jokaisen merkin koodauksen muuttamiseksi. Ja tämä tekniikka voidaan kääntää salatun viestin salauksen purkamiseksi.

Näet kaiken olevan vähän vaivaa. Perinteisesti luodaan salateksti ja koodataan se. Sen lisäksi, että tyypillinen 8-bittinen satunnainen sekvenssi rajataan 6 bittiin, työmäärä on identtinen perinteisen -salauksen . Itse asiassa tarvitset 33% ylimääräisiä laskelmia, mutta se ei ole täällä eikä siellä.

Saatat olla ensimmäinen, joka on ajatellut tätä Base64-muunnosta, koska kukaan ei tunnu olevan tietoinen samanlaisesta käyttäytymisestä. Tämän pitäisi kuitenkin toimia.

kommentit

  • Kiitos mielenkiintoisesta ehdotuksesta! Oikeastaan minulla oli mielessä yksinkertaiset asiat, kuten 6-bittisen kirjainpöytäyhdistyksen permutointi. Tai esittelemällä avain ja suorittamalla bitin xor-operaatio jokaisella kirjaimella, joka selaa avainta tai vastaavaa.
  • @Kagaratsch No, luulen, että ’ ajattelemme vastaavia linjat.

Tarvitset PRNG-toiminnon ja linkität avaimen PRNG: hen ’ tarvitset jonkinlaisen avaimen johtofunktion muuten siellä ’ ll ovat avainmuodon ja PRNG: n käyttämiseen tarvittavan muodon / tilan välinen ristiriita. Jos yksinkertaisesti permutaat ilman avainta tai käytät avainmerkkisi pyöräilyä, järjestelmä ’ ei ole kovin turvallinen, ja tämä on loppujen lopuksi crypto.SE 🙂

  • @PaulUszak Tämä tekninen nimi on oikeastaan aika ilmeinen heti, kun tiedät sen … se ’ kutsutaan yksinkertaisesti nimellä ” XOR-salaus ”. 😉 Huomaa kuitenkin, että taajuusanalyysi rikkoo sen triviaalisesti. Sama koskee tunnettuja selkokielisiä hyökkäyksiä. Voi, ja teknisen nimeämisen suhteen: kun heität prng: n, tällainen ” XOR-salaus ” muuttuu ” virran salaus ”. Mutta luultavasti tiesit sen jo, etkö ’ t sinä?
  • @PaulUszak Etkö ole varma, miksi sanot ” ei ”. Voit myös olla varma, että tiedän mitä ” pyöräily ” tarkoittaa. XOR-salaus kiertää saman avaimen läpi uudestaan ja uudestaan ja samassa järjestyksessä, aivan kuten kuvaat. Tarkista wiki-linkin ” esimerkki ” ; se vastaa kuvauksiasi 100%… a bitwise xor operation on each letter cycling through the key ja Cycling round through the key means that the plain text will be XORed with the same sequence over and over, and in the same order. – joita ’ kutsutaan nimellä ” XOR-salaus ”. Ei virheitä tai kielivirheitä siellä.
  • Kaikilla tavoilla, jotka muokkaat base64: ää tällä tavoin, voidaan ottaa huomioon (a) määritellä tavun merkkijonojen salaus ja (b) sitten käyttää standardi base64: ää lähtöön, kartoittaa salatun tekstin tavujonot tavalliseen tekstiin. ’ ei ole mitään järkeä yhdistää (a) ja (b) – se ei lisää tietoturvaa ja vaikeuttaa tarpeettomasti sekä taustalla olevan salauksen että oletetun vakioperustan64 kuvausta.
  • Vastaa

    Tällä ei ole järkeä. Base64: ssä ei ole salaa avainta: base64-koodaus ja -dekoodaus ovat julkisia toimintoja, joita kuka tahansa voi arvioida.

    Ainoa tapa, jolla base64 liittyy salaukseen, on se, että on kätevää koodata salausteksti jostakin kryptojärjestelmästä, joka on jaettu tasaisesti 8-bittisissä merkkijonoissa, rajoitetussa joukossa US-ASCII: ta, jota ei yhdistetä tai hylätä pelkkään tekstiin, kuten XML, rajoitetuissa yhteyksissä.

    Kommentit

    • +1 (… ja base64 tuottaa lyhyempiä lähtöjä kuin heksakoodaus, minkä vuoksi se on kehitetty ja miksi sitä yleensä käytetään usein sovelluksissa.)
    • Se tekee täydellisestä sense 🙂 Kysymys esitettiin hypoteettisena ja toimenpideohjelma etsii toteutusmahdollisuuksia. ’ ei ole luonnollista lakia, joka vaatisi, että kaiken salauksen on oltava erittäin tehokasta. Sen on vain salattava / purettava. Tiedätkö, että ihmiset rakentavat edelleen höyrykoneita ja ovat niistä erittäin ylpeitä ..?
    • @PaulUszak Sillä ei ole ’ järkeä kuin base64, julkinen muutos Kahden vastaavan datan esityksen välillä on erilainen objekti kuin salausmenetelmä, johon liittyy salaisuuksia, joita vastustaja ei tunne. Mikä tahansa tapa, jolla muokkaat base64: n käyttöliittymää ja sisäisiä osia asettamaan siihen jonkinlainen avain ja salaus, voidaan ottaa huomioon tavallisessa base64-esitysmuunnoksessa ja jollakin taustalla olevalla salauksella, jonka turvallisuudella ei ole merkitystä base64-osalle. Jos tekisit höyrykäyttöisen Enigma-koneen, sanoisitko, että muutit höyryvoiman käsitteen salausmenetelmäksi?
    • @SqueamishOssifrage Kyllä.

    Vastaa

    Salakirjoituksen kultaisen säännön tulisi olla: ”Se ei ole salattu, koska et osaa lukea tekstiä”. Base64: ää ei ole tarkoitettu salaustekstin luomiseen, eikä sitä tule käyttää siihen.

    Salausmenetelmät luottavat aina salaisuuteen tai esineisiin, jotka varmistavat, että vain viestinnän toimijat voivat kääntää salausteksti. Jos näin ei ole, kuten Base64: ssä, se ei ole salaus.

    Base64 on tarkoitettu koodaamaan binaarinen teksti tekstinä, jolla on useita etuja muihin koodausjärjestelmiin verrattuna. Tietosuoja ei ole näiden etujen joukossa.

    Vastaus

    Kyllä, on kiinnostusta salata ylävirran base64: se on talous Kun salaamme tiedot ja sitten koodaamme ne, meidän on tehtävä ainakin kaksi silmukkaa: yksi tietojen salauksesta ja toinen tuotettujen tietojen koodauksesta. Salaus ylävirtaan voimme pienentää silmukaksi ja siten saada merkittävää suorituskykyä.

    @ e-sushi: Ei todellakaan ole monia esimerkkejä, paitsi tämä, joka käyttää vain yhtä silmukkaa: php_base64encrypted

    On todennäköisesti muita tapoja tehdä paremmin, mutta se osoittaa, että se on mahdollista …

    Muokkaa: anteeksi, en ole kovin perehtynyt tähän sivustoon.

    Kommentit

    • Voitteko antaa esimerkin (linkki paperille tai muuhun) tällaisesta `kiinnostuksesta ylävirran base64: n salaamiseen? Yritin löytää lisätietoja suosikkihakukoneellani , mutta jotenkin epäonnistuin. Osoitin olisi siis paljon sopiva
    • Base64-koodaus on sujuva prosessi (ts. se sallii tietovirran koodaamisen inkrementtisesti sen synnyttyä ’ s ilman, että sinun tarvitsee ensin lukea kaikkia). Siten olisi täysin mahdollista, että tavanomainen salausmenetelmä syöttää lähdönsä inkrementaaliseen base64-kooderiin tarvitsematta ” tehdä vähintään kahta silmukkaa ” tietojen yli. Ainoa syy, miksi tätä ei tehdä ’ t yleisemmin, on luultavasti se, että ’ s yleensä paljon tehokkaammin ohittaa base64-koodauksen kokonaan ja vain lähettää ja / tai tallentaa ne raakana binääridatana.

    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *