SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
aesaes

хеш функция с общо
  предназначение
хеш функция
хеш функция с общо
  предназначение
   (non-cryptographic,
    general purpose)
Hash tables,
         Caches,
      Bloom filters,
Finding duplicate records
MurmurHash3

        популярна такава
   бърза, добро разпределение

https://code.google.com/p/smhasher/
aesaes

       наше откритие
по-бърза, също толкова добра

http://packetscale.com/aesaes
Скорост
Разпределение
неразличимо от случайно

1M 128-битови стойности
в 2М кофи

~224000 кофи с колизии
максимална дълбочина = 7
Псевдокод
state = 0

for b in blocks
       tmp = b
       tmp = tmp.SubBytes.ShiftRows.MixColumns
       tmp = tmp.SubBytes.ShiftRows.MixColumns
       state = state XOR tmp

return state[0]



(прилича на 2 рунда от AES-128; ползва същите примитиви)
IA32 разширение - AES-NI

                 2008
(почти) всички нови процесори от Intel
                и AMD
Лиценз

2-clause BSD
Зов за помощ
сайт и инструменти за разработчици

други варианти на функцията

“avalanche” и “bit bias” тестове

         aesaes@packetscale.com
Благодаря!
(c) 2011, Packetscale

uint32_t
aesaes_string(void *_data, int size)
{
        __m128i                 *v = (__m128i*)_data;
        union __ZZ              tmp, state, key;

       state.v = key.v = _mm_setzero_si128();

       while (size > 0)
       {
               tmp.v = *v;

               v++;
               size -= sizeof( *v );

               tmp.v = _mm_aesenc_si128( tmp.v, key.v );
               tmp.v = _mm_aesenc_si128( tmp.v, key.v );

               state.v ^= tmp.v;
       }

       return state.vals[0];
}

Mais conteúdo relacionado

Destaque

Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)21 Memento
 
I benefici dell'utilizzo dell'Olea europaea (Olivo) in medicina
I benefici dell'utilizzo dell'Olea europaea (Olivo) in medicinaI benefici dell'utilizzo dell'Olea europaea (Olivo) in medicina
I benefici dell'utilizzo dell'Olea europaea (Olivo) in medicinaCreAgri Europe
 
Update on Institutional Identity Management Priorities at SFU
Update on Institutional Identity Management Priorities at SFUUpdate on Institutional Identity Management Priorities at SFU
Update on Institutional Identity Management Priorities at SFUJeremy Rosenberg
 
Hum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideHum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideProfWillAdams
 
Hum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireHum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireProfWillAdams
 
Christmas 2011
Christmas 2011Christmas 2011
Christmas 2011cjling
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Deepak Sharma
 
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenSpring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenJAX London
 
Hum2310 fa2014 exam 4 study guide
Hum2310 fa2014 exam 4 study guideHum2310 fa2014 exam 4 study guide
Hum2310 fa2014 exam 4 study guideProfWillAdams
 
Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014Paul Verwilt
 
Using Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemUsing Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemOpenFest team
 
KTI Perkembangan Smartphone di Jember
KTI   Perkembangan Smartphone di JemberKTI   Perkembangan Smartphone di Jember
KTI Perkembangan Smartphone di Jember21 Memento
 
Arh1000 sp2016 syllabus
Arh1000 sp2016 syllabusArh1000 sp2016 syllabus
Arh1000 sp2016 syllabusProfWillAdams
 
Poultry Planner July 2012
Poultry Planner July 2012Poultry Planner July 2012
Poultry Planner July 2012Manish Arora
 
How to suck at presenting (and how to avoid it)
How to suck at presenting (and how to avoid it)How to suck at presenting (and how to avoid it)
How to suck at presenting (and how to avoid it)Steve Talks
 
Product Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組み
Product Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組みProduct Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組み
Product Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組みshibao800
 

Destaque (20)

Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
Kimia Terapan - Cassace (Cassava Rice/Nasi Singkong)
 
I benefici dell'utilizzo dell'Olea europaea (Olivo) in medicina
I benefici dell'utilizzo dell'Olea europaea (Olivo) in medicinaI benefici dell'utilizzo dell'Olea europaea (Olivo) in medicina
I benefici dell'utilizzo dell'Olea europaea (Olivo) in medicina
 
Update on Institutional Identity Management Priorities at SFU
Update on Institutional Identity Management Priorities at SFUUpdate on Institutional Identity Management Priorities at SFU
Update on Institutional Identity Management Priorities at SFU
 
My day Jordi
My day JordiMy day Jordi
My day Jordi
 
Hum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guideHum2310 sp2016 annotated study guide
Hum2310 sp2016 annotated study guide
 
Deborap
DeborapDeborap
Deborap
 
Hum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaireHum2220 sm2015 proust questionnaire
Hum2220 sm2015 proust questionnaire
 
Christmas 2011
Christmas 2011Christmas 2011
Christmas 2011
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
 
2005 annual report
2005 annual report2005 annual report
2005 annual report
 
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam BrannenSpring Day | Spring 3.1 in a Nutshell | Sam Brannen
Spring Day | Spring 3.1 in a Nutshell | Sam Brannen
 
Hum2310 fa2014 exam 4 study guide
Hum2310 fa2014 exam 4 study guideHum2310 fa2014 exam 4 study guide
Hum2310 fa2014 exam 4 study guide
 
Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014Eerste sessie ondernemersforum Unizo 21 01-2014
Eerste sessie ondernemersforum Unizo 21 01-2014
 
Using Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud SystemUsing Open Source technologies to create Enterprise Level Cloud System
Using Open Source technologies to create Enterprise Level Cloud System
 
KTI Perkembangan Smartphone di Jember
KTI   Perkembangan Smartphone di JemberKTI   Perkembangan Smartphone di Jember
KTI Perkembangan Smartphone di Jember
 
Arh1000 sp2016 syllabus
Arh1000 sp2016 syllabusArh1000 sp2016 syllabus
Arh1000 sp2016 syllabus
 
Poultry Planner July 2012
Poultry Planner July 2012Poultry Planner July 2012
Poultry Planner July 2012
 
How to suck at presenting (and how to avoid it)
How to suck at presenting (and how to avoid it)How to suck at presenting (and how to avoid it)
How to suck at presenting (and how to avoid it)
 
Nickerson east aurora sept 4, 2012
Nickerson east aurora sept 4, 2012Nickerson east aurora sept 4, 2012
Nickerson east aurora sept 4, 2012
 
Product Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組み
Product Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組みProduct Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組み
Product Ownership~NTTデータと楽天それぞれの文脈でのサービスづくり、人づくり、チームづくりの取り組み
 

Mais de OpenFest team

Embedding FreeBSD: for large and small beds
Embedding FreeBSD: for large and small bedsEmbedding FreeBSD: for large and small beds
Embedding FreeBSD: for large and small bedsOpenFest team
 
Why you can charge for open source software
Why you can charge for open source softwareWhy you can charge for open source software
Why you can charge for open source softwareOpenFest team
 
Microinvest Warehouse Open
Microinvest Warehouse OpenMicroinvest Warehouse Open
Microinvest Warehouse OpenOpenFest team
 
Как да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен кодКак да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен кодOpenFest team
 
Електронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напредЕлектронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напредOpenFest team
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDOpenFest team
 
RFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имRFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имOpenFest team
 
Redis the better NoSQL
Redis the better NoSQLRedis the better NoSQL
Redis the better NoSQLOpenFest team
 
Свободни PLC
Свободни PLCСвободни PLC
Свободни PLCOpenFest team
 
Distributed WPA PSK security audit
Distributed WPA PSK security auditDistributed WPA PSK security audit
Distributed WPA PSK security auditOpenFest team
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?OpenFest team
 
Направи си сам суперкомпютър
Направи си сам суперкомпютърНаправи си сам суперкомпютър
Направи си сам суперкомпютърOpenFest team
 
Свободни курсове за обучение
Свободни курсове за обучениеСвободни курсове за обучение
Свободни курсове за обучениеOpenFest team
 
Behaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby StyleBehaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby StyleOpenFest team
 

Mais de OpenFest team (19)

Embedding FreeBSD: for large and small beds
Embedding FreeBSD: for large and small bedsEmbedding FreeBSD: for large and small beds
Embedding FreeBSD: for large and small beds
 
Why you can charge for open source software
Why you can charge for open source softwareWhy you can charge for open source software
Why you can charge for open source software
 
Microinvest Warehouse Open
Microinvest Warehouse OpenMicroinvest Warehouse Open
Microinvest Warehouse Open
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Как да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен кодКак да правим по-добър бизнес с услуги около софтуера с отворен код
Как да правим по-добър бизнес с услуги около софтуера с отворен код
 
Pf sense 2.0
Pf sense 2.0Pf sense 2.0
Pf sense 2.0
 
Електронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напредЕлектронни пари: Пътят до BitCoin и поглед напред
Електронни пари: Пътят до BitCoin и поглед напред
 
Node.social
Node.socialNode.social
Node.social
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSD
 
RFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността имRFID технологии и проблеми със сигурността им
RFID технологии и проблеми със сигурността им
 
Redis the better NoSQL
Redis the better NoSQLRedis the better NoSQL
Redis the better NoSQL
 
initLab
initLabinitLab
initLab
 
Свободни PLC
Свободни PLCСвободни PLC
Свободни PLC
 
Distributed WPA PSK security audit
Distributed WPA PSK security auditDistributed WPA PSK security audit
Distributed WPA PSK security audit
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?
 
Направи си сам суперкомпютър
Направи си сам суперкомпютърНаправи си сам суперкомпютър
Направи си сам суперкомпютър
 
Свободни курсове за обучение
Свободни курсове за обучениеСвободни курсове за обучение
Свободни курсове за обучение
 
Emacs reborn
Emacs rebornEmacs reborn
Emacs reborn
 
Behaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby StyleBehaviour-Driven Development, Ruby Style
Behaviour-Driven Development, Ruby Style
 

Aesaes