BEAN on symmetrinen synkroninen virran salausalgoritmi , joka perustuu Grain -algoritmiin . Se edustaa niin kutsuttuja "kevyitä" salauksia, eli ne keskittyvät laitteistototeutukseen laitteissa, joissa on rajoitettu laskentateho, vähän muistia ja alhainen virrankulutus (esimerkiksi RFID-tunnisteet tai anturiverkot ). Sitä ehdottivat vuonna 2009 Navi Kumar , Srikanta Oiha , Kritika Jain ja Sangita Lal [1] .
Symmetrisissä suoratoistoalgoritmeissa salaus (tai salauksen purku) tapahtuu gamma -menetelmällä , toisin sanoen satunnaisen bittisekvenssin (gamma) "päällystyksellä" tavalliselle tekstille (tai salatekstille, vastaavasti). "Peitto" viittaa XOR -operaatioon gamma- ja tekstibitillä. Pelisekvenssi, jota kutsutaan myös avainvirraksi (avainvirraksi), saadaan käyttämällä näennäissatunnaislukugeneraattoreita [2] .
Kuten Grain , BEAN koostuu kahdesta 80-bittisestä siirtorekisteristä ja lähtöfunktiosta . Mutta kun Grain käyttää yhtä lineaarista palauterekisteriä (LFSR) ja yhtä epälineaarista palautefunktiorekisteriä (NFSR), BEAN käyttää kahta siirtopalauterekisteriä (FCSR ) [3] . LFSR:ää käytetään Grainissa sekvenssin suuremman ajanjakson ajan ja NFSR:ää epälineaarisuuden vuoksi. BEANin FCSR yhdistää nämä molemmat ominaisuudet ja pysyy samalla kompaktina laitteistotasolla [4] .
Molemmissa rekistereissä seuraava kirjoitettava bitti on yhtä suuri kuin rekisterisolujen kaikkien väliottojen modulo 2 summa . Tällaista toteutusta kutsutaan Fibonacci -konfiguraatioksi . Kun taas Grainissa rekisterit toteutetaan Galois -konfiguraation mukaan, eli viimeinen 79. bitti kirjoitetaan muuttumattomana 0. paikkaan ja edellisen th:n ja 79. solun tapin summa modulo 2 kirjoitetaan jokaiseen seuraavaan. solu [5] .
Molemmat rekisterit ovat 80 bitin pituisia. Nimetään ne FCSR-I:ksi ja FCSR-II:ksi ja niiden tilat -: nneksi sykliksi ja vastaavasti [6] :
FCSR-I
FCSR-I:n takaisinkytkentäfunktio saadaan 80. asteen primitiivisestä polynomista [7] :
eli FCSR-I-tilan päivitys seuraavan syklin aikana näyttää tältä [6] :
FCSR II
Vastaavasti FCSR-II:n palautefunktio [8] on:
Tilapäivitys [6] :
Boolen funktiota käytetään luomaan gamma . Algoritmin laatijat asettavat sen käyttämällä S-laatikkoa , joka ottaa syötteenä 6 bittiä (2 bittiä määrittelee rivin ja 4 bittiä sarakkeen) ja palauttaa 4 bitin sanan [9] . Mutta koska sanasta on otettu vain viimeinen bitti, se voidaan esittää Zhegalkin-polynomina [6] :
Gammabitit löytyvät seuraavasti [10] :
Näin ollen yhdessä syklissä generoidaan kaksi bittiä kerralla.
Alustus tapahtuu lataamalla 80-bittinen avain FCSR-I- ja FCSR-II-rekistereihin:
Siirtorekisterit alustetaan nollaan: .
Sitten FCSR tekee 81 tyhjäkäyntijaksoa, jonka jälkeen alkaa gammagenerointi [11] .
BEAN löytää hyvän tasapainon turvallisuuden, nopeuden ja käyttöönottokustannusten välillä. Grain voi tuottaa kaksi gammabittiä kelloa kohden käyttämällä lisälaitteita. BEAN selviää tästä tehtävästä ilman lisälaitteita [12] .
Algoritmin [13] tekijöiden mukaan bittien luominen BEANilla on keskimäärin 1,5 kertaa nopeampaa kuin Grainilla ja muistin kulutus vähenee 10 %.
Tärkeä tavoite kryptografisen algoritmin kehittämisessä on saavuttaa lumivyöryefekti , joka tarkoittaa, että kun yksi bitti avaimesta (plaintext) muuttuu, vähintään puolet gamman (salateksti) biteistä muuttuu. BEANin ja Grainin vertailua varten otettiin 1 000 000 satunnaista 80-bittistä avainta ja kullekin avaimelle luotiin 80 bittiä gammaa molempia algoritmeja käyttäen. Kirjoittajien mukaan BEANissa 65,3 %:lla avaimista vastaanotetut bitit täyttävät lumivyöryefektin ehdot, kun taas Grainissa tämä osuus on 63,1 % [11] .
Algoritmia testattiin myös NIST-tilastotesteillä , jotka eivät osoittaneet generoidun avainvirran poikkeamaa satunnaisesta sekvenssistä [14] .
Vuonna 2011 Martin Agren ja Martin Hell huomauttivat artikkelissaan päättelyfunktion epäoptimaalisuudesta. He ehdottivat tehokasta erottelualgoritmia BEANille sekä avainten palautushyökkäysalgoritmia , joka on jonkin verran nopeampi kuin tyhjentävä haku ( vs. tyhjentävä haku ehdotetussa algoritmissa ) eikä vaadi muistia [15] .
Vuonna 2013 samat kirjoittajat löysivät yhteistyössä Hui Wongin ja Thomas Johanssonin kanssa uusia korrelaatioita avainbittien ja gammabittien välillä, mikä johti entistä tehokkaampaan avainten palautushyökkäysalgoritmiin ( ). Lisäksi FCSR:ään on ehdotettu joitain parannuksia sekä tehokkaampia päättelytoimintoja, jotka kestävät tunnettuja hyökkäysmenetelmiä [16] .
Kuten monet "kevyt" salausalgoritmit, BEAN löytää sovelluksensa RFID - tunnisteissa, langattomissa anturiverkoissa sekä sulautetuissa järjestelmissä [17] .