Documente Academic
Documente Profesional
Documente Cultură
Panama este o criptografie primitiv care poate fi folosit att ca o funcie hash i un
cifru flux. Pe baza StepRightUp, a fost proiectat de Joan Daemen i Craig Clapp i
prezentate n hrtie Rapid hash i Stream Criptare cu PANAMA pe Encryption
Software Fast (FSE) conferinta 1998. Cifrul a influenat o serie de alte modele, de
exemplu Mugi.
Primitiva poate fi folosit att ca o funcie hash i un cifru flux.Cifrul curent utilizeaz
o cheie de 256 de bii i performana cifrului este foarte bun ajunge la 2 cicluri pe
octet.
Panama este un modul criptografic, care poate fi folosit att ca o funcie hash
criptografic i cifru flux. Acesta este conceput pentru a fi foarte eficient n
implementri de software pe arhitecturi pe 32 de bii. Operaiunile sale de baz sunt
pe cuvinte de 32 de bii.
O aplicaie tipic pentru Panama ar putea fi criptare sau decriptare a datelor videorata n aplicaii de acces condiionat (Pay TV, de exemplu). Set-top box i televizoare
digitale includ din ce n ce procesoare media pentru decodare video comprimat i
pentru efectuarea altor sarcini de calcul intensiv-procesare a imaginii. Acesta este
un spaiu n care aplicaie rate de date sunt mari, procesoare de nalt performan
sunt din ce n ce susceptibile de a fi prezent, i decriptare trebuie s se fac (fr a
mpovra n mod nejustificat un procesor deja puternic ncrcate).
Principii de proiectare de baz
Panama este bazat pe o main de stat finit cu o stare 544-bit i tampon 8192-bit.
Statul i buffer poate fi actualizat prin efectuarea o repetare. Exist dou moduri
pentru funcia de repetare:
Sistem de criptare curent Panama este iniializat de a face dou iteraii mpingei
pentru a injecta parametrul cheie i diversificarea, urmat de un numr de iteraii Pull
goale pentru a permite cheia i parametrul fi difuzat n tampon i de stat. Dup
aceast iniializare, sistemul este gata de a genera biti de chei de la petrecere a
timpului liber prin efectuarea de iteraii tragere.
specificaie
Statul este notat cu un [17] i este format din 17 (32-bit) adugai o [0] ntr-o
[16].Tampon b [32] [8] este un registru de deplasare de feedback liniar cu 32 de
etape, fiecare constnd din opt cuvinte de 32 de bii. Cele trei moduri posibile
pentru modulul Panama sunt:
Mod de Push, n care se aplic o intrare de intrare opt cuvnt [8] i nu exist nici o
ieire.
Modul Tragei, n care nu exist nici o intrare i o ieire z opt cuvnt [8] este livrat.
Operaia de actualizare tampon este definit dup cum urmeaz: S b [32] [8] fie
coninutul buffer nainte de operaie de actualizare i B [32] [8] dup ea. n modul
mpingei n exemplul 1 (a), q [8] este INP bloc de intrare [8]; n mod Tragei, aceasta
este parte a statului n a [17], cu opt cuvinte care l compun date de Exemplul 1 (b).
Transformarea actualizare de stat este definit astfel: Fie a [17] este starea nainte de
aplicarea de transformare i A [17], dup el. In exemplul 2 (a), <<< denot
schimbare ciclic la stnga. n modul Push, p [8] valabil pentru intrarea INP [8], n
timp ce n modul Tragei face parte din tampon B [32] [8], cu opt cuvinte care l
compun date de Exemplul 2 (b). In modul de extragere, z ieire [8] este format din
opt cuvinte de stat, nainte de aplicarea operaiunii de actualizare; a se vedea
Exemplul 2 (c).
Garniture. M este convertit ntr-un ir M "cu o lungime care este un multiplu de 256
prin adugarea unui singur 1, urmat de un numr de 0 d-bii cu 0 <= d <256.
Repetare.Secven de intrare M '= m1 m2 ... mV este ncrcat n modulul Panama
conform tabelului 1.
Dup ce toate blocurile de intrare au fost ncrcate, se efectueaz nc 32 de iteraii
Pull goale. Apoi, rezultatul Hash este returnat. Numrul de mpinge i trage iteraii a
hash-o secven de intrare V-bloc este V + 33.
Panama poate fi transformat ntr-un MAC securizat prin simpla inclusiv o cheie
secret n intrare de mesaje.
Schema de criptare Stream Panama
Cifrul curent este iniializat de ctre nti ncrcarea 256-bit cheie K, 256-bit
parametru diversificarea Q, i efectuarea 32 suplimentare iteraii Pull goale. n
timpul de generare a cheii-curent, un bloc de opt cuvnt z este livrat la ieirea
pentru fiecare repetare. n practic, parametrul diversificare permite resincronizare
frecvent fr a fi nevoie de a schimba tasta. Tabelul 2 prezint schema de secven
a sistemului de criptare curent Panama.
Aspecte de implementare
Dependena grele Panama pe operaii logice de bii nelept face bine-potrivite
pentru punerea n aplicare pe 8-, 16- procesoare, 32, sau 64 de bii, cu excepia
utilizarea sa de rotaii pe 32 de bii este n favoarea oarecum arhitecturi pe 32 de
bii.
De exemplu, pe cele mai multe procesoare rezultatul unei operaii simple, cum ar fi
adunarea sau XOR, poate fi utilizat n ciclul urmtor; aceste instruciuni se spune c
au o laten-un ciclu. La procesoarele moderne de nalt performan, este de
asemenea comun pentru schimburi i se rotete pentru a fi instruciuni singur ciclu.
Cu toate acestea, citind din memorie dureaz cteva cicluri. Chiar i atunci cnd
datele sunt n cache local CPU-l sufer de obicei o cu dou sau trei cicluri laten
pe procesoare moderne, profund conductor.
Calea de software critic Panama este prin transformarea actualizarea public, a crui
intrare este de ieire de iteraie precedente. Fiecare cuvnt a statului n asum
apte instruciuni ciclu de single-: patru XORs, unul sau, nu, iar o schimbare ciclic
(cu excepia cuvntului unrotated). Prin fuziunea operaiunile XOR ale straturilor de
difuzie i tampon de injecie, acestea pot fi implementate cu o adncime logic a
dou (nu trei). Prin urmare, drumul critic este de doar ase cicluri.
n modul Pull, o suplimentare de opt citete, opt XORs, iar opt scrierile sunt necesare
pentru criptarea buffer de date. Astfel, ignornd pentru moment cteva instruciuni
suplimentare necesare pentru punerea n aplicare a bucla i meninerea indicii n
tampoane de date, avem un volum de munc de 191 de instruciuni pentru fiecare
repetare a Push i 218 pentru fiecare tragere. Acest lucru este echivalent cu
aproximativ ase instruciuni pe octet distribuit, sau 6,8 instructiuni pe cifrate octet.
Pentru punerea n aplicare evaluate, Push i Pull rutine s-au exprimat ca fiecare
complet derulate cod inline C, lsnd compilatorul C Trimedia s recunoasc i s
exploateze suprapunerea admisibil ntre diferitele etape, care alctuiesc
transformarea actualizare de stat.
n C, utilizarea de indicii pentru a accesa memoria poate duce de multe ori la situaii
n care compilatorul nu poate fi sigur c memoria accesate printr-un singur indicator
nu este ceea ce este, de asemenea, accesat printr-un alt pointer. O astfel de aliasing
poate limita sever cantitatea de paralelism disponibil pentru compilator a exploata i
este de multe ori neintenionat din partea programatorului, deoarece standard de C
este limitat n capacitatea sa de a-i exprima adevratele constrngerile aliasing.
Adresele compilator Trimedia aceast problem prin adoptarea sintaxa indicatorul
restricionat propus de numeric C Extensii Grupul ANSI X3J11 (a se vedea
http://www.lysator.liu.se/c/restrict.html). Dac este cazul, codul de referin Panama
folosit indicii restrnse.
lucru este mai puin frecvent rapid printre cifrurilor flux. Pentru comparaie, alte
dou cifrurilor software rapid recunoscute - RC4 (a se vedea criptografice aplicate,
ediia a doua, de Bruce Schneier, John Wiley & Sons, 1996) i SEAL (a se vedea "Un
software optimizat de criptare algoritm", de P. Rogaway i D . cldrarul n criptare
software Rapid, LNC 809, editat de R. Anderson, Springer Verlag-, 1994) sunt
raportate ca fiind capabil s 10,6 cicluri pe byte si 3,5 cicluri pe octet, sau 75 Mbii /
s i 230 de Mbii / sec, respectiv, cnd evaluate n aceleai condiii (a se vedea CSK
Clapp lui "Optimizarea unui Stream Cipher rapid pentru VLIW, SIMD, i superscalar
Procesoare," n criptare software Rapid, LNC 1267, editat de E. Biham, Springer
Verlag-, 1997). Panama este, de asemenea, uor mai rapid pe acest procesor dect
variantele Wake (de asemenea descrise n hrtie Clapp lui).
n special, Panama atinge avantajul vitez nu de a avea cel mai mic factorul de lucru
ntre aceste cifruri. Mai degrab, avantajul vitezei Panama vine din gradul
substanial de paralelism prezente n algoritmul, un atribut care poate fi bine
exploatat de ctre un procesor VLIW, cum ar fi Trimedia, i ar trebui s fac s
strluceasc pe Merced Intel.
RIPEMD-160
RIPEMD (RACE Integritate Primitives Evaluare mesaj Digest) este o familie de funcii
hash criptografice dezvoltate n Leuven, Belgia, de Hans Dobbertin, Antoon
Bosselaers i Bart Preneel la grupul de cercetare osi la Katholieke Universiteit
Leuven, i publicat pentru prima dat n 1996. RIPEMD a fost bazeaz pe principiile
de proiectare utilizate n MD4, i este similar n performan a mai popular SHA-1.
RIPEMD-160 este un mbuntit, versiune 160-bit original RIPEMD, iar cel mai
frecvent versiunea n familie. RIPEMD-160 a fost proiectat n comunitatea academic
deschis, n contrast cu ANS proiectat SHA-1 i SHA-2 algoritmi. Pe de alt parte,
RIPEMD-160 pare a fi utilizate oarecum mai puin frecvent dect SHA-1, care poate fi
fcut s fie mai mic controlate SHA. RIPEMD-160 nu este cunoscut a fi constrns
prin orice patente.
La fel ca 160-bit, exist, de asemenea, 128, 256 i 320 de bii versiuni ale acestui
algoritm, numit RIPEMD-128, RIPEMD-256, i RIPEMD-320, respectiv. Versiunea pe
128 de bii a fost destinat doar ca un nlocuitor drop-in pentru original RIPEMD, care
a fost, de asemenea, pe 128 de bii, i care a fost dovedit a avea securitate
discutabil. Versiunile 256 i 320 de bii diminua doar sansa de coliziune accidentale,
i nu au niveluri mai ridicate de securitate (mpotriva atacurilor preimage) fa de,
respectiv, RIPEMD-128 i RIPEMD-160.
n august 2004, o coliziune a fost raportat pentru RIPEMD iniial. [1] Aceasta nu se
aplic la RIPEMD-160. [2]